summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-spirv.cpp
diff options
context:
space:
mode:
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 c6aedbe3b..462f408ab 100644
--- a/source/slang/slang-emit-spirv.cpp
+++ b/source/slang/slang-emit-spirv.cpp
@@ -3960,6 +3960,12 @@ struct SPIRVEmitContext
break;
case kIROp_RequireSPIRVCapabilityDecoration:
requireSPIRVCapability((SpvCapability)getIntVal(decoration->getOperand(0)));
+ if (decoration->getOperandCount() == 2)
+ {
+ auto stringLit = as<IRStringLit>(decoration->getOperand(1));
+ if (stringLit->getStringSlice().getLength())
+ ensureExtensionDeclaration(stringLit->getStringSlice());
+ }
break;
}
}