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.pohjolai...@intel.com> Cc: Nanley Chery <nanley.g.ch...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev