[Mesa-dev] [PATCH 0/9] i965: Re-implement the gen9 void-extent ASTC WA with BLORP
Nanley Chery
nanleychery at gmail.com
Wed Sep 26 23:31:02 UTC 2018
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'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
More information about the mesa-dev
mailing list