r300g: reorder parts of translate_texformat
authorMarek Olšák <maraeo@gmail.com>
Tue, 1 Mar 2011 04:14:27 +0000 (05:14 +0100)
committerMarek Olšák <maraeo@gmail.com>
Tue, 1 Mar 2011 04:25:33 +0000 (05:25 +0100)
src/gallium/drivers/r300/r300_texture.c

index 831b06b0e587b7943d5f428b14afc11c0425f94a..6ed3125e49b337dfbaf48c78722ec6e05dd676ff 100644 (file)
@@ -205,20 +205,6 @@ uint32_t r300_translate_texformat(enum pipe_format format,
         }
     }
 
-    /* Add sign. */
-    for (i = 0; i < desc->nr_channels; i++) {
-        if (desc->channel[i].type == UTIL_FORMAT_TYPE_SIGNED) {
-            result |= sign_bit[i];
-        }
-    }
-
-    /* This is truly a special format.
-     * It stores R8G8 and B is computed using sqrt(1 - R^2 - G^2)
-     * in the sampler unit. Also known as D3DFMT_CxV8U8. */
-    if (format == PIPE_FORMAT_R8G8Bx_SNORM) {
-        return R300_TX_FORMAT_CxV8U8 | result;
-    }
-
     /* RGTC formats. */
     if (desc->layout == UTIL_FORMAT_LAYOUT_RGTC) {
         switch (format) {
@@ -235,6 +221,20 @@ uint32_t r300_translate_texformat(enum pipe_format format,
         }
     }
 
+    /* This is truly a special format.
+     * It stores R8G8 and B is computed using sqrt(1 - R^2 - G^2)
+     * in the sampler unit. Also known as D3DFMT_CxV8U8. */
+    if (format == PIPE_FORMAT_R8G8Bx_SNORM) {
+        return R300_TX_FORMAT_CxV8U8 | result;
+    }
+
+    /* Add sign. */
+    for (i = 0; i < desc->nr_channels; i++) {
+        if (desc->channel[i].type == UTIL_FORMAT_TYPE_SIGNED) {
+            result |= sign_bit[i];
+        }
+    }
+
     /* See whether the components are of the same size. */
     for (i = 1; i < desc->nr_channels; i++) {
         uniform = uniform && desc->channel[0].size == desc->channel[i].size;