mesa: Fix alpha component in unpack_R8G8B8X8_SRGB.
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>
Tue, 16 Sep 2014 06:28:05 +0000 (16:28 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 17 Sep 2014 01:56:23 +0000 (11:56 +1000)
The function was using the "X" component as the alpha channel,
rather than setting alpha to 1.0.

Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/mesa/main/format_unpack.c

index b84ed02..0e2c438 100644 (file)
@@ -2100,7 +2100,7 @@ unpack_R8G8B8X8_SRGB(const void *src, GLfloat dst[][4], GLuint n)
       dst[i][RCOMP] = util_format_srgb_8unorm_to_linear_float( (s[i]      ) & 0xff );
       dst[i][GCOMP] = util_format_srgb_8unorm_to_linear_float( (s[i] >>  8) & 0xff );
       dst[i][BCOMP] = util_format_srgb_8unorm_to_linear_float( (s[i] >> 16) & 0xff );
-      dst[i][ACOMP] = UBYTE_TO_FLOAT( s[i] >> 24 ); /* linear! */
+      dst[i][ACOMP] = 1.0f;
    }
 }