Mesa (master): r300g: fix vertex data swizzle

Corbin Simpson csimpson at kemper.freedesktop.org
Mon Jan 18 10:35:29 UTC 2010


Module: Mesa
Branch: master
Commit: d3d41cbc3504536c2d2dfa2faaae86b2ae5eb670
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3d41cbc3504536c2d2dfa2faaae86b2ae5eb670

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Jan 17 14:54:35 2010 +0100

r300g: fix vertex data swizzle

---

 src/gallium/drivers/r300/r300_state_inlines.h |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h
index a9ee0a2..e2180b3 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -551,7 +551,11 @@ r300_translate_vertex_data_swizzle(enum pipe_format format) {
     /* Swizzles for 8bits formats are in the reversed order, not sure why. */
     if (desc->channel[0].size == 8) {
         for (i = 0; i < 4; i++) {
-            swizzle[i] = 3 - desc->swizzle[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++) {




More information about the mesa-commit mailing list