summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/slang/slang-ir-spirv-legalize.cpp4
-rw-r--r--tests/expected-failure.txt1
2 files changed, 3 insertions, 2 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:
diff --git a/tests/expected-failure.txt b/tests/expected-failure.txt
index e9c855640..a8865dc18 100644
--- a/tests/expected-failure.txt
+++ b/tests/expected-failure.txt
@@ -1,4 +1,3 @@
-tests/optimization/func-resource-result/func-resource-result-complex.slang.1 (vk)
tests/pipeline/rasterization/mesh/task-groupshared.slang.1 (vk)
tests/pipeline/rasterization/mesh/task-simple.slang.1 (vk)
tests/pipeline/rasterization/mesh/simple.slang.1 (vk)