From d3162f97b5adfe61da3e7409ed0bc0845ce8c33d Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A4in=C3=B6=20M=C3=A4kel=C3=A4?= Date: Sat, 19 Nov 2022 21:23:27 +0200 Subject: [PATCH] hasvk: Mark VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL as stencil write optimal VK_KHR_synchronization2 added VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, which was not previously recognized by vk_image_layout_stencil_write_optimal. Would close https://gitlab.freedesktop.org/mesa/mesa/-/issues/5578 if it wasn't already closed. Fixes: b996fa8efaa ("anv: implement VK_KHR_synchronization2") Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan_hasvk/genX_cmd_buffer.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan_hasvk/genX_cmd_buffer.c b/src/intel/vulkan_hasvk/genX_cmd_buffer.c index d2f5175..9006816 100644 --- a/src/intel/vulkan_hasvk/genX_cmd_buffer.c +++ b/src/intel/vulkan_hasvk/genX_cmd_buffer.c @@ -510,7 +510,8 @@ vk_image_layout_stencil_write_optimal(VkImageLayout layout) { return layout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL || layout == VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL || - layout == VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL; + layout == VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL || + layout == VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL; } #endif @@ -541,6 +542,7 @@ transition_stencil_buffer(struct anv_cmd_buffer *cmd_buffer, * - VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL * - VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL * - VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL + * - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL * * For general, we have no nice opportunity to transition so we do the copy * to the shadow unconditionally at the end of the subpass. For transfer @@ -5718,6 +5720,7 @@ void genX(CmdEndRendering)( * - VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL * - VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL * - VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL + * - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL * - VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT * * For general, we have no nice opportunity to transition so we do the copy -- 2.7.4