[Mesa-dev] i965/gen6: Switch stencil surfaces to back-to-back layout

Topi Pohjolainen topi.pohjolainen at gmail.com
Mon May 15 12:07:50 UTC 2017


This is a re-spin of part of earlier i965-isl work concentrating
only on gen6 stencil surfaces.

1) Instead of introducing the layout in ISL patches 5, 6 and 15
   simply add the concept locally to i965. Jason expected to see
   proper layout in ISL - patch 15 adds one but to i965.

2) Instead of adding intermediate on-demand offset/size calculators
   for the current layout, this series skips all that and goes
   directly to back-to-back (which is represented using ISL).

3) Offsetting doesn't need extra arguments to be sprinkled all over
   the driver but manages locally examining the layout type - see
   patch 15 (Jason suggested this, only instead of ISL, it is now
   local to i965).

4) Legacy mapping table logic is refactored and re-used.


Patch 3 could be moved to i965 but I thought it generic enough to
fit ISL as well.

Patch 17 addresses this time stencil only making it clearer what is
really needed (and what is not).

Patch 19 is really a RFC for now - I believe something of that sort
is preferred by Chad, Jason and Nanley (ISL authors). I'm still in
doubt. Having a real patch helps to make certain we are all on the
same page. Sorry for the churn.

CC: Chad Versace <chadversary at chromium.org>
CC: Jason Ekstrand <jason at jlekstrand.net>
CC: Nanley Chery <nanley.g.chery at intel.com>

Topi Pohjolainen (19):
  i965/miptree: Refactor mapping table alloc
  i965: Add helper for converting isl tiling to bufmgr tiling
  intel/isl: Add extent4d minify
  intel/isl/gen6: Allow arrayed stencil
  i965/gen6: Add back-to-back surface minify
  i965/gen6: Add back-to-back size and offset calculators
  i965/miptree: Add isl surface
  i965: Prepare up/downsampling for isl based miptrees
  i965: Prepare image validation for isl based miptrees
  i965: Prepare slice validator for isl based miptrees
  i965: Prepare framebuffer validator for isl based miptrees
  i965/tex: Prepare image update for isl based miptrees
  i965: Prepare texture validator for isl based miptrees
  i965: Prepare slice copy for isl based miptrees
  i965/miptree: Add option to resolve offsets using isl_surf
  i965: Add isl based miptree creator
  i965/gen6: Add back-to-back mapping support
  i965/gen6: Use back-to-back layout for stencil surfaces
  i965/gen6: Represent mipmapped stencil with isl_surf array

 src/intel/isl/isl.c                            |   1 -
 src/intel/isl/isl_priv.h                       |  15 ++
 src/mesa/drivers/dri/i965/brw_blorp.c          |  22 +-
 src/mesa/drivers/dri/i965/brw_tex_layout.c     |   2 +-
 src/mesa/drivers/dri/i965/gen6_depth_state.c   |  27 +-
 src/mesa/drivers/dri/i965/intel_blit.h         |  13 +
 src/mesa/drivers/dri/i965/intel_fbo.c          |  33 ++-
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c  | 341 +++++++++++++++++++++++--
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h  |  47 +++-
 src/mesa/drivers/dri/i965/intel_tex_image.c    |  19 +-
 src/mesa/drivers/dri/i965/intel_tex_validate.c |   8 +-
 11 files changed, 477 insertions(+), 51 deletions(-)

-- 
2.9.3



More information about the mesa-dev mailing list