mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 04:10:10 +01:00
texstore argb2101010: merge GL_RGBA and GL_RGB cases
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
f1c5b5d15e
commit
53e0f32efe
1 changed files with 3 additions and 15 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue