Mesa (master): gles2: Add GL_EXT_texture_format_BGRA8888 support

Kristian Høgsberg krh at kemper.freedesktop.org
Thu Oct 7 21:10:00 UTC 2010


Module: Mesa
Branch: master
Commit: 1d595c7cd4aefc7baf1942626f53bec8f6699f7f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d595c7cd4aefc7baf1942626f53bec8f6699f7f

Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Thu Oct  7 17:03:53 2010 -0400

gles2: Add GL_EXT_texture_format_BGRA8888 support

---

 src/mesa/drivers/dri/intel/intel_extensions_es2.c |    1 +
 src/mesa/main/APIspec.xml                         |   11 ++++++++++-
 src/mesa/main/extensions.c                        |    4 ++++
 src/mesa/main/mtypes.h                            |    1 +
 4 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_extensions_es2.c b/src/mesa/drivers/dri/intel/intel_extensions_es2.c
index 24f6404..ed5db20 100644
--- a/src/mesa/drivers/dri/intel/intel_extensions_es2.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions_es2.c
@@ -69,6 +69,7 @@ static const char *es2_extensions[] = {
    "GL_ARB_depth_texture",
    "GL_EXT_packed_depth_stencil",
    "GL_EXT_framebuffer_object",
+   "GL_EXT_texture_format_BGRA8888",
 
 #if FEATURE_OES_EGL_image
    "GL_OES_EGL_image",
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index 4c5fd59..4dc0b0d 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -383,6 +383,7 @@
 		<value name="GL_ALPHA"/>
 		<value name="GL_RGB"/>
 		<value name="GL_RGBA"/>
+		<value name="GL_BGRA_EXT"/>
 		<value name="GL_LUMINANCE"/>
 		<value name="GL_LUMINANCE_ALPHA"/>
 		<value name="GL_DEPTH_COMPONENT" category="OES_depth_texture"/>
@@ -458,11 +459,18 @@
 
 	<desc name="format" category="OES_packed_depth_stencil">
 		<value name="GL_DEPTH_STENCIL_OES"/>
-
 		<desc name="type" error="GL_INVALID_OPERATION">
 			<value name="GL_UNSIGNED_INT_24_8_OES"/>
 		</desc>
 	</desc>
+
+	<desc name="format" category="EXT_texture_format_BGRA8888">
+		<value name="GL_BGRA_EXT"/>
+
+		<desc name="type" error="GL_INVALID_OPERATION">
+			<value name="GL_UNSIGNED_BYTE"/>
+		</desc>
+	</desc>
 </template>
 
 <template name="TexEnv">
@@ -4121,6 +4129,7 @@
 	<category name="OES_depth_texture"/>
 	<category name="OES_packed_depth_stencil"/>
 	<category name="OES_standard_derivatives"/>
+	<category name="EXT_texture_format_BGRA8888"/>
 
 	<category name="EXT_texture_compression_dxt1"/>
 	<category name="EXT_blend_minmax"/>
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index d845ece..e8f9466 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -211,6 +211,7 @@ static const struct {
    { ON,  "GL_SGIS_texture_lod",               F(SGIS_texture_lod) },
    { ON,  "GL_SUN_multi_draw_arrays",          F(EXT_multi_draw_arrays) },
    { OFF, "GL_S3_s3tc",                        F(S3_s3tc) },
+   { OFF, "GL_EXT_texture_format_BGRA8888",    F(EXT_texture_format_BGRA8888) },
 #if FEATURE_OES_EGL_image
    { OFF, "GL_OES_EGL_image",                  F(OES_EGL_image) },
 #endif
@@ -894,6 +895,9 @@ make_extension_string_es2(const GLcontext *ctx, GLubyte *str)
       len += append_extension(&str, "GL_OES_EGL_image");
 #endif
 
+   if (ctx->Extensions.EXT_texture_format_BGRA8888)
+      len += append_extension(&str, "GL_EXT_texture_format_BGRA8888");
+
    return len;
 }
 
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 269968d..aa96766 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2710,6 +2710,7 @@ struct gl_extensions
    GLboolean S3_s3tc;
    GLboolean OES_EGL_image;
    GLboolean OES_draw_texture;
+   GLboolean EXT_texture_format_BGRA8888;
    /** The extension string */
    const GLubyte *String;
    /** Number of supported extensions */




More information about the mesa-commit mailing list