r300g: remove hacks from translate_vertex_data_swizzle
authorMarek Olšák <maraeo@gmail.com>
Tue, 9 Mar 2010 01:10:36 +0000 (02:10 +0100)
committerMarek Olšák <maraeo@gmail.com>
Tue, 9 Mar 2010 03:56:11 +0000 (04:56 +0100)
The first part of the fix of BGRA vertex colors.

src/gallium/drivers/r300/r300_state_inlines.h

index 2f3a56e1fbcf05e84500bf366c576547ecbaa528..af7827820cca7549b083743054d4e57069806198 100644 (file)
@@ -453,7 +453,6 @@ r300_translate_vertex_data_type(enum pipe_format format) {
 static INLINE uint16_t
 r300_translate_vertex_data_swizzle(enum pipe_format format) {
     const struct util_format_description *desc = util_format_description(format);
-    unsigned swizzle[4], i;
 
     assert(format);
 
@@ -463,25 +462,10 @@ r300_translate_vertex_data_swizzle(enum pipe_format format) {
         return 0;
     }
 
-    /* Swizzles for 8bits formats are in the reversed order, not sure why. */
-    if (desc->channel[0].size == 8) {
-        for (i = 0; i < 4; i++) {
-            if (desc->swizzle[i] <= 3) {
-                swizzle[i] = 3 - desc->swizzle[i];
-            } else {
-                swizzle[i] = desc->swizzle[i];
-            }
-        }
-    } else {
-        for (i = 0; i < 4; i++) {
-            swizzle[i] = desc->swizzle[i];
-        }
-    }
-
-    return ((swizzle[0] << R300_SWIZZLE_SELECT_X_SHIFT) |
-            (swizzle[1] << R300_SWIZZLE_SELECT_Y_SHIFT) |
-            (swizzle[2] << R300_SWIZZLE_SELECT_Z_SHIFT) |
-            (swizzle[3] << R300_SWIZZLE_SELECT_W_SHIFT) |
+    return ((desc->swizzle[0] << R300_SWIZZLE_SELECT_X_SHIFT) |
+            (desc->swizzle[1] << R300_SWIZZLE_SELECT_Y_SHIFT) |
+            (desc->swizzle[2] << R300_SWIZZLE_SELECT_Z_SHIFT) |
+            (desc->swizzle[3] << R300_SWIZZLE_SELECT_W_SHIFT) |
             (0xf << R300_WRITE_ENA_SHIFT));
 }