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