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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev