Mesa (texformat-rework): swrast: fix texel decoding in opt_sample_rgba_2d()
Brian Paul
brianp at kemper.freedesktop.org
Thu Oct 29 02:15:36 UTC 2009
Module: Mesa
Branch: texformat-rework
Commit: 1e7517f059b1f3601502a199b05453eabfe56cdb
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e7517f059b1f3601502a199b05453eabfe56cdb
Author: Brian Paul <brianp at vmware.com>
Date: Wed Oct 28 19:38:12 2009 -0600
swrast: fix texel decoding in opt_sample_rgba_2d()
---
src/mesa/swrast/s_texfilter.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
index db03c6a..0bb988e 100644
--- a/src/mesa/swrast/s_texfilter.c
+++ b/src/mesa/swrast/s_texfilter.c
@@ -1391,11 +1391,11 @@ opt_sample_rgba_2d(GLcontext *ctx,
const GLint col = IFLOOR(texcoords[i][0] * width) & colMask;
const GLint row = IFLOOR(texcoords[i][1] * height) & rowMask;
const GLint pos = (row << shift) | col;
- const GLubyte *texel = ((GLubyte *) img->Data) + (pos << 2); /* pos*4 */
- rgba[i][RCOMP] = UBYTE_TO_FLOAT(texel[3]);
- rgba[i][GCOMP] = UBYTE_TO_FLOAT(texel[2]);
- rgba[i][BCOMP] = UBYTE_TO_FLOAT(texel[1]);
- rgba[i][ACOMP] = UBYTE_TO_FLOAT(texel[0]);
+ const GLuint texel = *((GLuint *) img->Data + pos);
+ rgba[i][RCOMP] = UBYTE_TO_FLOAT( (texel >> 24) );
+ rgba[i][GCOMP] = UBYTE_TO_FLOAT( (texel >> 16) & 0xff );
+ rgba[i][BCOMP] = UBYTE_TO_FLOAT( (texel >> 8) & 0xff );
+ rgba[i][ACOMP] = UBYTE_TO_FLOAT( (texel ) & 0xff );
}
}
More information about the mesa-commit
mailing list