diff --git a/src/imagination/vulkan/pvr_blit.c b/src/imagination/vulkan/pvr_blit.c index 6f1dcbd24d8..03b08e79288 100644 --- a/src/imagination/vulkan/pvr_blit.c +++ b/src/imagination/vulkan/pvr_blit.c @@ -534,10 +534,15 @@ pvr_copy_or_resolve_image_region(struct pvr_cmd_buffer *cmd_buffer, dst_extent.height = MAX2(1U, src_extent.height * block_height); } - /* We don't care what format dst is as it's guaranteed to be size compatible - * with src. - */ - dst_format = pvr_get_raw_copy_format(src->vk.format); + if (src->vk.samples > dst->vk.samples) { + /* Resolve op needs to know the actual format. */ + dst_format = dst->vk.format; + } else { + /* We don't care what format dst is as it's guaranteed to be size + * compatible with src. + */ + dst_format = pvr_get_raw_copy_format(src->vk.format); + } src_format = dst_format; src_layers = diff --git a/src/imagination/vulkan/pvr_job_transfer.c b/src/imagination/vulkan/pvr_job_transfer.c index 7d85fc9ac2a..86e6679a1ab 100644 --- a/src/imagination/vulkan/pvr_job_transfer.c +++ b/src/imagination/vulkan/pvr_job_transfer.c @@ -2856,10 +2856,6 @@ static VkResult pvr_3d_copy_blit_core(struct pvr_transfer_ctx *ctx, pvr_csb_pack (®s->isp_bgobjvals, CR_ISP_BGOBJVALS, reg) { reg.enablebgtag = true; } - - /* clang-format off */ - pvr_csb_pack (®s->isp_aa, CR_ISP_AA, reg); - /* clang-format on */ } else { /* No shader. */ state->pds_temps = 0U;