From 846286bc8868cfd13bfad23288c25feab28c2a47 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Tue, 8 Aug 2023 00:18:44 +0800 Subject: sv_groupindex support for spirv (#3060) --- source/slang/slang-emit-spirv.cpp | 4 ++++ source/slang/slang-ir-spirv-legalize.cpp | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'source') 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. -- cgit v1.2.3