From a1e8bba7fa7990143cb8ea34c3cd3f9c0608bfc0 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 25 Mar 2024 13:02:59 -0500 Subject: [PATCH] nak: Drop lower_io_arrays_to_elements_no_indirects for FS outputs All we really need is for them to have no indirects which we can ensure via nir_lower_indirect_derefs. Splitting into individual variables is a relic of older attempts at FS output lowering and not needed. Part-of: --- src/nouveau/compiler/nak_nir.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/nouveau/compiler/nak_nir.c b/src/nouveau/compiler/nak_nir.c index ccb6f2a823b..f2d84e92dbd 100644 --- a/src/nouveau/compiler/nak_nir.c +++ b/src/nouveau/compiler/nak_nir.c @@ -687,8 +687,6 @@ nak_nir_lower_fs_outputs(nir_shader *nir) if (nir->info.outputs_written == 0) return false; - NIR_PASS_V(nir, nir_lower_io_arrays_to_elements_no_indirects, true); - NIR_PASS_V(nir, nir_lower_io, nir_var_shader_out, type_size_vec4, 0); NIR_PASS_V(nir, nir_shader_intrinsics_pass, lower_fs_output_intrin, @@ -930,7 +928,8 @@ nak_postprocess_nir(nir_shader *nir, break; case MESA_SHADER_FRAGMENT: - OPT(nir, nir_lower_indirect_derefs, nir_var_shader_in, UINT32_MAX); + OPT(nir, nir_lower_indirect_derefs, + nir_var_shader_in | nir_var_shader_out, UINT32_MAX); OPT(nir, nak_nir_lower_varyings, nir_var_shader_in); OPT(nir, nir_opt_constant_folding); OPT(nir, nak_nir_lower_fs_inputs, nak, fs_key);