Fix loop continue construct for SPIR-V assembly
authorGraeme Leese <gleese@broadcom.com>
Thu, 18 Aug 2022 14:33:53 +0000 (15:33 +0100)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 25 Aug 2022 16:36:55 +0000 (16:36 +0000)
The multi-block continue construct tests were setting the continue
target to the loop header itself, which is not valid according to the
new structural dominance rules. Set it to the first block inside the
loop instead, which still gives a multi-block continue construct but
also follows the validation rules.

Components: Vulkan
VK-GL-CTS issue: 3896
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.loop.multi_block_continue_construct_*

Change-Id: I7480f6107696ec8587625bfa110aa7478308512f

external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp

index 989ec0b..4b7b4f3 100644 (file)
@@ -9540,7 +9540,7 @@ tcu::TestCaseGroup* createLoopTests(tcu::TestContext& testCtx)
        map<string, string> continue_target;
 
        // The Continue Target is the loop block itself.
-       continue_target["continue_target"] = "%loop";
+       continue_target["continue_target"] = "%if";
        fragments["testfun"] = multiBlock.specialize(continue_target);
        createTestsForAllStages("multi_block_continue_construct", defaultColors, defaultColors, fragments, testGroup.get());