On Wed, Sep 26, 2018 at 04:31:02PM -0700, Nanley Chery wrote: > The current workaround has two issues. It causes significant slow-downs [1] in > application startup times and uses the modified ASTC blocks for non-sampling > operations. This can result in incorrect texture downloads. > > This series addresses the latter issue by keeping two copies of an ASTC > miptree: one that's been modified for the sampler bug (the shadow) and another > that hasn't (the main). The main copy is used for pixel transfer operations > and > the shadow is used for sampling within a shader. The former issue is addressed > by exchanging multiple GTT-mapped memory accesses at texture upload time with > a > render engine read and write at sampling time. > > At the moment, I don't have any empirical data on the performance > implications nor on the bug fixes.
I just sent out a piglit test to demonstrate the fixed texture download issue: https://patchwork.freedesktop.org/series/50474/ -Nanley > I'm trying to get my hands on one of > the affected benchmarks. This series does pass our CI system. > > 1. 17 seconds were saved by avoiding it in commit: > 3e56e4642fb5875b3f5c4eb34798ba9f3d827705 > > Nanley Chery (9): > i965: Rename intel_mipmap_tree::r8stencil_* -> ::shadow_* > i965/miptree: Allocate a shadow_mt for an ASTC WA > i965/miptree: Track the staleness of the ASTC shadow > intel/blorp_blit: Fix ptr deref in convert_to_uncompressed > intel/blorp_blit: Add blorp_copy_astc_wa > i965/blorp: Drop tmp_surfs from surf_for_miptree > i965: Do a WA blit between ASTC main and shadow > i965/surface_state: Use the ASTC shadow_mt if present > i965/tex_image: Drop intelCompressedTexSubImage > > src/intel/blorp/blorp.h | 6 + > src/intel/blorp/blorp_blit.c | 158 +++++++++++++++++- > src/intel/blorp/blorp_priv.h | 1 + > src/mesa/drivers/dri/i965/brw_blorp.c | 56 ++++--- > src/mesa/drivers/dri/i965/brw_blorp.h | 6 + > src/mesa/drivers/dri/i965/brw_draw.c | 16 ++ > .../drivers/dri/i965/brw_wm_surface_state.c | 11 +- > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 46 ++++- > src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 21 ++- > src/mesa/drivers/dri/i965/intel_tex_image.c | 87 ---------- > 10 files changed, 276 insertions(+), 132 deletions(-) > > -- > 2.19.0 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev