glslang-zig/hlsl
LoopDawg e2cda3c2d7 HLSL: handle clip and cull distance input builtin type conversion
HLSL allows a range of types for clip and cull distances.  There are
three dimensions, including arrayness, vectorness, and semantic ID.
SPIR-V requires clip and cull distance be a single array of floats in
all cases.

This code provides input side conversion between the SPIR-V form and
the HLSL form.  (Output conversion was added in PR #947 and #997).

This PR extends HlslParseContext::assignClipCullDistance to cope with
the input side conversion.  Not as much changed as appears: there was
also a lot of renaming to reflect the fact that the code now handles
either direction.

Currently, non-{frag,vert} stages are not handled, and are explicitly
rejected.

Fixes #1026.
2017-08-24 08:35:40 -06:00
..
CMakeLists.txt Merge pull request #969 from d3x0r/patch-1 2017-07-04 11:00:42 -06:00
hlslAttributes.cpp HLSL: implement [unroll] and [loop] attributes 2017-05-03 13:44:40 -06:00
hlslAttributes.h HLSL: implement [unroll] and [loop] attributes 2017-05-03 13:44:40 -06:00
hlslGrammar.cpp HLSL: add methods to track user structure in texture return type. 2017-08-15 16:40:21 -06:00
hlslGrammar.h HLSL: Translate directive [flatten] and [branch] to SPV control mask. 2017-07-06 11:31:33 +08: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 SPV: When passing structs of opaque types, flatten and pass the members instead. 2017-06-01 18:49:04 -06:00
hlslParseables.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseHelper.cpp HLSL: handle clip and cull distance input builtin type conversion 2017-08-24 08:35:40 -06:00
hlslParseHelper.h HLSL: handle clip and cull distance input builtin type conversion 2017-08-24 08:35:40 -06:00
hlslScanContext.cpp HLSL: handle multiple clip/cull semantic IDs 2017-07-26 11:18:09 -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: Implement half matrices, and map all half* -> float*. 2017-06-06 23:35:25 -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