From: Kevin Rogovin <kevin.rogo...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev