glslang-zig/hlsl
LoopDawg 73c57bbe50 HLSL: split textures used for both shadow and non-shadow modes
A single texture can statically appear in code mixed with a shadow sampler
and a non-shadow sampler.  This would be create invalid SPIR-V, unless
one of them is provably dead.

The previous detection of this happened before DCE, so some shaders would
trigger the error even though they wouldn't after DCE.  To handle that
case, this PR splits the texture into two: one with each mode.  It sets
"needsLegalization" (if that happens for any texture) to warn that this shader
will need post-compilation legalization.

If the texture is only used with one of the two modes, behavior is as it
was before.
2017-10-06 11:23:16 -06:00
..
CMakeLists.txt Merge pull request #969 from d3x0r/patch-1 2017-07-04 11:00:42 -06:00
hlslAttributes.cpp HLSL: Additional attribute support: [[]], namespace, parameters: 2017-09-30 14:34:50 -06:00
hlslAttributes.h HLSL: Additional attribute support: [[]], namespace, parameters: 2017-09-30 14:34:50 -06:00
hlslGrammar.cpp HLSL: add subpass input types and methods 2017-10-02 12:46:55 -06:00
hlslGrammar.h HLSL: add subpass input types and methods 2017-10-02 12:46:55 -06:00
hlslOpMap.cpp HLSL: Add scoping operator, accept static member functions, and support calling them. 2017-03-11 14:13:00 -07:00
hlslOpMap.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseables.cpp HLSL: add subpass input types and methods 2017-10-02 12:46:55 -06:00
hlslParseables.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseHelper.cpp HLSL: split textures used for both shadow and non-shadow modes 2017-10-06 11:23:16 -06:00
hlslParseHelper.h HLSL: split textures used for both shadow and non-shadow modes 2017-10-06 11:23:16 -06:00
hlslScanContext.cpp HLSL: add subpass input types and methods 2017-10-02 12:46:55 -06:00
hlslScanContext.h HLSL: Non-functional: the symbol field of a token was in practice unused; remove it. 2017-03-21 18:36:04 -06:00
hlslTokens.h HLSL: add subpass input types and methods 2017-10-02 12:46:55 -06:00
hlslTokenStream.cpp HLSL: Member-functions: capture body token stream for deferred syntax/semantics. 2017-03-11 19:37:29 -07:00
hlslTokenStream.h Merge branch 'TiemoJung-semantic_handling' 2017-03-14 22:44:24 -06:00