зеркало из https://github.com/stride3d/xkslang.git
0fca0bafaf
Semantic test left over from other source languages is removed, since this is permitted by HLSL. Also, to support the functionality, a targeted test is performed for this case and it is turned into a EvqGlobal qualifier to create an AST initialization segment when needed. Constness is now propagated up aggregate chains during initializer construction. This handles hierarchical cases such as the distinction between: static const float2 a[2] = { { 1, 2 }, { 3, 4} }; vs static const float2 a[2] = { { 1, 2 }, { cbuffer_member, 4} }; The first of which can use a first class constant initalization, and the second cannot. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
hlslAttributes.cpp | ||
hlslAttributes.h | ||
hlslGrammar.cpp | ||
hlslGrammar.h | ||
hlslOpMap.cpp | ||
hlslOpMap.h | ||
hlslParseHelper.cpp | ||
hlslParseHelper.h | ||
hlslParseables.cpp | ||
hlslParseables.h | ||
hlslScanContext.cpp | ||
hlslScanContext.h | ||
hlslTokenStream.cpp | ||
hlslTokenStream.h | ||
hlslTokens.h |