Module: Mesa Branch: main Commit: 61d265cfcede5a4d3ba23b645b8487ffff1369d2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=61d265cfcede5a4d3ba23b645b8487ffff1369d2
Author: Karmjit Mahil <[email protected]> Date: Thu Sep 1 15:07:43 2022 +0100 pvr: Finish setting up job resolve info. Signed-off-by: Karmjit Mahil <[email protected]> Reviewed-by: Frank Binns <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18431> --- src/imagination/vulkan/pvr_cmd_buffer.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/imagination/vulkan/pvr_cmd_buffer.c b/src/imagination/vulkan/pvr_cmd_buffer.c index dc54bc82a5d..320ab23ce5c 100644 --- a/src/imagination/vulkan/pvr_cmd_buffer.c +++ b/src/imagination/vulkan/pvr_cmd_buffer.c @@ -926,8 +926,21 @@ static VkResult pvr_sub_cmd_gfx_job_init(const struct pvr_device_info *dev_info, &hw_render->eot_setup.mrt_resources[surface->mrt_index]; uint32_t samples = 1; - if (surface->need_resolve) - pvr_finishme("Set up job resolve information."); + if (surface->need_resolve) { + const struct pvr_image_view *resolve_src = + render_pass_info->attachments[surface->src_attachment_index]; + + /* Attachments that are the destination of resolve operations must be + * loaded before their next use. + */ + render_pass_info->enable_bg_tag = true; + render_pass_info->process_empty_tiles = true; + + if (surface->resolve_type != PVR_RESOLVE_TYPE_PBE) + continue; + + samples = (uint32_t)resolve_src->vk.image->samples; + } pvr_setup_pbe_state(dev_info, render_pass_info->framebuffer,
