mesa: fix unpacking of RG88_REV texels
R should be in the high byte and G in the low byte for this format.
This commit is contained in:
@@ -522,8 +522,8 @@ unpack_RG88_REV(const void *src, GLfloat dst[][4], GLuint n)
|
||||
const GLushort *s = ((const GLushort *) src);
|
||||
GLuint i;
|
||||
for (i = 0; i < n; i++) {
|
||||
dst[i][RCOMP] = UBYTE_TO_FLOAT( s[i] & 0xff );
|
||||
dst[i][GCOMP] = UBYTE_TO_FLOAT( s[i] >> 8 );
|
||||
dst[i][RCOMP] = UBYTE_TO_FLOAT( s[i] >> 8 );
|
||||
dst[i][GCOMP] = UBYTE_TO_FLOAT( s[i] & 0xff );
|
||||
dst[i][BCOMP] = 0.0;
|
||||
dst[i][ACOMP] = 1.0;
|
||||
}
|
||||
|
||||
@@ -1040,8 +1040,8 @@ static void FETCH(f_rg88_rev)( const struct swrast_texture_image *texImage,
|
||||
GLint i, GLint j, GLint k, GLfloat *texel )
|
||||
{
|
||||
const GLushort s = *TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
|
||||
texel[RCOMP] = UBYTE_TO_FLOAT( s & 0xff );
|
||||
texel[GCOMP] = UBYTE_TO_FLOAT( s >> 8 );
|
||||
texel[RCOMP] = UBYTE_TO_FLOAT( s >> 8 );
|
||||
texel[GCOMP] = UBYTE_TO_FLOAT( s & 0xff );
|
||||
texel[BCOMP] = 0.0;
|
||||
texel[ACOMP] = 1.0;
|
||||
}
|
||||
@@ -1052,7 +1052,7 @@ static void store_texel_rg88_rev(struct swrast_texture_image *texImage,
|
||||
{
|
||||
const GLubyte *rgba = (const GLubyte *) texel;
|
||||
GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
|
||||
*dst = PACK_COLOR_88(rgba[GCOMP], rgba[RCOMP]);
|
||||
*dst = PACK_COLOR_88(rgba[RCOMP], rgba[GCOMP]);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user