Robert Konrad
3f74503aca
Prefer plain texture2D in legacy es vertex shaders
...
WebGL supports lod texture funcs only in fragment
shaders but SPIR-V supports only lod texture funcs
in vertex shaders. This reverts calls which were
forced (infered from using a 0 constant) to use
an lod to plain calls in vertex shaders when
using legacy es.
2017-03-23 10:11:45 +01:00
Hans-Kristian Arntzen
eb6a415d4c
Run format_all.sh.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
a0a582dd04
Do not emit interpolation qualifiers to static globals.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
b8bda45802
Add test case for interpolation qualifiers in HLSL.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
3eed439643
Run format.sh.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
439fa9f4a2
Handle I/O blocks separately from regular inputs and outputs.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
784a23b92a
Add instancing test to HLSL.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
a4aa89e992
Add test for fragment builtins like gl_FragDepth/gl_FragCoord.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
61c31c6054
Make use of explicit locations in HLSL.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
2ebe1a87a1
Run format_all.sh.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
bdea1a444a
Begin rewriting how HLSL deals with inputs and outputs.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
099f307123
Add traversal for active builtin variables.
...
Refactor some ugly type-copying for access chains.
2017-03-21 13:48:28 +01:00
Bill Hollings
dc69427402
Updates to MSL functionality to support PR review feedback.
2017-03-11 12:17:22 -05:00
Bill Hollings
484931d8b2
spirv_msl auto-alignment of members of MSL uniform structs.
...
spirv_msl optionally add padding and packing to allow MSL
struct members to align with SPIR-V struct alignments.
spirv_cross add convenience methods for testing Decorations.
spirv_glsl replace member_decl() function with new emit_stuct_member().
Allow struct member types to be marked as packed via DecorationCPacked decoration.
2017-02-28 21:44:36 -05:00
Hans-Kristian Arntzen
bcf2303ba0
Do not emit storage qualifiers for local variables.
...
Metal backend uses local variables to implement global variables.
Do not emit storage qualifiers for any variable which is declared inside
a function.
2017-02-24 11:15:34 +01:00
Syoyo Fujita
29179f746a
Fix build when SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS=On.
2017-02-03 13:54:35 +09:00
Robert Konrad
f7eecd7b82
Correct HLSL vector types properly
2017-01-27 17:02:59 +01:00
Robert Konrad
2da32f717d
Remove obsolete transpose op functions for HLSL
2017-01-27 16:51:50 +01:00
Robert Konrad
757d5dd65a
Correct vector type names in HLSL
2017-01-27 16:49:13 +01:00
Robert Konrad
3c3abbf788
Avoid transposing matrices in HLSL
2017-01-27 16:29:59 +01:00
Robert Konrad
048293198b
Add optional y vertex flip for HLSL
2017-01-27 15:55:39 +01:00
Robert Konrad
532877f6f5
Make clipspace fixing in HLSL optional
2017-01-27 15:52:47 +01:00
Robert Konrad
41cd852845
Update (c) and msvc project
2017-01-26 15:33:49 +01:00
Robert Konrad
a52846b045
Fix warnings in spirv_hlsl.cpp
2017-01-26 12:02:31 +01:00
Robert Konrad
9ec45fae51
Format code
2017-01-24 09:25:38 +01:00
Robert Konrad
c3268c9410
Do not output layouts for uniforms in HLSL
2017-01-24 09:23:22 +01:00
Robert Konrad
99469f0690
Convert uniform buffer blocks to cbuffers
2017-01-24 09:17:43 +01:00
Robert Konrad
40e5d1e7f7
Format code
2017-01-23 14:49:32 +01:00
Robert Konrad
51835af124
Fix HLSL fragment shaders
2017-01-23 14:41:34 +01:00
Robert Konrad
d3a8ea33b8
Support modern GLSL->HLSL for vertex shaders
2017-01-23 14:41:20 +01:00
Robert Konrad
451bdeeeff
Fix HLSL binding numbers
2017-01-23 14:40:25 +01:00
Robert Konrad
7e4242fb0b
Use sprintf instead of itoa to fix Mac/Linux
2017-01-23 14:40:13 +01:00
Robert Konrad
ffc590e199
Support matrix attributes in HLSL
2017-01-23 14:39:56 +01:00
Robert Konrad
4a0267e201
Do not intertwine TEXCOORD and POSITION outputs
2017-01-23 14:39:40 +01:00
Robert Konrad
ea24ee8145
Do not splat type contructor arguments in HLSL
2017-01-23 14:39:04 +01:00
Robert Konrad
1a48d7d4fc
Output code for OpFMod in HLSL when required
2016-08-18 12:54:22 +02:00
Robert Konrad
8e9bf1f7af
Implement some common GLSL lib insts in HLSL
...
Because some are the same and some are not.
2016-08-18 12:40:35 +02:00
Robert Konrad
7534b224d9
Add remaining matrix multiplication ops for HLSL
2016-08-18 11:45:50 +02:00
Robert Konrad
f3740a00ee
Support HLSL shader models > 3
2016-08-18 00:51:12 +02:00
Robert Konrad
95a716f7de
Adjust HLSL vertex shader positions
...
Pixel positions (because of D3D9 half-pixel positions)
and depth (adjust to -1/1).
Optionally using D3D11 pixel positions and no depth
adjustment still to do.
2016-08-16 00:27:39 +02:00
Robert Konrad
a896868215
Sort variables in HLSL input/output structs
...
To make binding numbers the same in all
shader stages.
2016-08-15 20:33:10 +02:00
Robert Konrad
da5f99bb6d
Handle matrix times vector ops correctly in HLSL
2016-08-14 23:54:51 +02:00
Robert Konrad
d2b29c900e
Add basic HLSL texture support
2016-08-14 23:09:06 +02:00
Robert Konrad
e9cd04e8ec
Format code
2016-08-14 22:02:38 +02:00
Robert Konrad
80fcf554f9
Handle HLSL input/output
2016-08-14 21:33:32 +02:00
Robert Konrad
096d46f62c
Start supporting proper HLSL type names
2016-08-14 20:28:52 +02:00
Robert Konrad
02fd8e92ab
Use input/output structs for HLSL
2016-08-14 17:58:56 +02:00
Robert Konrad
45270f618f
Start on HLSL using a CompilerGLSL descendant
2016-08-14 16:21:43 +02:00