Mesa (master): translate_generic: fix broken A8R8G8B8_UNORM output
Luca Barbieri
lb at kemper.freedesktop.org
Wed Aug 11 14:28:00 UTC 2010
Module: Mesa
Branch: master
Commit: 684aeb366fb72a2dbf9dd7a0803f29880858cd06
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=684aeb366fb72a2dbf9dd7a0803f29880858cd06
Author: Luca Barbieri <luca at luca-barbieri.com>
Date: Wed Aug 11 16:00:32 2010 +0200
translate_generic: fix broken A8R8G8B8_UNORM output
translate was attempting to output A8R8G8B8_UNORM as if it were
R8G8B8A8_UNORM.
Now the tests just added pass.
---
.../auxiliary/translate/translate_generic.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/gallium/auxiliary/translate/translate_generic.c b/src/gallium/auxiliary/translate/translate_generic.c
index 809a4e4..021099a 100644
--- a/src/gallium/auxiliary/translate/translate_generic.c
+++ b/src/gallium/auxiliary/translate/translate_generic.c
@@ -187,9 +187,15 @@ ATTRIB( R8G8B8_SNORM, 3, char, TO_8_SNORM )
ATTRIB( R8G8_SNORM, 2, char, TO_8_SNORM )
ATTRIB( R8_SNORM, 1, char, TO_8_SNORM )
-ATTRIB( A8R8G8B8_UNORM, 4, ubyte, TO_8_UNORM )
-/*ATTRIB( R8G8B8A8_UNORM, 4, ubyte, TO_8_UNORM )*/
-
+static void
+emit_A8R8G8B8_UNORM( const float *attrib, void *ptr)
+{
+ ubyte *out = (ubyte *)ptr;
+ out[0] = TO_8_UNORM(attrib[3]);
+ out[1] = TO_8_UNORM(attrib[0]);
+ out[2] = TO_8_UNORM(attrib[1]);
+ out[3] = TO_8_UNORM(attrib[2]);
+}
static void
emit_B8G8R8A8_UNORM( const float *attrib, void *ptr)
More information about the mesa-commit
mailing list