From 4502254cd20e4d7c3afcebc73b769f2dceb5f59e Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Fri, 31 Jan 2025 04:04:26 -0500 Subject: [PATCH] anv: Drop the slow clear heuristic This no longer provides a performance improvement. Reviewed-by: Rohan Garg Part-of: --- src/intel/vulkan/anv_image.c | 15 --------------- src/intel/vulkan/anv_private.h | 4 ---- src/intel/vulkan/genX_cmd_buffer.c | 8 -------- 3 files changed, 27 deletions(-) diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index edc924e4aaf..8de672d4cc7 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -3548,21 +3548,6 @@ anv_can_fast_clear_color(const struct anv_cmd_buffer *cmd_buffer, return false; } - /* The fast-clear preamble and/or postamble flushes are more expensive than - * the flushes performed by BLORP during slow clears. Use a heuristic to - * determine if the cost of the flushes are worth fast-clearing. See - * genX(cmd_buffer_update_color_aux_op)() and blorp_exec_on_render(). - * TODO: Tune for Xe2 - */ - if (cmd_buffer->device->info->verx10 <= 125 && - cmd_buffer->num_independent_clears >= 16 && - cmd_buffer->num_independent_clears > - cmd_buffer->num_dependent_clears * 2) { - anv_perf_warn(VK_LOG_OBJS(&image->vk.base), - "Not enough back-to-back fast-clears. Slow clearing."); - return false; - } - return true; } diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 72682e51570..496a5f323c0 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -4352,10 +4352,6 @@ struct anv_cmd_buffer { struct anv_cmd_state state; - /* Fast-clear statistics. */ - uint64_t num_dependent_clears; - uint64_t num_independent_clears; - struct anv_address return_addr; /* Set by SetPerformanceMarkerINTEL, written into queries by CmdBeginQuery */ diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 5bdec9cf6d0..6cb550b40ce 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -3144,14 +3144,6 @@ genX(cmd_buffer_update_color_aux_op)(struct anv_cmd_buffer *cmd_buffer, } else { cmd_buffer->state.color_aux_op = next_aux_op; } - - if (next_aux_op == ISL_AUX_OP_FAST_CLEAR) { - if (aux_op_clears(last_aux_op)) { - cmd_buffer->num_dependent_clears++; - } else { - cmd_buffer->num_independent_clears++; - } - } } static void