i965: Remove catch-all nir_lower_io call with specific cases.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 25 Feb 2016 05:50:42 +0000 (21:50 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 26 Feb 2016 23:55:59 +0000 (15:55 -0800)
Most cases already call nir_lower_io explicitly for input and output
lowering.  This catch all isn't very useful anymore - we can just add it
to the remaining cases.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/drivers/dri/i965/brw_nir.c

index 6996630f3186fc39edc4d8f225a1e31b76691514..f21e67628d24b779e52fbd50aff83e89b8f1f612 100644 (file)
@@ -252,6 +252,7 @@ brw_nir_lower_inputs(nir_shader *nir,
          foreach_list_typed(nir_variable, var, node, &nir->inputs) {
             var->data.driver_location = var->data.location;
          }
+         nir_lower_io(nir, nir_var_shader_in, type_size_vec4);
       } else {
          /* The GLSL linker will have already matched up GS inputs and
           * the outputs of prior stages.  The driver does extend VS outputs
@@ -323,6 +324,7 @@ brw_nir_lower_inputs(nir_shader *nir,
       assert(is_scalar);
       nir_assign_var_locations(&nir->inputs, &nir->num_inputs,
                                type_size_scalar);
+      nir_lower_io(nir, nir_var_shader_in, type_size_scalar);
       break;
    case MESA_SHADER_COMPUTE:
       /* Compute shaders have no inputs. */
@@ -349,6 +351,7 @@ brw_nir_lower_outputs(nir_shader *nir,
       } else {
          nir_foreach_variable(var, &nir->outputs)
             var->data.driver_location = var->data.location;
+         nir_lower_io(nir, nir_var_shader_out, type_size_vec4);
       }
       break;
    case MESA_SHADER_TESS_CTRL: {
@@ -378,6 +381,7 @@ brw_nir_lower_outputs(nir_shader *nir,
    case MESA_SHADER_FRAGMENT:
       nir_assign_var_locations(&nir->outputs, &nir->num_outputs,
                                type_size_scalar);
+      nir_lower_io(nir, nir_var_shader_out, type_size_scalar);
       break;
    case MESA_SHADER_COMPUTE:
       /* Compute shaders have no outputs. */
@@ -516,7 +520,6 @@ brw_nir_lower_io(nir_shader *nir,
    OPT_V(brw_nir_lower_inputs, devinfo, is_scalar,
          use_legacy_snorm_formula, vs_attrib_wa_flags);
    OPT_V(brw_nir_lower_outputs, devinfo, is_scalar);
-   OPT_V(nir_lower_io, nir_var_all, is_scalar ? type_size_scalar : type_size_vec4);
 
    return nir;
 }