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.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| CMakeLists.txt | Loading commit data... | |
| hlslAttributes.cpp | Loading commit data... | |
| hlslAttributes.h | Loading commit data... | |
| hlslGrammar.cpp | Loading commit data... | |
| hlslGrammar.h | Loading commit data... | |
| hlslOpMap.cpp | Loading commit data... | |
| hlslOpMap.h | Loading commit data... | |
| hlslParseHelper.cpp | Loading commit data... | |
| hlslParseHelper.h | Loading commit data... | |
| hlslParseables.cpp | Loading commit data... | |
| hlslParseables.h | Loading commit data... | |
| hlslScanContext.cpp | Loading commit data... | |
| hlslScanContext.h | Loading commit data... | |
| hlslTokenStream.cpp | Loading commit data... | |
| hlslTokenStream.h | Loading commit data... | |
| hlslTokens.h | Loading commit data... |