diff options
author | marha <marha@users.sourceforge.net> | 2013-01-14 15:13:52 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-01-14 15:13:52 +0100 |
commit | 2a1abdc8fe640583dac90dc316caf2d40b9ee4e2 (patch) | |
tree | 721982dda954c217323cf726bf1ff527b0477ebe /mesalib/src/mesa/main/texstore.c | |
parent | ddc05759f098f06bd93253a7bffe38640963dfb3 (diff) | |
download | vcxsrv-2a1abdc8fe640583dac90dc316caf2d40b9ee4e2.tar.gz vcxsrv-2a1abdc8fe640583dac90dc316caf2d40b9ee4e2.tar.bz2 vcxsrv-2a1abdc8fe640583dac90dc316caf2d40b9ee4e2.zip |
libxtrans xwininfo libX11 libXau libXmu libXdmcp mesa mkfontscale
xkeyboard-config git update 14 jan 2013
libxtrans: ec3136232f7ce930f9ca812b6ab42a71b60af4af
xwininfo: 3e60a26559221e561770710a8c4ed0b8ebc31afb
libX11: 3cd974b1d4d1fa6389d3695fa9fcc0c22a51d50c
libXau: 8570d287396934f26224c76d48d7f17d87380e72
libXmu: 9b253d99d5b4f3fbb681c2cb1b84f8f9acfee528
libXdmcp: ca65a92405500393f09d34388edbbf6350e6c146
mesa: e3e1ffb2520498584ef402213d0c8aa4303a46a3
mkfontscale: 1157b3039551b552b483f05f6a411e57941a87c0
Diffstat (limited to 'mesalib/src/mesa/main/texstore.c')
-rw-r--r-- | mesalib/src/mesa/main/texstore.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/mesalib/src/mesa/main/texstore.c b/mesalib/src/mesa/main/texstore.c index 751150937..a5c7712e0 100644 --- a/mesalib/src/mesa/main/texstore.c +++ b/mesalib/src/mesa/main/texstore.c @@ -1714,18 +1714,20 @@ _mesa_texstore_argb2101010(TEXSTORE_PARAMS) srcPacking, ctx->_ImageTransferState); const GLfloat *src = tempImage; + const GLushort aMask = (srcFormat == GL_RGB) ? 0xffff : 0; GLint img, row, col; if (!tempImage) return GL_FALSE; for (img = 0; img < srcDepth; img++) { GLubyte *dstRow = dstSlices[img]; - if (baseInternalFormat == GL_RGBA) { + if (baseInternalFormat == GL_RGBA || baseInternalFormat == GL_RGB) { for (row = 0; row < srcHeight; row++) { GLuint *dstUI = (GLuint *) dstRow; for (col = 0; col < srcWidth; col++) { GLushort a,r,g,b; UNCLAMPED_FLOAT_TO_USHORT(a, src[ACOMP]); + a = a | aMask; UNCLAMPED_FLOAT_TO_USHORT(r, src[RCOMP]); UNCLAMPED_FLOAT_TO_USHORT(g, src[GCOMP]); UNCLAMPED_FLOAT_TO_USHORT(b, src[BCOMP]); @@ -1734,20 +1736,6 @@ _mesa_texstore_argb2101010(TEXSTORE_PARAMS) } dstRow += dstRowStride; } - } else if (baseInternalFormat == GL_RGB) { - for (row = 0; row < srcHeight; row++) { - GLuint *dstUI = (GLuint *) dstRow; - for (col = 0; col < srcWidth; col++) { - GLushort r,g,b; - - UNCLAMPED_FLOAT_TO_USHORT(r, src[RCOMP]); - UNCLAMPED_FLOAT_TO_USHORT(g, src[GCOMP]); - UNCLAMPED_FLOAT_TO_USHORT(b, src[BCOMP]); - dstUI[col] = PACK_COLOR_2101010_US(0xffff, r, g, b); - src += 4; - } - dstRow += dstRowStride; - } } else { ASSERT(0); } |