[Mesa-dev] [PATCH 00/22] anv: Use blorp for depth/stencil clears and kill meta
Jason Ekstrand
jason at jlekstrand.net
Sat Oct 8 04:40:58 UTC 2016
Meta needs to die! As proof, just look at the diffstats below. By
deleting meta clears (that's all we had left), we remove almost as many
lines of code as is in blorp_genX_emit.h!
As with my last Vulkan blorp series, about half of the changes are blorp
changes. Blorp needed to grow just a bit in order to be able to do depth
and stencil clears. Once blorp supports depth and stencil clears, hooking
it up for Vulkan is pretty simple (once you fix a HiZ bug). Then we can
get rid of meta and start to untangle some of the infrastructure we built
just to make meta possible.
There's still more cleanup that can be done now that we're no longer
creating custom meta pipelines but this is a start.
Jason Ekstrand (22):
intel/blorp: Make the Z component of the primitive adjustable
intel/genxml: Add a uint MOCS field to 3DSTATE_STENCIL_BUFFER
intel/blorp: Move CLEAR_PARAMS setup into emit_depth_stencil_config
intel/blorp: Add support for binding an actual stencil buffer
intel/blorp: Simplify depth/stencil config
intel/blorp: Unify the DEPTH_STENCIL emit code across gens
intel/blorp: Emit more complete DEPTH_STENCIL state
intel/blorp: Add an "enabled" bit to surface_info
intel/blorp: Allow for running without a PS on gen8+
intel/blorp: Add an entrypoint for clearing depth and stencil
intel/blorp: Add a flag to make blorp not re-emit dept/stencil buffers
anv/blorp: Don't hand-roll flush_pipeline_select_3d
anv/image: Rework our handling of 3-D image array ranges
anv/image: Add an isl_view to anv_image_view
anv: Use blorp for ClearDepthStencilImage
anv/hiz: Perform HiZ resolves for all partial renders
anv: Use blorp for ClearAttachments
anv: Use blorp for subpass clears
anv: Get rid of meta
anv: Get rid of graphics_pipeline_create_info_extra
anv: Get rid of the ANV_CALL macro
anv: Make entrypoint resolution take a gen_device_info
src/intel/blorp/blorp.c | 6 +-
src/intel/blorp/blorp.h | 23 +-
src/intel/blorp/blorp_clear.c | 58 ++
src/intel/blorp/blorp_genX_exec.h | 278 ++++++----
src/intel/blorp/blorp_priv.h | 5 +
src/intel/genxml/gen6.xml | 1 +
src/intel/genxml/gen7.xml | 1 +
src/intel/genxml/gen75.xml | 1 +
src/intel/genxml/gen8.xml | 1 +
src/intel/genxml/gen9.xml | 1 +
src/intel/vulkan/Makefile.sources | 3 -
src/intel/vulkan/anv_blorp.c | 276 +++++++++-
src/intel/vulkan/anv_device.c | 17 +-
src/intel/vulkan/anv_dump.c | 11 +-
src/intel/vulkan/anv_entrypoints_gen.py | 22 +-
src/intel/vulkan/anv_genX.h | 1 -
src/intel/vulkan/anv_image.c | 49 +-
src/intel/vulkan/anv_meta.c | 155 ------
src/intel/vulkan/anv_meta.h | 69 ---
src/intel/vulkan/anv_meta_clear.c | 918 --------------------------------
src/intel/vulkan/anv_pipeline.c | 61 +--
src/intel/vulkan/anv_private.h | 102 +---
src/intel/vulkan/gen7_pipeline.c | 13 +-
src/intel/vulkan/gen8_cmd_buffer.c | 12 +-
src/intel/vulkan/gen8_pipeline.c | 16 +-
src/intel/vulkan/genX_blorp_exec.c | 39 +-
src/intel/vulkan/genX_cmd_buffer.c | 4 +-
src/intel/vulkan/genX_pipeline.c | 2 -
src/intel/vulkan/genX_pipeline_util.h | 34 +-
src/mesa/drivers/dri/i965/brw_blorp.c | 12 +-
30 files changed, 642 insertions(+), 1549 deletions(-)
delete mode 100644 src/intel/vulkan/anv_meta.c
delete mode 100644 src/intel/vulkan/anv_meta.h
delete mode 100644 src/intel/vulkan/anv_meta_clear.c
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list