diff options
| author | Ellie Hermaszewska <ellieh@nvidia.com> | 2023-08-08 00:18:44 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-08 00:18:44 +0800 |
| commit | 846286bc8868cfd13bfad23288c25feab28c2a47 (patch) | |
| tree | 339b861f9d2a7c8c23ad8bf8cd22d619b1e0132f | |
| parent | 550396fde5c18ea19761bcd5d4148dc590aac3e1 (diff) | |
sv_groupindex support for spirv (#3060)
| -rw-r--r-- | source/slang/slang-emit-spirv.cpp | 4 | ||||
| -rw-r--r-- | source/slang/slang-ir-spirv-legalize.cpp | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index 7352cd859..f63d2e417 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -2051,6 +2051,10 @@ struct SPIRVEmitContext { return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInGlobalInvocationId); } + else if (semanticName == "sv_groupindex") + { + return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInLocalInvocationIndex); + } } } return nullptr; diff --git a/source/slang/slang-ir-spirv-legalize.cpp b/source/slang/slang-ir-spirv-legalize.cpp index b0199a760..a0183d93f 100644 --- a/source/slang/slang-ir-spirv-legalize.cpp +++ b/source/slang/slang-ir-spirv-legalize.cpp @@ -67,6 +67,10 @@ struct SPIRVLegalizationContext : public SourceEmitterBase { storageClass = SpvStorageClassInput; } + else if (semanticName == "sv_groupindex") + { + storageClass = SpvStorageClassInput; + } } } // Make a pointer type of storageClass. |
