mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
radv: Don't retile DCC on transfer queues.
Instead, the retile will be executed on another queue type when the image is transitioned to another queue. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25834>
This commit is contained in:
parent
5c30d462b9
commit
1c8c3e5a7a
1 changed files with 4 additions and 4 deletions
|
|
@ -10272,9 +10272,9 @@ radv_retile_transition(struct radv_cmd_buffer *cmd_buffer, struct radv_image *im
|
|||
}
|
||||
|
||||
static bool
|
||||
radv_image_need_retile(const struct radv_image *image)
|
||||
radv_image_need_retile(const struct radv_cmd_buffer *cmd_buffer, const struct radv_image *image)
|
||||
{
|
||||
return image->planes[0].surface.display_dcc_offset &&
|
||||
return cmd_buffer->qf != RADV_QUEUE_TRANSFER && image->planes[0].surface.display_dcc_offset &&
|
||||
image->planes[0].surface.display_dcc_offset != image->planes[0].surface.meta_offset;
|
||||
}
|
||||
|
||||
|
|
@ -10294,7 +10294,7 @@ radv_handle_color_image_transition(struct radv_cmd_buffer *cmd_buffer, struct ra
|
|||
if (src_layout == VK_IMAGE_LAYOUT_UNDEFINED) {
|
||||
radv_init_color_image_metadata(cmd_buffer, image, src_layout, dst_layout, src_queue_mask, dst_queue_mask, range);
|
||||
|
||||
if (radv_image_need_retile(image))
|
||||
if (radv_image_need_retile(cmd_buffer, image))
|
||||
radv_retile_transition(cmd_buffer, image, src_layout, dst_layout, dst_queue_mask);
|
||||
return;
|
||||
}
|
||||
|
|
@ -10316,7 +10316,7 @@ radv_handle_color_image_transition(struct radv_cmd_buffer *cmd_buffer, struct ra
|
|||
fast_clear_flushed = true;
|
||||
}
|
||||
|
||||
if (radv_image_need_retile(image))
|
||||
if (radv_image_need_retile(cmd_buffer, image))
|
||||
radv_retile_transition(cmd_buffer, image, src_layout, dst_layout, dst_queue_mask);
|
||||
} else if (radv_image_has_cmask(image) || radv_image_has_fmask(image)) {
|
||||
if (radv_layout_can_fast_clear(cmd_buffer->device, image, range->baseMipLevel, src_layout, src_queue_mask) &&
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue