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.
| 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... |