summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-emit-spirv.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp
index 08f32fa16..769e36861 100644
--- a/source/slang/slang-emit-spirv.cpp
+++ b/source/slang/slang-emit-spirv.cpp
@@ -4776,7 +4776,10 @@ struct SPIRVEmitContext
IRBuilder builder(m_irModule);
builder.setInsertBefore(inst);
- if (auto index = as<IRIntLit>(inst->getIndex()))
+ auto indexOperand = inst->getIndex();
+ if (auto globalValueRef = as<IRGlobalValueRef>(indexOperand))
+ indexOperand = globalValueRef->getValue();
+ if (auto index = as<IRIntLit>(indexOperand))
{
return emitOpCompositeExtract(
parent,