From a83fd26d0effc8e65ff601c2ad3314058b98f107 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 3 Apr 2024 12:26:20 -0400 Subject: [PATCH] nir/print: stop trying to match i/o vars using base/driver_location MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this is broken Reviewed-by: Marek Olšák Part-of: --- src/compiler/nir/nir_print.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/compiler/nir/nir_print.c b/src/compiler/nir/nir_print.c index b498ebc5b75..304e5687546 100644 --- a/src/compiler/nir/nir_print.c +++ b/src/compiler/nir/nir_print.c @@ -1632,12 +1632,15 @@ print_intrinsic_instr(nir_intrinsic_instr *instr, print_state *state) } nir_foreach_variable_with_modes(var, state->shader, var_mode) { - if ((var->data.driver_location == nir_intrinsic_base(instr)) && - (instr->intrinsic == nir_intrinsic_load_uniform || - (nir_intrinsic_component(instr) >= var->data.location_frac && + if (!var->name) + continue; + if (((instr->intrinsic == nir_intrinsic_load_uniform && + var->data.driver_location == nir_intrinsic_base(instr)) || + (instr->intrinsic != nir_intrinsic_load_uniform && + var->data.location == nir_intrinsic_io_semantics(instr).location)) && + ((nir_intrinsic_component(instr) >= var->data.location_frac && nir_intrinsic_component(instr) < - (var->data.location_frac + glsl_get_components(var->type)))) && - var->name) { + (var->data.location_frac + glsl_get_components(var->type))))) { fprintf(fp, " // %s", var->name); break; }