radv: Deal with unused attachments in mip flush

Fixes: 4cce4d22a7 ("radv: Fix a hang on CB change by adding flushes.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7813>
(cherry picked from commit aed8d30b50)
This commit is contained in:
Bas Nieuwenhuizen 2020-11-27 15:07:17 +01:00 committed by Dylan Baker
parent 5741e39344
commit 2922cea29f
2 changed files with 5 additions and 2 deletions

View file

@ -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"
},

View file

@ -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) ||