[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