glslang-zig/hlsl
LoopDawg 1326b8c754 HLSL: Allow stream output Append() method after entry point.
Append() method is special: unlike most outputs, it does not copy
some temporary data to a symbol in the entry point epilogue, but
rather uses an emit builtin after each write to the output stream.

This had been handled by remembering the special output symbol for
the stream as it was declared in the shader entry point before
symbol sanitization.  However the prior code was too simple and
only handled cases where the Append() method happened after the
entry point, so that the output symbol had been seen.

This PR adds a patching step so that the Append()s may appear in
any order WRT the entry point.  They are patched in an epilogue,
whereupon it is guaranteed in a well formed shader that we have
seen the appropriate declaration.

Fixes #1217.
2018-05-15 15:13:09 -06:00
..
CMakeLists.txt Fixed install for SPIRV, glslang, and hlsl when building shared libs 2018-04-26 14:07:46 -05:00
hlslAttributes.cpp HLSL: Refactor attribute implementation. 2018-02-01 00:30:34 -07:00
hlslAttributes.h HLSL: Refactor attribute implementation. 2018-02-01 00:30:34 -07:00
hlslGrammar.cpp Non-functional. Rationalizations enabling future generalizations: 2018-03-28 18:01:20 -06:00
hlslGrammar.h HLSL: Refactor attribute implementation. 2018-02-01 00:30:34 -07: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 WaveReadLaneFirst is the correct wording (was using WaveReadFirstLane previously...). 2018-03-07 17:04:20 +00:00
hlslParseables.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseHelper.cpp HLSL: Allow stream output Append() method after entry point. 2018-05-15 15:13:09 -06:00
hlslParseHelper.h HLSL: Allow stream output Append() method after entry point. 2018-05-15 15:13:09 -06:00
hlslScanContext.cpp HLSL: Correct some mistakes for min16 types 2018-03-12 23:15:11 +08: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: Correct some mistakes for min16 types 2018-03-12 23:15:11 +08: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