summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-emit-spirv.cpp
diff options
context:
space:
mode:
authorDarren Wihandi <65404740+fairywreath@users.noreply.github.com>2024-12-20 01:00:20 -0500
committerGitHub <noreply@github.com>2024-12-19 22:00:20 -0800
commita00db74d1afa717dd90dfcf3170c63d0d1c0d3d7 (patch)
tree0e286826852990c9fb5b4e531a5b3eeb1da48f96 /source/slang/slang-emit-spirv.cpp
parent2e9605e79c64315ecad7ae8297d996ae2ed4687b (diff)
Add base vertex and base instance system values (#5918)
* Add base vertex and base instance system values * Fixed incorrect stage in tests
Diffstat (limited to 'source/slang/slang-emit-spirv.cpp')
-rw-r--r--source/slang/slang-emit-spirv.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp
index 63ebfcf6e..51ff9066c 100644
--- a/source/slang/slang-emit-spirv.cpp
+++ b/source/slang/slang-emit-spirv.cpp
@@ -5303,6 +5303,16 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex
SpvBuiltInShadingRateKHR,
inst);
}
+ else if (semanticName == "sv_startvertexlocation")
+ {
+ requireSPIRVCapability(SpvCapabilityDrawParameters);
+ return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInBaseVertex, inst);
+ }
+ else if (semanticName == "sv_startinstancelocation")
+ {
+ requireSPIRVCapability(SpvCapabilityDrawParameters);
+ return getBuiltinGlobalVar(inst->getFullType(), SpvBuiltInBaseInstance, inst);
+ }
SLANG_UNREACHABLE("Unimplemented system value in spirv emit.");
}
}