From: Samuel Pitoiset Date: Fri, 13 Apr 2018 17:14:44 +0000 (+0200) Subject: radv: handle DCC image transitions before CMASK/FMASK transitions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c6b1f1c97a2f2b7079a7f9c870903f20ea6de8f0;p=mesa.git radv: handle DCC image transitions before CMASK/FMASK transitions Mostly because DCC implies a fast-clear eliminate and we should be able to skip some DCC decompressions by setting a predicate like for CMASK and FMASK. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Niuwenhuizen --- diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index f73526b5fc8..92c00f5394d 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -3854,15 +3854,15 @@ static void radv_handle_image_transition(struct radv_cmd_buffer *cmd_buffer, dst_queue_mask, range, pending_clears); - if (radv_image_has_cmask(image) || radv_image_has_fmask(image)) - radv_handle_cmask_image_transition(cmd_buffer, image, src_layout, - dst_layout, src_queue_mask, - dst_queue_mask, range); - if (radv_image_has_dcc(image)) radv_handle_dcc_image_transition(cmd_buffer, image, src_layout, dst_layout, src_queue_mask, dst_queue_mask, range); + + if (radv_image_has_cmask(image) || radv_image_has_fmask(image)) + radv_handle_cmask_image_transition(cmd_buffer, image, src_layout, + dst_layout, src_queue_mask, + dst_queue_mask, range); } void radv_CmdPipelineBarrier(