From 2922cea29f66337e980105680ac5246b9516c4e8 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Fri, 27 Nov 2020 15:07:17 +0100 Subject: radv: Deal with unused attachments in mip flush Fixes: 4cce4d22a72 ("radv: Fix a hang on CB change by adding flushes.") Reviewed-by: Samuel Pitoiset Part-of: (cherry picked from commit aed8d30b507568b7fc0f32afca012f8def5aca16) --- .pick_status.json | 4 ++-- src/amd/vulkan/radv_cmd_buffer.c | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 51b06fe1a9a..2a57512dc47 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1417,7 +1417,7 @@ "description": "radeonsi: fix regression on gpus using the radeon winsys.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "f2977a162af46ff0b9d9334bb677b768900ba5d3" }, @@ -4954,7 +4954,7 @@ "description": "radv: Deal with unused attachments in mip flush", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "4cce4d22a72bf84459ee95223cc7d1c6542617fb" }, diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 3b60b60bdf3..504da6c2a89 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2244,6 +2244,9 @@ radv_emit_fb_mip_change_flush(struct radv_cmd_buffer *cmd_buffer) for (int i = 0; i < subpass->color_count; ++i) { int idx = subpass->color_attachments[i].attachment; + if (idx == VK_ATTACHMENT_UNUSED) + continue; + struct radv_image_view *iview = cmd_buffer->state.attachments[idx].iview; if ((radv_image_has_CB_metadata(iview->image) || -- cgit v1.2.3