st/mesa: remove useless code for lowered IO in st_nir_assign_vs_in_locations
authorMarek Olšák <marek.olsak@amd.com>
Tue, 25 Aug 2020 23:27:26 +0000 (19:27 -0400)
committerMarge Bot <eric+marge@anholt.net>
Wed, 26 Aug 2020 20:35:58 +0000 (20:35 +0000)
It's not needed.

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6465>

src/mesa/state_tracker/st_glsl_to_nir.cpp

index 442f1ffeeb8eecca77c2cfe96bdea8806eb89cf7..12e711936eaa328c7c7016a3ea9e3d949452ca57 100644 (file)
@@ -102,37 +102,11 @@ st_shader_gather_info(nir_shader *nir, struct gl_program *prog)
 void
 st_nir_assign_vs_in_locations(struct nir_shader *nir)
 {
-   if (nir->info.stage != MESA_SHADER_VERTEX)
+   if (nir->info.stage != MESA_SHADER_VERTEX || nir->info.io_lowered)
       return;
 
    nir->num_inputs = util_bitcount64(nir->info.inputs_read);
 
-   if (nir->info.io_lowered) {
-      /* Adjust the locations in load_input intrinsics. */
-      nir_foreach_function(f, nir) {
-         if (f->impl) {
-            nir_foreach_block(block, f->impl) {
-               nir_foreach_instr_safe(instr, block) {
-                  if (instr->type == nir_instr_type_intrinsic) {
-                     nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
-
-                     if (intrin->intrinsic == nir_intrinsic_load_input) {
-                        unsigned base = nir_intrinsic_base(intrin);
-                        unsigned loc = nir_intrinsic_io_semantics(intrin).location;
-
-                        assert(nir->info.inputs_read & BITFIELD64_BIT(loc));
-                        base = util_bitcount64(nir->info.inputs_read &
-                                               BITFIELD64_MASK(loc));
-                        nir_intrinsic_set_base(intrin, base);
-                     }
-                  }
-               }
-            }
-         }
-      }
-      return;
-   }
-
    bool removed_inputs = false;
 
    nir_foreach_shader_in_variable_safe(var, nir) {