summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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.