[Mesa-dev] [PATCH v2 00/27] i965: Rework the blorp API to use ISL

Jason Ekstrand jason at jlekstrand.net
Tue Jul 26 22:11:04 UTC 2016

This patch series builds on the previous one I just sent and reworks the
blorp API to be entirely ISL.  The last bits of intel_mipmap_tree are
removed from the ISL internals and shoved into brw_blorp.c/h which simply
serves as a wrapper around the ISL-centric brw_blorp.h file.  Eventually,
the plan is to completely separate the internals of blorp from the i965
driver and share it with the Vulkan driver.  This is just one more step on
the very long road to getting there.  This series can be found here:


The best place to start reviewing is by looking at patch 25/27 where we
make the final API changes.  That shows off where things are going.  That
commit can be found on cgit here:


Happy Reviewing!

Cc: Topi Pohjolainen <topi.pohjolainen at intel.com>

Jason Ekstrand (27):
  i965/miptree: Support depth in get_isl_clear_color
  i965/miptree: Allow get_aux_isl_surf when there is no aux surface
  i965/miptree: Use mcs_mt->qpitch for aux surfaces
  isl: Add helpers for creating different types of aux surfaces
  i965/miptree: Use the isl helpers for creating aux surfaces
  i965/miptree: Add real support for HiZ
  i965/blorp/blit: Move format work-arounds before surface_info_init
  i965/blorp: Stop using the miptree in state setup for tex/rt surfaces
  i964/blorp: Set up most aux surfaces up-front
  i965/blorp: Set up HiZ surfaces up-front
  i965/blorp: Do gen6 stencil offsets up-front
  i965/blorp: Use the isl_surf for more params setup
  i965/blorp: Add a new brw_blorp_surf intermediate struct
  i965/blorp: Make the guts of brw_blorp_blit_miptrees miptree-unaware
  i965/meta_util: Convert get_resolve_rect to use ISL
  i965/blorp: Pull the guts of resolve_color into a miptree-agnostic
  i965/blorp: Stop calling brw_meta_get_buffer_rect
  i965/meta_util: Only modify the input parameters in
  i965/blorp/clear: Stop stomping the destination format
  i965/blorp: Refactor fast-clear logic a bit
  i965/blorp/clear: Move isl_surf setup higher in the function
  i965/meta_util: Convert get_fast_clear_rect to take an isl_surf
  i965/blorp: Break the guts of do_single_blorp_clear into two helpers
  i965/blorp: Factor the guts of blorp_hiz_exec into a helper
  i965: Split brw_blorp.c/h into multiple files
  i965/blorp: brw_blorp_blit.cpp -> blorp_blit.c
  i965/blorp: brw_blorp_clear.cpp -> blorp_clear.c

 src/intel/isl/isl.c                           |  121 ++
 src/intel/isl/isl.h                           |   15 +
 src/mesa/drivers/dri/i965/Makefile.sources    |    7 +-
 src/mesa/drivers/dri/i965/blorp.c             |  452 ++++++
 src/mesa/drivers/dri/i965/blorp.h             |   92 ++
 src/mesa/drivers/dri/i965/blorp_blit.c        | 1662 ++++++++++++++++++++
 src/mesa/drivers/dri/i965/blorp_clear.c       |  190 +++
 src/mesa/drivers/dri/i965/blorp_priv.h        |  393 +++++
 src/mesa/drivers/dri/i965/brw_blorp.c         | 1121 ++++++++------
 src/mesa/drivers/dri/i965/brw_blorp.h         |  376 +----
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp  | 2062 -------------------------
 src/mesa/drivers/dri/i965/brw_blorp_clear.cpp |  332 ----
 src/mesa/drivers/dri/i965/brw_meta_util.c     |   96 +-
 src/mesa/drivers/dri/i965/brw_meta_util.h     |   12 +-
 src/mesa/drivers/dri/i965/gen6_blorp.c        |   54 +-
 src/mesa/drivers/dri/i965/gen7_blorp.c        |   47 +-
 src/mesa/drivers/dri/i965/gen8_blorp.c        |   12 +-
 src/mesa/drivers/dri/i965/intel_copy_image.c  |    1 +
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c |  104 +-
 19 files changed, 3733 insertions(+), 3416 deletions(-)
 create mode 100644 src/mesa/drivers/dri/i965/blorp.c
 create mode 100644 src/mesa/drivers/dri/i965/blorp.h
 create mode 100644 src/mesa/drivers/dri/i965/blorp_blit.c
 create mode 100644 src/mesa/drivers/dri/i965/blorp_clear.c
 create mode 100644 src/mesa/drivers/dri/i965/blorp_priv.h
 delete mode 100644 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
 delete mode 100644 src/mesa/drivers/dri/i965/brw_blorp_clear.cpp


More information about the mesa-dev mailing list