summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-spirv.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-08-25 08:49:02 -0700
committerGitHub <noreply@github.com>2023-08-25 23:49:02 +0800
commit036abc85ba1db9c8c06289f0a0492e9a95a228b9 (patch)
treee497168c36e95190a6d8b4dae9f483f27e5aa2cd /source/slang/slang-emit-spirv.cpp
parent0470ea05a42d6c3f35d81a433fefdd440500cdbd (diff)
Support SPIRV Capability declaration on intrinsic functions. (#3150)
* Spirv Capability lookup. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-emit-spirv.cpp')
-rw-r--r--source/slang/slang-emit-spirv.cpp18
1 files changed, 3 insertions, 15 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp
index 0878b3494..29114424d 100644
--- a/source/slang/slang-emit-spirv.cpp
+++ b/source/slang/slang-emit-spirv.cpp
@@ -3805,27 +3805,15 @@ struct SPIRVEmitContext
void handleRequiredCapabilitiesImpl(IRInst* inst)
{
- // TODO: declare required SPV capabilities.
-
for (auto decoration : inst->getDecorations())
{
switch (decoration->getOp())
{
default:
break;
-
- case kIROp_RequireGLSLExtensionDecoration:
- {
- break;
- }
- case kIROp_RequireGLSLVersionDecoration:
- {
- break;
- }
- case kIROp_RequireSPIRVVersionDecoration:
- {
- break;
- }
+ case kIROp_RequireSPIRVCapabilityDecoration:
+ requireSPIRVCapability((SpvCapability)getIntVal(decoration->getOperand(0)));
+ break;
}
}
}