radv: do not perform depth/stencil resolves for suspended render pass

From the Vulkan spec:

    "Store and resolve operations are only performed at the end of a
     render pass instance that does not specify the
     VK_RENDERING_SUSPENDING_BIT_KHR flag."

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14112>
This commit is contained in:
Samuel Pitoiset 2021-12-07 17:33:55 +01:00 committed by Marge Bot
parent c27348a3f7
commit e2ad92eb22

View file

@ -7579,10 +7579,11 @@ radv_CmdBeginRenderingKHR(VkCommandBuffer commandBuffer, const VkRenderingInfoKH
};
}
if ((pRenderingInfo->pDepthAttachment &&
if (((pRenderingInfo->pDepthAttachment &&
pRenderingInfo->pDepthAttachment->resolveMode != VK_RESOLVE_MODE_NONE) ||
(pRenderingInfo->pStencilAttachment &&
pRenderingInfo->pStencilAttachment->resolveMode != VK_RESOLVE_MODE_NONE)) {
pRenderingInfo->pStencilAttachment->resolveMode != VK_RESOLVE_MODE_NONE)) &&
!(pRenderingInfo->flags & VK_RENDERING_SUSPENDING_BIT_KHR)) {
RADV_FROM_HANDLE(radv_image_view, resolve_iview, common_info->resolveImageView);
ds_resolve_ref =
(VkAttachmentReference2){.sType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,