agx: Fix tib access in internal shaders
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Fri, 2 Sep 2022 00:55:30 +0000 (20:55 -0400)
committerMarge Bot <emma+marge@anholt.net>
Sun, 4 Sep 2022 18:05:31 +0000 (18:05 +0000)
commit9645e46a53b5d0770e20b1d520989985a6cdc952
tree9eaa6c07fd6e24cb9c550ef3e2f2fc9f47a6c380
parenta03ce740bbbd2364e37bdd358d634b352ff515c7
agx: Fix tib access in internal shaders

The only case where tilebuffer access can be specially optimized is the
st_tile used in internal clear (or reload) shaders. However, other
shaders (like those used with u_blitter) may have nir->info.internal
set, so we can't key off that. Instead, add a special key for this
optimization to ensure correctness with other internal shaders.

Fixes flaky tests in dEQP-GLES2.functional.color_clear.*

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380>
src/asahi/compiler/agx_compile.c
src/asahi/compiler/agx_compile.h
src/gallium/drivers/asahi/agx_blit.c