microsoft/spirv_to_dxil: Remove dead IO vars at the end of dxil_spirv_nir_passes()

No need to keep them around if they're unused. Moreover, this should
allow the linking step to get rid of outputs when the next stage
doesn't use them.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221>
This commit is contained in:
Boris Brezillon 2022-06-08 00:23:12 -07:00 committed by Marge Bot
parent d3e321c853
commit 424bb7357f
1 changed files with 4 additions and 1 deletions

View File

@ -665,7 +665,10 @@ dxil_spirv_nir_passes(nir_shader *nir,
NIR_PASS_V(nir, dxil_nir_lower_bool_input);
NIR_PASS_V(nir, dxil_nir_lower_ubo_array_one_to_static);
NIR_PASS_V(nir, nir_opt_dce);
NIR_PASS_V(nir, nir_remove_dead_variables, nir_var_uniform, NULL);
NIR_PASS_V(nir, nir_remove_dead_derefs);
NIR_PASS_V(nir, nir_remove_dead_variables,
nir_var_uniform | nir_var_shader_in | nir_var_shader_out,
NULL);
if (nir->info.stage == MESA_SHADER_FRAGMENT) {
dxil_sort_ps_outputs(nir);