Skip to content
Snippets Groups Projects
Commit 1c8812c2 authored by Jordan Justen's avatar Jordan Justen
Browse files

mesa formats: unpack ARGB8888/XRGB8888


Signed-off-by: default avatarJordan Justen <jordan.l.justen@intel.com>
Reviewed-by: default avatarBrian Paul <brianp@vmware.com>
parent 8c265cf5
No related branches found
Tags mesa-18.0.0-rc3
No related merge requests found
......@@ -2138,6 +2138,32 @@ unpack_int_rgba_RGBA_INT8(const GLbyte *src, GLuint dst[][4], GLuint n)
}
}
static void
unpack_int_rgba_ARGB8888(const GLbyte *src, GLuint dst[][4], GLuint n)
{
unsigned int i;
for (i = 0; i < n; i++) {
dst[i][RCOMP] = (GLubyte) src[i * 4 + 2];
dst[i][GCOMP] = (GLubyte) src[i * 4 + 1];
dst[i][BCOMP] = (GLubyte) src[i * 4 + 0];
dst[i][ACOMP] = (GLubyte) src[i * 4 + 3];
}
}
static void
unpack_int_rgba_XRGB8888(const GLbyte *src, GLuint dst[][4], GLuint n)
{
unsigned int i;
for (i = 0; i < n; i++) {
dst[i][RCOMP] = (GLubyte) src[i * 4 + 2];
dst[i][GCOMP] = (GLubyte) src[i * 4 + 1];
dst[i][BCOMP] = (GLubyte) src[i * 4 + 0];
dst[i][ACOMP] = (GLubyte) 0xff;
}
}
static void
unpack_int_rgba_RGB_UINT32(const GLuint *src, GLuint dst[][4], GLuint n)
{
......@@ -2590,6 +2616,14 @@ _mesa_unpack_uint_rgba_row(gl_format format, GLuint n,
unpack_int_rgba_RGBA_INT8(src, dst, n);
break;
case MESA_FORMAT_ARGB8888:
unpack_int_rgba_ARGB8888(src, dst, n);
break;
case MESA_FORMAT_XRGB8888:
unpack_int_rgba_XRGB8888(src, dst, n);
break;
case MESA_FORMAT_RGB_UINT32:
case MESA_FORMAT_RGB_INT32:
unpack_int_rgba_RGB_UINT32(src, dst, n);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment