From f5311e2418ac64b5a51d68041593a3e335bd0b36 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 22 Feb 2024 08:56:20 +0200 Subject: [PATCH] anv: limit depth flush on dynamic render pass suspend Signed-off-by: Lionel Landwerlin Reviewed-by: Ivan Briano Reviewed-by: Paulo Zanoni Cc: mesa-stable Part-of: (cherry picked from commit 642b12baef65889000c47d0efd8f0cdf2e49cad5) --- .pick_status.json | 2 +- src/intel/vulkan/genX_cmd_buffer.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index f01d1cbe33d..7ecbe813666 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -14,7 +14,7 @@ "description": "anv: limit depth flush on dynamic render pass suspend", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index eb3be7de5ad..203bf15c856 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -8370,8 +8370,9 @@ void genX(CmdEndRendering)( "MSAA resolve"); } - if (gfx->depth_att.resolve_mode != VK_RESOLVE_MODE_NONE || - gfx->stencil_att.resolve_mode != VK_RESOLVE_MODE_NONE) { + if (!(gfx->rendering_flags & VK_RENDERING_SUSPENDING_BIT) && + (gfx->depth_att.resolve_mode != VK_RESOLVE_MODE_NONE || + gfx->stencil_att.resolve_mode != VK_RESOLVE_MODE_NONE)) { /* We are about to do some MSAA resolves. We need to flush so that the * result of writes to the MSAA depth attachments show up in the sampler * when we blit to the single-sampled resolve target.