summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/formats.c
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2011-11-22 15:05:25 +0800
committerChia-I Wu <[email protected]>2011-11-27 12:43:24 +0800
commitd4fcf67a3ac78c29448000486dadc2b4b1b2a56d (patch)
treede68969c78428e72aef94a30adcd94c389bc56c4 /src/mesa/main/formats.c
parent6baa5f10c04641960e0bedce664d0a5cf39e8954 (diff)
mesa: add MESA_FORMAT_RGBX8888 and MESA_FORMAT_RGBX8888_REV
MESA_FORMAT_RGBX8888_REV is one of the opaque pixel formats used on Android. Thanks to texture-from-pixmap, drivers may actually see texture images with this format on Android. MESA_FORMAT_RGBX8888 is added only for completeness. Reviewed-by: Brian Paul <[email protected]> [olv: Move the new formats after MESA_FORMAT_ARGB8888_REV in gl_format. I accidentally moved them to the wrong place when preparing the patch.]
Diffstat (limited to 'src/mesa/main/formats.c')
-rw-r--r--src/mesa/main/formats.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index b934bd4d8c4..b9871aec883 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -123,6 +123,24 @@ static struct gl_format_info format_info[MESA_FORMAT_COUNT] =
1, 1, 4 /* BlockWidth/Height,Bytes */
},
{
+ MESA_FORMAT_RGBX8888, /* Name */
+ "MESA_FORMAT_RGBX8888", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_RGBX8888_REV, /* Name */
+ "MESA_FORMAT_RGBX8888_REV", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
MESA_FORMAT_XRGB8888, /* Name */
"MESA_FORMAT_XRGB8888", /* StrName */
GL_RGB, /* BaseFormat */
@@ -1987,6 +2005,8 @@ _mesa_format_to_type_and_comps(gl_format format,
case MESA_FORMAT_RGBA8888_REV:
case MESA_FORMAT_ARGB8888:
case MESA_FORMAT_ARGB8888_REV:
+ case MESA_FORMAT_RGBX8888:
+ case MESA_FORMAT_RGBX8888_REV:
case MESA_FORMAT_XRGB8888:
case MESA_FORMAT_XRGB8888_REV:
*datatype = GL_UNSIGNED_BYTE;
@@ -2492,6 +2512,10 @@ _mesa_format_matches_format_and_type(gl_format gl_format,
return ((format == GL_BGRA && (type == GL_UNSIGNED_INT_8_8_8_8 ||
(type == GL_UNSIGNED_BYTE && !littleEndian))));
+ case MESA_FORMAT_RGBX8888:
+ case MESA_FORMAT_RGBX8888_REV:
+ return GL_FALSE;
+
case MESA_FORMAT_XRGB8888:
case MESA_FORMAT_XRGB8888_REV:
return GL_FALSE;