[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.

v3:
  Rebase against current master; this required an additional
  patch to restore the disable_aux argument to
  intel_miptree_prepare_texture().

  Minor polishing of patches in mid-series for cleanness. 

v2:
  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
  invalidate.
  (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
    present
  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

-- 
2.7.4



More information about the mesa-dev mailing list