agx: Use nir_opt_shrink_stores

This especially helps with image stores, where we otherwise insert a bunch of
pointless moves to collect a vector even when we know the format only has a
single channel.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23998>
This commit is contained in:
Alyssa Rosenzweig
2023-05-27 22:23:11 -04:00
committed by Marge Bot
parent 45cbe12282
commit c81a14c754

View File

@@ -1927,6 +1927,9 @@ agx_optimize_loop_nir(nir_shader *nir)
static void
agx_optimize_nir(nir_shader *nir, unsigned *preamble_size)
{
/* This runs only once up front since other optimizations don't affect it */
NIR_PASS_V(nir, nir_opt_shrink_stores, true);
agx_optimize_loop_nir(nir);
bool progress = false;