nir/linking_helpers: remove varying accesses in nir_remove_unused_io_vars
This refactors nir_remove_unused_io_vars
/nir_remove_unused_varyings
to immediately remove the unused variables, instead of demoting them to nir_var_shader_temp
.
This is because interp_deref_at_sample
of a nir_var_shader_temp
is nonsensical and might be ignored by later passes, instead of removed. It also lets RADV remove some later passes which exist just to remove the nir_var_shader_temp
variables, and the pass itself should now support array deref of vectors.