i965/vec4/nir: simplify glsl_type_for_nir_alu_type()
authorConnor Abbott <connor.w.abbott@intel.com>
Mon, 10 Aug 2015 18:35:34 +0000 (11:35 -0700)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Tue, 3 Jan 2017 10:26:50 +0000 (11:26 +0100)
Less duplication, one one less case to handle for doubles and support
for sized NIR types.

v2: Fix call to get_instance by swapping rows and columns params (Iago)

Signed-off-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp

index 9a851a82108ca492192040556369f2d25d212deb..7128ca717203304edd2f610b1601f89bead66435 100644 (file)
@@ -1779,20 +1779,8 @@ const glsl_type *
 glsl_type_for_nir_alu_type(nir_alu_type alu_type,
                            unsigned components)
 {
-   switch (alu_type) {
-   case nir_type_float:
-      return glsl_type::vec(components);
-   case nir_type_int:
-      return glsl_type::ivec(components);
-   case nir_type_uint:
-      return glsl_type::uvec(components);
-   case nir_type_bool:
-      return glsl_type::bvec(components);
-   default:
-      return glsl_type::error_type;
-   }
-
-   return glsl_type::error_type;
+   return glsl_type::get_instance(brw_glsl_base_type_for_nir_type(alu_type),
+                                  components, 1);
 }
 
 void