[Mesa-dev] i965: Fast color clear for mipmapped and arrayed

Topi Pohjolainen topi.pohjolainen at gmail.com
Tue Oct 11 19:26:32 UTC 2016


The entire series is mostly bookkeeping changes. It switches to track
color and state per slice instead of per miptree (such as we already
do for depth and hiz).

Patch 22 is still work in progress. We have all the details already
in ISL and I would somehow like to utilize that instead. Current
patch overallocates in some cases but should be safe though.

I will follow-up with some performance numbers.

Ben Widawsky (2):
  i965: Restructure fast clear eligibility decision
  i965: Enable fast clears for multi-lod

Topi Pohjolainen (24):
  i965/meta: Split conversion of color and setting it
  i965: Add multi-slice getter for resolve maps
  intel/blorp: Add plumbing for color resolve slice details
  i965/fbo: Prepare layer multiplier for render buffer compression
  i965: Set fast clear state only once in render cycle
  i965: Add new interface for full color resolves
  i965: Expose physical to logical layer converter
  i965: Provide slice details to color resolver
  i965: Split per miptree and per slice/level fast clear bits
  i965: Provide slice details to renderbuffer fast clear state tracker
  i965: Add interface for checking multiple slices if any is unresolved
  i965: Add plumbing for fast clear layer/level details
  i965: Refactor check if color resolve is needed
  i965: Move fast clear state enumeration into resolve map
  i965: Declare read-only input to level/layer check const
  i965: Set initial msaa fast clear status explicitly
  i965: Track fast color clear state in level/layer granularity
  i965: Track fast clear color in level/layer granularity
  i965/gen9: Do not use fast clear on compressed mipmapped/arrayed
  i965: Resolve non-compressed fast clears prior layered rendering
  i965: Merge qpitch return paths
  i965: Add non-msrt mcs array/mipmap alignment restrictions
  i965: Disable aux buffers with non-compatible copies
  i965/gen8: Relax asserts prohibiting arrayed/mipmapped fast clears

 src/intel/blorp/blorp.h                          |   5 +-
 src/intel/blorp/blorp_blit.c                     |   6 +
 src/intel/blorp/blorp_clear.c                    |   9 +-
 src/intel/isl/isl.c                              |   3 +-
 src/mesa/drivers/dri/i965/brw_blorp.c            | 175 +++++++------
 src/mesa/drivers/dri/i965/brw_blorp.h            |   3 +-
 src/mesa/drivers/dri/i965/brw_context.c          |  22 +-
 src/mesa/drivers/dri/i965/brw_draw.c             |  30 ++-
 src/mesa/drivers/dri/i965/brw_meta_util.c        |  56 +++--
 src/mesa/drivers/dri/i965/brw_meta_util.h        |  10 +-
 src/mesa/drivers/dri/i965/brw_tex_layout.c       |  81 ++++--
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c |  42 ++--
 src/mesa/drivers/dri/i965/intel_blit.c           |   8 +-
 src/mesa/drivers/dri/i965/intel_copy_image.c     |   4 +-
 src/mesa/drivers/dri/i965/intel_fbo.c            |   2 +-
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c    | 303 ++++++++++++++++++-----
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h    | 186 ++++++--------
 src/mesa/drivers/dri/i965/intel_pixel_bitmap.c   |   2 +-
 src/mesa/drivers/dri/i965/intel_pixel_read.c     |   2 +-
 src/mesa/drivers/dri/i965/intel_resolve_map.c    |  19 +-
 src/mesa/drivers/dri/i965/intel_resolve_map.h    |  90 ++++++-
 src/mesa/drivers/dri/i965/intel_tex_image.c      |   2 +-
 src/mesa/drivers/dri/i965/intel_tex_subimage.c   |   2 +-
 23 files changed, 716 insertions(+), 346 deletions(-)

-- 
2.5.5



More information about the mesa-dev mailing list