glsl_to_tgsi: replace open-coded swizzle_for_size()
authorBryan Cain <bryancain3@gmail.com>
Fri, 5 Aug 2011 19:37:33 +0000 (14:37 -0500)
committerBryan Cain <bryancain3@gmail.com>
Fri, 5 Aug 2011 19:39:18 +0000 (14:39 -0500)
This is a port of commit 4c7e215c7bb to glsl_to_tgsi.

src/mesa/state_tracker/st_glsl_to_tgsi.cpp

index e10243add8afb829861577c6221447b29b6fdfbb..d7a1ba80e1da9703e9549a4fe14b0d8cc85f03ac 100644 (file)
@@ -949,8 +949,6 @@ st_src_reg
 glsl_to_tgsi_visitor::get_temp(const glsl_type *type)
 {
    st_src_reg src;
-   int swizzle[4];
-   int i;
 
    src.type = glsl_version >= 130 ? type->base_type : GLSL_TYPE_FLOAT;
    src.file = PROGRAM_TEMPORARY;
@@ -961,12 +959,7 @@ glsl_to_tgsi_visitor::get_temp(const glsl_type *type)
    if (type->is_array() || type->is_record()) {
       src.swizzle = SWIZZLE_NOOP;
    } else {
-      for (i = 0; i < type->vector_elements; i++)
-         swizzle[i] = i;
-      for (; i < 4; i++)
-         swizzle[i] = type->vector_elements - 1;
-      src.swizzle = MAKE_SWIZZLE4(swizzle[0], swizzle[1],
-                                 swizzle[2], swizzle[3]);
+      src.swizzle = swizzle_for_size(type->vector_elements);
    }
    src.negate = 0;