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 <[email protected]>
---
 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 e702dc80a5..9dce834c67 100644
--- a/src/amd/vulkan/radv_meta_fast_clear.c
+++ b/src/amd/vulkan/radv_meta_fast_clear.c
@@ -670,6 +670,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);
 }
-- 
2.17.0

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to