Fixes Sascha Willems's multisampling example on my Vega 64.

dEQP-VK.renderpass.multisample_resolve.* didn't exhibit issues
because of it's images being 32x32 which disabled DCC/CMASK and
made these transitions unnecessary.

Signed-of-by: Rhys Perry <[email protected]>
CC: <[email protected]>
---
 src/amd/vulkan/radv_cmd_buffer.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index ee5373950f..ab1ed8173e 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -2271,6 +2271,12 @@ radv_cmd_buffer_set_subpass(struct radv_cmd_buffer 
*cmd_buffer,
                                                                     
subpass->color_attachments[i]);
                }
 
+               for (unsigned i = 0; subpass->has_resolve && i < 
subpass->color_count; ++i) {
+                       if (subpass->resolve_attachments[i].attachment != 
VK_ATTACHMENT_UNUSED)
+                               radv_handle_subpass_image_transition(cmd_buffer,
+                                                                    
subpass->resolve_attachments[i]);
+               }
+
                for (unsigned i = 0; i < subpass->input_count; ++i) {
                        radv_handle_subpass_image_transition(cmd_buffer,
                                                        
subpass->input_attachments[i]);
-- 
2.19.1

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to