From 02db2363f0f9174ecd8b3484c186b250c2a1259a Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 18 Apr 2018 14:34:55 +0200 Subject: radv: reset the image's predicate after a color decompression pass After performing a fast-clear eliminate, a FMASK decompress, or a DCC decompress, we can reset the predicate to FALSE. With that, the GPU should be able to skip unnecessary color decompression passes. Signed-off-by: Samuel Pitoiset Reviewed-by: Dave Airlie --- src/amd/vulkan/radv_meta_fast_clear.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/amd/vulkan/radv_meta_fast_clear.c b/src/amd/vulkan/radv_meta_fast_clear.c index 8ba0a932c0e..136557080d9 100644 --- a/src/amd/vulkan/radv_meta_fast_clear.c +++ b/src/amd/vulkan/radv_meta_fast_clear.c @@ -671,6 +671,11 @@ radv_emit_color_decompress(struct radv_cmd_buffer *cmd_buffer, if (radv_image_has_dcc(image)) { cmd_buffer->state.predicating = false; radv_emit_set_predication_state_from_image(cmd_buffer, image, false); + + /* Clear the image's fast-clear eliminate predicate because + * FMASK and DCC also imply a fast-clear eliminate. + */ + radv_set_dcc_need_cmask_elim_pred(cmd_buffer, image, false); } radv_meta_restore(&saved_state, cmd_buffer); } -- cgit v1.2.3