summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-spirv.cpp
diff options
context:
space:
mode:
authorArielG-NV <159081215+ArielG-NV@users.noreply.github.com>2025-06-28 21:15:48 -0700
committerGitHub <noreply@github.com>2025-06-29 04:15:48 +0000
commit67af8c718ce5e3f95a25e5188840f63b41a33ecc (patch)
treebf5d1c7309e136223f1c62a5ec7d215274445b0c /source/slang/slang-emit-spirv.cpp
parent7349dc5cff49cf22c82eb912813e47f30cd7a757 (diff)
Support the GLSL/SPIR-V Built-in variable `DeviceIndex` (#7552)
* Support DeviceIndex * format code * regenerate command line reference --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Diffstat (limited to 'source/slang/slang-emit-spirv.cpp')
-rw-r--r--source/slang/slang-emit-spirv.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp
index 82fb39d7d..0a3eb2bf1 100644
--- a/source/slang/slang-emit-spirv.cpp
+++ b/source/slang/slang-emit-spirv.cpp
@@ -6023,6 +6023,12 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex
requireSPIRVCapability(SpvCapabilityDrawParameters);
return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInDrawIndex, inst);
}
+ else if (semanticName == "sv_deviceindex")
+ {
+ ensureExtensionDeclaration(UnownedStringSlice("SPV_KHR_device_group"));
+ requireSPIRVCapability(SpvCapabilityDeviceGroup);
+ return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInDeviceIndex, inst);
+ }
else if (semanticName == "sv_primitiveid")
{
auto entryPoints = m_referencingEntryPoints.tryGetValue(inst);