[Mesa-dev] [PATCH 2/2] mesa: access pixels as GLushort in unpack_SL8()

Brian Paul brianp at vmware.com
Mon Nov 28 10:14:18 PST 2011


Per the format comments and the texstore code, use a GLushort to access the
pixel.  The code was OK as-is on little endian machines.
---
 src/mesa/main/format_unpack.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/format_unpack.c b/src/mesa/main/format_unpack.c
index 0ab6940..0411f5f 100644
--- a/src/mesa/main/format_unpack.c
+++ b/src/mesa/main/format_unpack.c
@@ -749,13 +749,13 @@ unpack_SL8(const void *src, GLfloat dst[][4], GLuint n)
 static void
 unpack_SLA8(const void *src, GLfloat dst[][4], GLuint n)
 {
-   const GLubyte *s = (const GLubyte *) src;
+   const GLushort *s = (const GLushort *) src;
    GLuint i;
    for (i = 0; i < n; i++) {
       dst[i][RCOMP] =
       dst[i][GCOMP] =
-      dst[i][BCOMP] = nonlinear_to_linear(s[i*2+0]);
-      dst[i][ACOMP] = UBYTE_TO_FLOAT(s[i*2+1]); /* linear! */
+      dst[i][BCOMP] = nonlinear_to_linear(s[i] & 0xff);
+      dst[i][ACOMP] = UBYTE_TO_FLOAT(s[i] >> 8); /* linear! */
    }
 }
 
-- 
1.7.3.4



More information about the mesa-dev mailing list