i965/nir: Simplify uniform setup
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 1 Oct 2015 00:37:36 +0000 (17:37 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 2 Oct 2015 21:19:39 +0000 (14:19 -0700)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp

index 829c663..eb0fe7b 100644 (file)
@@ -185,20 +185,17 @@ fs_visitor::nir_setup_uniforms(nir_shader *shader)
    if (shader_prog) {
       brw_nir_setup_glsl_uniforms(shader, shader_prog, prog,
                                   stage_prog_data, true);
-
-      foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
-         /* UBO's and atomics don't take up space in the uniform file */
-         if (var->interface_type != NULL || var->type->contains_atomic())
-            continue;
-
-         if(type_size_scalar(var->type) > 0)
-            param_size[var->data.driver_location] = type_size_scalar(var->type);
-      }
    } else {
       brw_nir_setup_arb_uniforms(shader, prog, stage_prog_data);
+   }
+
+   foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
+      /* UBO's and atomics don't take up space in the uniform file */
+      if (var->interface_type != NULL || var->type->contains_atomic())
+         continue;
 
-      if(prog->Parameters->NumParameters > 0)
-         param_size[0] = prog->Parameters->NumParameters * 4;
+      if (type_size_scalar(var->type) > 0)
+         param_size[var->data.driver_location] = type_size_scalar(var->type);
    }
 }
 
index 36bb35f..8274d48 100644 (file)
@@ -139,22 +139,17 @@ vec4_visitor::nir_setup_uniforms(nir_shader *shader)
    if (shader_prog) {
       brw_nir_setup_glsl_uniforms(shader, shader_prog, prog,
                                   stage_prog_data, false);
-
-      foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
-         /* UBO's, atomics and samplers don't take up space in the
-            uniform file */
-         if (var->interface_type != NULL || var->type->contains_atomic() ||
-             type_size_vec4(var->type) == 0) {
-            continue;
-         }
-
-         uniform_size[var->data.driver_location] = type_size_vec4(var->type);
-      }
    } else {
       brw_nir_setup_arb_uniforms(shader, prog, stage_prog_data);
+   }
+
+   foreach_list_typed(nir_variable, var, node, &shader->uniforms) {
+      /* UBO's and atomics don't take up space in the uniform file */
+      if (var->interface_type != NULL || var->type->contains_atomic())
+         continue;
 
-      if(prog->Parameters->NumParameters > 0)
-         uniform_size[0] = prog->Parameters->NumParameters;
+      if (type_size_vec4(var->type) > 0)
+         uniform_size[var->data.driver_location] = type_size_vec4(var->type);
    }
 }