it's valid for psiz to be piped through successive stages, so don't
delete it unnecessarily
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23240>
if (consumer->info.stage != MESA_SHADER_FRAGMENT) {
/* remove injected pointsize from all but the last vertex stage */
nir_variable *var = nir_find_variable_with_location(producer, nir_var_shader_out, VARYING_SLOT_PSIZ);
- if (var && !var->data.explicit_location) {
+ if (var && !var->data.explicit_location && !nir_find_variable_with_location(consumer, nir_var_shader_in, VARYING_SLOT_PSIZ)) {
var->data.mode = nir_var_shader_temp;
nir_fixup_deref_modes(producer);
NIR_PASS_V(producer, nir_remove_dead_variables, nir_var_shader_temp, NULL);