Mesa (master): mesa: access pixels as GLushort in unpack_SL8()
Brian Paul
brianp at kemper.freedesktop.org
Wed Nov 30 14:21:17 UTC 2011
Module: Mesa
Branch: master
Commit: 25c8a112abf4bbf271c6972f7539ca2a1c7683bd
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25c8a112abf4bbf271c6972f7539ca2a1c7683bd
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 28 11:08:01 2011 -0700
mesa: access pixels as GLushort in unpack_SL8()
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! */
}
}
More information about the mesa-commit
mailing list