radv: Don't call nir_opt_combine_stores anymore

Also no need for nir_lower_tess_level_array_vars_to_vec.
These should be now handled by nir_opt_vectorize_io.

Fossil DB stats on Strix Halo (GFX11.5):

Totals from 373 (0.47% of 79825) affected shaders:
Instrs: 381930 -> 380786 (-0.30%); split: -0.30%, +0.00%
CodeSize: 1888160 -> 1883644 (-0.24%); split: -0.24%, +0.01%
Latency: 1008755 -> 1008053 (-0.07%); split: -0.08%, +0.01%
InvThroughput: 156523 -> 155275 (-0.80%); split: -0.81%, +0.01%
Copies: 22357 -> 20812 (-6.91%); split: -6.93%, +0.02%
VALU: 240904 -> 239359 (-0.64%); split: -0.64%, +0.00%

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33979>
This commit is contained in:
Timur Kristóf 2025-12-08 12:48:21 -06:00
parent 1106b0a1e2
commit e2fabb4e4a

View file

@ -1374,11 +1374,6 @@ radv_link_shaders(const struct radv_device *device, struct radv_shader_stage *pr
(producer->info.stage == MESA_SHADER_VERTEX && has_geom_or_tess) ||
(producer->info.stage == MESA_SHADER_TESS_EVAL && merged_gs)) {
NIR_PASS(_, producer, nir_opt_vectorize_io_vars, nir_var_shader_out);
if (producer->info.stage == MESA_SHADER_TESS_CTRL)
NIR_PASS(_, producer, nir_lower_tess_level_array_vars_to_vec);
NIR_PASS(_, producer, nir_opt_combine_stores, nir_var_shader_out);
}
if (consumer->info.stage == MESA_SHADER_GEOMETRY || consumer->info.stage == MESA_SHADER_TESS_CTRL ||