[Mesa-dev] [PATCH v3 0/7] i965: ASTC5x5 workaround

kevin.rogovin at intel.com kevin.rogovin at intel.com
Tue Feb 27 09:30:01 UTC 2018

From: Kevin Rogovin <kevin.rogovin at intel.com>

This patch series implements a needed workaround for Gen9 for ASTC5x5
sampler reads. The crux of the work around is to make sure that the
sampler does not read an ASTC5x5 texture and a surface with an auxilary
buffer without having a texture cache invalidate and command streamer
stall between such accesses.

With this patch series applied to the (current) master branch of mesa,
carchase works on my SKL GT4.

  Rebase against current master; this required an additional
  patch to restore the disable_aux argument to

  Minor polishing of patches in mid-series for cleanness. 

  Rename workaround functions from brw_ to gen9_
  (suggested/requested by Topi Pohjolainen).

  Place texture resolve to avoid using auxilary surface
  when ASTC5x5 is detected in brw_predraw_resolve_inputs()
  instead of another dedicated function; doing so allows
  one to avoid walking the textures again.
  (suggested/requested by Topi Pohjolainen).

  Emit command streamer stall in addition to texture
  (original short-coming caught by Jason Ekstrand)

  Place workaround function in (new) dedicated file.

  Minor patch re-ordering to accomodate changes.

Kevin Rogovin (7):
  i965: define astx5x5 workaround infrastructure
  i965: restore diable_aux argument to intel_miptree_prepare_texture()
  i965: set ASTC5x5 workaround texture type tracking on texture validate
  i965: prevent using auxilary buffers when an astc5x5 texture is
  i965: use ASTC5x5 workaround in brw_prepare_drawing()
  i965: use ASTC5x5 workaround in brw_dispatch_compute_common()
  i965: ASTC5x5 workaround logic for blorp

 src/mesa/drivers/dri/i965/Makefile.sources       |  1 +
 src/mesa/drivers/dri/i965/brw_compute.c          |  6 ++++
 src/mesa/drivers/dri/i965/brw_context.c          |  6 ++++
 src/mesa/drivers/dri/i965/brw_context.h          | 24 ++++++++++++++++
 src/mesa/drivers/dri/i965/brw_draw.c             | 31 ++++++++++++++++++--
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c |  7 +++--
 src/mesa/drivers/dri/i965/gen9_astc5x5_wa.c      | 36 ++++++++++++++++++++++++
 src/mesa/drivers/dri/i965/genX_blorp_exec.c      |  5 ++++
 src/mesa/drivers/dri/i965/intel_batchbuffer.c    |  1 +
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c    |  5 ++--
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h    |  3 +-
 src/mesa/drivers/dri/i965/intel_tex_image.c      | 16 ++++++++---
 src/mesa/drivers/dri/i965/intel_tex_validate.c   | 15 ++++++++++
 src/mesa/drivers/dri/i965/meson.build            |  1 +
 14 files changed, 145 insertions(+), 12 deletions(-)
 create mode 100644 src/mesa/drivers/dri/i965/gen9_astc5x5_wa.c


More information about the mesa-dev mailing list