I made a small smattering of comments. With those resolved, the series is Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
I really like the way it all came together in the end. Patch 13 was one I didn't expect to like but when I saw it, it completely changed my mind. That seems like exactly the right way to do this. --Jason On Thu, May 3, 2018 at 12:03 PM, Nanley Chery <nanleych...@gmail.com> wrote: > 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 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev