[Mesa-dev] [PATCH 00/17] i965: Avoid a redundant color buffer fast-clear
Nanley Chery
nanleychery at gmail.com
Thu May 3 19:03:47 UTC 2018
My main motivation for this series is to avoid one type of redundant
fast-clears for color buffers (patch 15). In doing so, I take
opportunities to improve the maintainability and performance of the
affected code along the way.
* Fix bugs that this series depends on for correct behavior (1-2).
* Efficient updates to the indirect clear color requires correctly
tracking the clear color on the CPU. For correctness, make the initial
indirect clear color match the CPU-side one (3-4).
* We've been modifying code related to aux buffer allocation thus far.
Take this opportunity to remove duplicated code (5-9).
* Move the code to update the indirect depth clear color to a unified
location to enable the same optimization of skipping an already
cleared buffer (regardless of the new value) for color buffers (10-13).
* We've been modifying depth clear code thus far. Take this opportunity
to delete a stale comment we found here (14).
* Now that we correctly track the indirect clear color and updated it as
needed, enable the optimization of skipping a fast-clear on an already
cleared color buffer, even if the clear color differs from the current
one (15).
* Now that we update the indirect clear color in the clear color setter,
avoid the redundant updates done by BLORP (16-17).
-Nanley
Nanley Chery (17):
i965/miptree: Fix handling of uninitialized MCS buffers
i965/miptree: Zero-initialize CCS_D buffers
i965/miptree: Move init_mcs into alloc_aux_buffer
i965/miptree: Initialize the indirect clear color to zero
i965/miptree: Drop the name param from alloc_aux_buffer
i965/miptree: Drop the alloc_flags param from alloc_aux_buffer
i965/miptree: Drop the mt param from alloc_aux_buffer
i965: Prepare to delete intel_miptree_alloc_ccs()
i965/miptree: Unify aux buffer allocation
Revert "i965: Make the miptree clear color setter take a
gl_color_union"
i965: Use set_clear_color for depth miptrees
i965/clear: Remove an early return in fast_clear_depth
i965: Update the indirect buffer in set_clear_color
i965/clear: Drop a stale comment in fast_clear_depth
i965/blorp: Also skip the fast clear if the clear color differs
intel/blorp: Add a NO_UPDATE_CLEAR_COLOR batch flag
i965/blorp: Disable BLORP clear color updates
src/intel/blorp/blorp.h | 5 +
src/intel/blorp/blorp_genX_exec.h | 6 +-
src/mesa/drivers/dri/i965/brw_blorp.c | 18 +-
src/mesa/drivers/dri/i965/brw_clear.c | 49 +---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 362 +++++++++++---------------
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 18 +-
6 files changed, 181 insertions(+), 277 deletions(-)
--
2.16.2
More information about the mesa-dev
mailing list