diff options
| -rw-r--r-- | source/slang/slang-ir-spirv-legalize.cpp | 4 | ||||
| -rw-r--r-- | tests/expected-failure.txt | 1 |
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) |
