glslang-zig/hlsl
steve-lunarg 40efe5cee8 WIP: HLSL: Fix ordering defect if global SB decl after fn param
This change propagates the storage qualifier from the buffer object to its contained
array type so that isStructBufferType() realizes it is one.  That propagation was
happening before only for global variable declarations, so compilation defects would
result if the use of a function parameter happened before a global declaration.

This fixes that case, whether or not there ever is a global declaration, and
regardless of the relative order.

This changes the hlsl.structbuffer.fn.frag test to exercise the alternate order.

There are no differences to generated SPIR-V for the cases which successfully compiled before.
2017-03-06 12:08:41 -07:00
..
CMakeLists.txt HLSL: implement numthreads for compute shaders 2016-10-31 09:28:17 -06:00
hlslAttributes.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslAttributes.h Add basic HS/DS implementation. 2017-02-10 16:59:09 -07:00
hlslGrammar.cpp WIP: HLSL: Fix ordering defect if global SB decl after fn param 2017-03-06 12:08:41 -07:00
hlslGrammar.h HLSL: Fix #747: accept 'struct' in front of previously user-defined type name. 2017-03-02 14:30:59 -07:00
hlslOpMap.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslOpMap.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseables.cpp HLSL: implement 4 (of 6) structuredbuffer types 2017-02-21 15:51:49 -07:00
hlslParseables.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseHelper.cpp WIP: HLSL: Fix ordering defect if global SB decl after fn param 2017-03-06 12:08:41 -07:00
hlslParseHelper.h HLSL: Fix #747: accept 'struct' in front of previously user-defined type name. 2017-03-02 14:30:59 -07:00
hlslScanContext.cpp HLSL: Add 'class' keyword as (so far) synonym for 'struct'. 2017-03-03 17:01:01 -07:00
hlslScanContext.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslTokens.h HLSL: Add 'class' keyword as (so far) synonym for 'struct'. 2017-03-03 17:01:01 -07:00
hlslTokenStream.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslTokenStream.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00