gles2: Add GL_EXT_texture_format_BGRA8888 support
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 7 Oct 2010 21:03:53 +0000 (17:03 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 7 Oct 2010 21:08:50 +0000 (17:08 -0400)
src/mesa/drivers/dri/intel/intel_extensions_es2.c
src/mesa/main/APIspec.xml
src/mesa/main/extensions.c
src/mesa/main/mtypes.h

index 24f64045ef878adee50412b8ece4abe2b20a32f8..ed5db20e38a4e4eb0a0b0e2fc9e5eefdf940db56 100644 (file)
@@ -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",
index 4c5fd59d4fb2d4dd9808a4499090d309e367f22d..4dc0b0d485194b69a1fb3ab0eff900a0b32e4d25 100644 (file)
                <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"/>
 
        <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">
        <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"/>
index d845ecee8406783e071bfa5ee7d38cf9429c6c01..e8f946670e211ad3677f8a42b3d769e228f00054 100644 (file)
@@ -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;
 }
 
index 269968d6772b4f6d6b6a6e39651d6cd52a5fc662..aa9676665ff0d35f3c70630af490fbc2ba01ad3a 100644 (file)
@@ -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 */