anv: Lower indirect derefs again after lowering cooperative matrices

The cooperative matrix lowering can generate a lot of indirect array
accesses, and these need to be eliminated.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25994>
This commit is contained in:
Ian Romanick 2023-08-08 09:32:40 -07:00
parent b741a9a851
commit 511f91e307

View file

@ -983,6 +983,7 @@ anv_pipeline_lower_nir(struct anv_pipeline *pipeline,
assert(nir->info.subgroup_size <= SUBGROUP_SIZE_REQUIRE_8);
nir->info.subgroup_size = SUBGROUP_SIZE_REQUIRE_8;
NIR_PASS(_, nir, brw_nir_lower_cmat, nir->info.subgroup_size);
NIR_PASS_V(nir, nir_lower_indirect_derefs, nir_var_function_temp, 16);
}
/* The patch control points are delivered through a push constant when