You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I 17:28:15.534 8.525s run_tests_on_device(36081FDJG0007P) ERR: vk_renderer.cpp:822 (DebugUtilsMessenger): [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Validation Error: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x7af12b40d0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle = 0x240000000024, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x4dae5635 | vkQueueSubmit(): pSubmits[0].pCommandBuffers[0] command buffer VkCommandBuffer 0x7af12b40d0[] expects VkImage 0x240000000024[] (subresource: aspectMask 0x1 array layer 0, mip level 0) to be in layout VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL--instead, current layout is VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR.
I 17:28:15.534 8.525s run_tests_on_device(36081FDJG0007P) <Command Buffer Label Hierarchy:>
I 17:28:15.534 8.525s run_tests_on_device(36081FDJG0007P) Render pass closed due to eglSwapBuffers()
I 17:28:15.534 8.526s run_tests_on_device(36081FDJG0007P) Object: 0x7af12b40d0 (type = Command Buffer(6))
I 17:28:15.534 8.526s run_tests_on_device(36081FDJG0007P) Object: 0x240000000024 (type = Image(10))
What happened is that the test creates a single buffer context. Since it only has one buffer for both render and present, we always immediately put it in VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR. Then when we render to it, we got the above VVL error. According to vulkan spec
6) What should the layout of the shared presentable image be?
RESOLVED: After acquiring the shared presentable image, the application must transition it to the VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR layout prior to it being used. After this initial transition, any image usage that was requested during swapchain creation can be performed on the image without layout transitions being performed.
And we always use these usage flags when creating swapchain images
Environment:
Describe the Issue
This is reproduced with ANGLE's end2end test
Build ANGLE
This is what I have for Default
$ more out/Default/args.gn
Install ANGLE
Build end2end tests
Run the test
You see this VVL error:
What happened is that the test creates a single buffer context. Since it only has one buffer for both render and present, we always immediately put it in VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR. Then when we render to it, we got the above VVL error. According to vulkan spec
And we always use these usage flags when creating swapchain images
Which includes VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, which means it should be correct.
I think VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR should be excluded from this check.
The text was updated successfully, but these errors were encountered: