MESA: Loop breaks can only break out of the inner most nested loop level #13
Open
Description
Running amber -t spv1.3 -v 1.1 inner-loop-break-error.amber
gives the following error:
[ERROR] validation layer (../src/intel/vulkan/anv_pipeline.c:73):
SPIR-V offset 0: SPIR-V parsing FAILED:
In file ../src/compiler/spirv/vtn_cfg.c:449
Loop breaks can only break out of the inner most nested loop level
0 bytes into the SPIR-V binary
SPIR-V parsing FAILED:
In file ../src/compiler/spirv/vtn_cfg.c:449
Loop breaks can only break out of the inner most nested loop level
0 bytes into the SPIR-V binary
[ERROR] validation layer (../src/intel/vulkan/anv_pipeline.c:2134):
VK_ERROR_UNKNOWN
inner-loop-break-error.amber: Vulkan::Calling vkCreateComputePipelines Fail
Summary of Failures:
inner-loop-break-error.amber
Summary: 0 pass, 1 fail
[ERROR] validation layer (Validation):
Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55ae3d602140, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xdcc8fd0000000012, type = VK_OBJECT_TYPE_PIPELINE_LAYOUT; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55ae3d602140[], VkPipelineLayout 0xdcc8fd0000000012[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.204.1/linux/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
I've can reproduce this using the mesa 22.0.1 branch and on main (commit 9f44a264623).
Here is the control flow graph:
inner-loop-break-error.tar.gz