diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index e6d56aed97f..7d12cf3a7e2 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -5458,7 +5458,6 @@ bool nir_remove_unused_io_vars(nir_shader *shader, nir_variable_mode mode, uint64_t *used_by_other_stage_patches); void nir_compact_varyings(nir_shader *producer, nir_shader *consumer, bool default_to_smooth_interp); -void nir_link_xfb_varyings(nir_shader *producer, nir_shader *consumer); bool nir_link_opt_varyings(nir_shader *producer, nir_shader *consumer); void nir_link_varying_precision(nir_shader *producer, nir_shader *consumer); nir_variable *nir_clone_uniform_variable(nir_shader *nir, diff --git a/src/compiler/nir/nir_linking_helpers.c b/src/compiler/nir/nir_linking_helpers.c index f2d849975b7..ff0a47d21b6 100644 --- a/src/compiler/nir/nir_linking_helpers.c +++ b/src/compiler/nir/nir_linking_helpers.c @@ -952,39 +952,6 @@ nir_compact_varyings(nir_shader *producer, nir_shader *consumer, default_to_smooth_interp); } -/* - * Mark XFB varyings as always_active_io in the consumer so the linking opts - * don't touch them. - */ -void -nir_link_xfb_varyings(nir_shader *producer, nir_shader *consumer) -{ - nir_variable *input_vars[MAX_VARYING][4] = { 0 }; - - nir_foreach_shader_in_variable(var, consumer) { - if (var->data.location >= VARYING_SLOT_VAR0 && - var->data.location - VARYING_SLOT_VAR0 < MAX_VARYING) { - - unsigned location = var->data.location - VARYING_SLOT_VAR0; - input_vars[location][var->data.location_frac] = var; - } - } - - nir_foreach_shader_out_variable(var, producer) { - if (var->data.location >= VARYING_SLOT_VAR0 && - var->data.location - VARYING_SLOT_VAR0 < MAX_VARYING) { - - if (!var->data.always_active_io) - continue; - - unsigned location = var->data.location - VARYING_SLOT_VAR0; - if (input_vars[location][var->data.location_frac]) { - input_vars[location][var->data.location_frac]->data.always_active_io = true; - } - } - } -} - static bool does_varying_match(nir_variable *out_var, nir_variable *in_var) {