diff --git a/src/vulkan/anv_pass.c b/src/vulkan/anv_pass.c index ccd8cedf561..a8e85664d48 100644 --- a/src/vulkan/anv_pass.c +++ b/src/vulkan/anv_pass.c @@ -118,8 +118,10 @@ VkResult anv_CreateRenderPass( p += desc->colorAttachmentCount; for (uint32_t j = 0; j < desc->colorAttachmentCount; j++) { - subpass->resolve_attachments[j] - = desc->pResolveAttachments[j].attachment; + uint32_t a = desc->pResolveAttachments[j].attachment; + subpass->resolve_attachments[j] = a; + if (a != VK_ATTACHMENT_UNUSED) + subpass->has_resolve = true; } } diff --git a/src/vulkan/anv_private.h b/src/vulkan/anv_private.h index 6e44e88e10c..cad1e1fd5ff 100644 --- a/src/vulkan/anv_private.h +++ b/src/vulkan/anv_private.h @@ -1712,6 +1712,9 @@ struct anv_subpass { uint32_t * color_attachments; uint32_t * resolve_attachments; uint32_t depth_stencil_attachment; + + /** Subpass has at least one resolve attachment */ + bool has_resolve; }; struct anv_render_pass_attachment {