summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-ir-spirv-legalize.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/slang/slang-ir-spirv-legalize.cpp b/source/slang/slang-ir-spirv-legalize.cpp
index 393b907f7..1590f94c8 100644
--- a/source/slang/slang-ir-spirv-legalize.cpp
+++ b/source/slang/slang-ir-spirv-legalize.cpp
@@ -184,7 +184,7 @@ struct SPIRVLegalizationContext : public SourceEmitterBase
// just prior to the block.
const auto asmBlock = spirvAsmOperand->getAsmBlock();
builder.setInsertBefore(asmBlock);
- auto loadedValue = builder.emitLoad(addrInst);
+ auto loadedValue = builder.emitLoad(addr);
builder.setInsertBefore(spirvAsmOperand);
auto loadedValueOperand = builder.emitSPIRVAsmOperandInst(loadedValue);
spirvAsmOperand->replaceUsesWith(loadedValueOperand);
@@ -210,6 +210,8 @@ struct SPIRVLegalizationContext : public SourceEmitterBase
return true;
if (as<IRSamplerStateTypeBase>(type))
return true;
+ if (const auto arr = as<IRArrayTypeBase>(type))
+ return isSpirvUniformConstantType(arr->getElementType());
switch (type->getOp())
{
case kIROp_RaytracingAccelerationStructureType: