nir: Fix overlapping vars in nir_assign_io_var_locations()
[mesa.git] / src / compiler / nir / nir_linking_helpers.c
index 28d2774cae205d7cf08c8f02b403c39a7d1423e3..8d7302c93c15e4b8ab88610b5318ac797662fb93 100644 (file)
@@ -1079,7 +1079,7 @@ nir_assign_io_var_locations(struct exec_list *var_list, unsigned *size,
          if (last_slot_location > location) {
             unsigned num_unallocated_slots = last_slot_location - location;
             unsigned first_unallocated_slot = var_size - num_unallocated_slots;
-            for (unsigned i = first_unallocated_slot; i < num_unallocated_slots; i++) {
+            for (unsigned i = first_unallocated_slot; i < var_size; i++) {
                assigned_locations[var->data.location + i] = location;
                location++;
             }