nir: update nir->num_inputs, num_outputs in nir_recompute_io_bases()
authorMihai Preda <mhpreda@gmail.com>
Wed, 29 Jun 2022 12:18:41 +0000 (15:18 +0300)
committerMarge Bot <emma+marge@anholt.net>
Wed, 19 Apr 2023 21:42:11 +0000 (21:42 +0000)
Since nir_recompute_io_bases is going to be used instead of
nir_assign_io_var_locations, we need to update num_inputs, num_outputs.

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861>

src/compiler/nir/nir_lower_mediump.c

index 3da34ea..8698b0d 100644 (file)
@@ -130,6 +130,11 @@ nir_recompute_io_bases(nir_shader *nir, nir_variable_mode modes)
       nir_metadata_preserve(impl, nir_metadata_all);
    }
 
+   if (modes & nir_var_shader_in)
+      nir->num_inputs = BITSET_COUNT(inputs);
+   if (modes & nir_var_shader_out)
+      nir->num_outputs = BITSET_COUNT(outputs);
+
    return changed;
 }