summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Hermaszewska <ellieh@nvidia.com>2023-08-08 00:18:44 +0800
committerGitHub <noreply@github.com>2023-08-08 00:18:44 +0800
commit846286bc8868cfd13bfad23288c25feab28c2a47 (patch)
tree339b861f9d2a7c8c23ad8bf8cd22d619b1e0132f
parent550396fde5c18ea19761bcd5d4148dc590aac3e1 (diff)
sv_groupindex support for spirv (#3060)
-rw-r--r--source/slang/slang-emit-spirv.cpp4
-rw-r--r--source/slang/slang-ir-spirv-legalize.cpp4
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.