[Mesa-dev] [PATCH v2 00/24] Rework CCS state tracking
Jason Ekstrand
jason at jlekstrand.net
Fri Jan 19 23:47:17 UTC 2018
This is more-or-less a rework of the first 13 patches or so from this
series: https://patchwork.freedesktop.org/series/34511/
There are a bunch of patches in this series that came from the original but
some are new. In particular, the final patch has been completely
rewritten. Instead of trying to keep the old per-LOD tracking mechanism,
we now track clear colors once per image and compression data per-slice.
This should fix some corner cases where we would resolve a portion of a
LOD and turn off the "needs resolve" flag but leave some other portion of
it still unresolved.
One other change is that this series now has a hard requirement on the
blorp CCS ambiguate pass. With out the ability to track clear state on a
per-slice basis (which doesn't seem that useful in general), we can't use
fast-clears for this anymore. That said, my confidence in the amgibuate
pass grows with every pass over the code and I think it's ready for prime
time.
Cc: Topi Pohjolainen <topi.pohjolainen at intel.com>
Cc: Nanley Chery <nanley.g.chery at intel.com>
Jason Ekstrand (24):
intel/isl: Codify AUX operations in an enum
anv/blorp: Rework image clear/resolve helpers
anv/blorp: Support ISL_AUX_USAGE_HIZ in surf_for_anv_image
anv/blorp: Rework HiZ ops to look like MCS and CCS
anv/image: Update a comment
anv/image: Add a helper for determining when fast clears are supported
anv/image: Support color aspects in layout_to_aux_usage
anv/cmd_buffer: Recurse in transition_color_buffer instead of falling
through
anv/cmd_buffer: Generalize transition_color_buffer
anv/cmd_buffer: Add an anv_genX_call macro
anv/blorp: Add src/dst_level helper variables in CmdCopyImage
anv/cmd_buffer: Add a mark_image_written helper
anv: Only fast clear single-slice images
intel/blorp: Add a CCS ambiguation pass
anv/cmd_buffer: Pull the undefined layout condition into the if
anv/cmd_buffer: Re-arrange the logic around UNDEFINED fast-clears
anv: Use blorp_ccs_ambiguate instead of fast-clears
anv/image: Simplify some verbose commennts
anv/cmd_buffer: Move the mi_alu helper higher up
anv/cmd_buffer: Rework aux tracking
anv: Allow fast-clearing the first slice of a multi-slice image
intel/blorp: Use isl_aux_op instead of blorp_fast_clear_op
intel/blorp: Use isl_aux_op instead of blorp_hiz_op
intel/blorp: Use the hardware op for CCS ambiguate on gen10+
src/intel/blorp/blorp.c | 2 +-
src/intel/blorp/blorp.h | 33 +-
src/intel/blorp/blorp_clear.c | 167 +++++++-
src/intel/blorp/blorp_genX_exec.h | 60 +--
src/intel/blorp/blorp_priv.h | 4 +-
src/intel/isl/isl.h | 74 ++--
src/intel/vulkan/anv_blorp.c | 334 +++++++++------
src/intel/vulkan/anv_cmd_buffer.c | 55 ++-
src/intel/vulkan/anv_genX.h | 8 +
src/intel/vulkan/anv_image.c | 229 ++++++----
src/intel/vulkan/anv_private.h | 105 +++--
src/intel/vulkan/genX_cmd_buffer.c | 589 ++++++++++++++++++--------
src/mesa/drivers/dri/i965/brw_blorp.c | 18 +-
src/mesa/drivers/dri/i965/brw_blorp.h | 4 +-
src/mesa/drivers/dri/i965/brw_clear.c | 4 +-
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 50 +--
16 files changed, 1168 insertions(+), 568 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list