[Mesa-dev] [PATCH 1/7] mesa: Remove ARB_multitexture extension enable flag

Ian Romanick idr at freedesktop.org
Mon Sep 26 12:37:57 PDT 2011


From: Ian Romanick <ian.d.romanick at intel.com>

All drivers remaining in Mesa support this extension.  This extension
is either required or optional features in desktop OpenGL, OpenGL ES
1.x, and OpenGL ES 2.x.  The existing support is already partially
broken in Mesa (e.g., querying GL_CLIENT_ACTIVE_TEXTURE in OpenGL ES
2.x).  This patch does not change the situation in any way.

This extension was previously not supported on i810, mga (G200), or
tdfx (Voodoo Banshee).

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
 src/mesa/drivers/dri/intel/intel_extensions.c    |    1 -
 src/mesa/drivers/dri/intel/intel_extensions_es.c |    1 -
 src/mesa/drivers/dri/nouveau/nouveau_context.c   |    1 -
 src/mesa/drivers/dri/r200/r200_context.c         |    1 -
 src/mesa/drivers/dri/r300/r300_context.c         |    1 -
 src/mesa/drivers/dri/r600/r600_context.c         |    1 -
 src/mesa/drivers/dri/radeon/radeon_context.c     |    1 -
 src/mesa/drivers/dri/swrast/swrast.c             |    1 -
 src/mesa/main/extensions.c                       |    4 +---
 src/mesa/main/get.c                              |   10 +++-------
 src/mesa/main/mtypes.h                           |    1 -
 src/mesa/main/version.c                          |    9 +++------
 src/mesa/state_tracker/st_extensions.c           |    4 ----
 13 files changed, 7 insertions(+), 29 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c
index 6ccd5b3..829e993 100644
--- a/src/mesa/drivers/dri/intel/intel_extensions.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c
@@ -62,7 +62,6 @@ intelInitExtensions(struct gl_context *ctx)
    ctx->Extensions.ARB_framebuffer_object = true;
    ctx->Extensions.ARB_half_float_pixel = true;
    ctx->Extensions.ARB_map_buffer_range = true;
-   ctx->Extensions.ARB_multitexture = true;
    ctx->Extensions.ARB_point_sprite = true;
    ctx->Extensions.ARB_sampler_objects = true;
    ctx->Extensions.ARB_shader_objects = true;
diff --git a/src/mesa/drivers/dri/intel/intel_extensions_es.c b/src/mesa/drivers/dri/intel/intel_extensions_es.c
index bbc3220..c428529 100644
--- a/src/mesa/drivers/dri/intel/intel_extensions_es.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions_es.c
@@ -81,7 +81,6 @@ static const char *es2_extensions[] = {
    /* Required by GLES2 */
    "GL_ARB_fragment_program",
    "GL_ARB_fragment_shader",
-   "GL_ARB_multitexture",
    "GL_ARB_shader_objects",
    "GL_ARB_texture_cube_map",
    "GL_ARB_texture_mirrored_repeat",
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c
index 33c0df6..00d78bb 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_context.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c
@@ -117,7 +117,6 @@ nouveau_context_init(struct gl_context *ctx, struct nouveau_screen *screen,
 	nctx->hw.chan->user_private = nctx;
 
 	/* Enable any supported extensions. */
-	ctx->Extensions.ARB_multitexture = true;
 	ctx->Extensions.ARB_texture_mirrored_repeat = true;
 	ctx->Extensions.EXT_blend_color = true;
 	ctx->Extensions.EXT_blend_minmax = true;
diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index bc01c61..8b63fd2 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -355,7 +355,6 @@ GLboolean r200CreateContext( gl_api api,
    _math_matrix_set_identity( &rmesa->tmpmat );
 
    ctx->Extensions.ARB_half_float_pixel = true;
-   ctx->Extensions.ARB_multitexture = true;
    ctx->Extensions.ARB_occlusion_query = true;
    ctx->Extensions.ARB_texture_border_clamp = true;
    ctx->Extensions.ARB_texture_env_combine = true;
diff --git a/src/mesa/drivers/dri/r300/r300_context.c b/src/mesa/drivers/dri/r300/r300_context.c
index d7a5da1..079cfcf 100644
--- a/src/mesa/drivers/dri/r300/r300_context.c
+++ b/src/mesa/drivers/dri/r300/r300_context.c
@@ -365,7 +365,6 @@ static void r300InitGLExtensions(struct gl_context *ctx)
 
 	ctx->Extensions.ARB_depth_texture = true;
 	ctx->Extensions.ARB_fragment_program = true;
-	ctx->Extensions.ARB_multitexture = true;
 	ctx->Extensions.ARB_shadow = true;
 	ctx->Extensions.ARB_shadow_ambient = true;
 	ctx->Extensions.ARB_texture_border_clamp = true;
diff --git a/src/mesa/drivers/dri/r600/r600_context.c b/src/mesa/drivers/dri/r600/r600_context.c
index 247d551..367aec0 100644
--- a/src/mesa/drivers/dri/r600/r600_context.c
+++ b/src/mesa/drivers/dri/r600/r600_context.c
@@ -261,7 +261,6 @@ static void r600InitGLExtensions(struct gl_context *ctx)
 	ctx->Extensions.ARB_fragment_program = true;
 	ctx->Extensions.ARB_fragment_program_shadow = true;
 	ctx->Extensions.ARB_occlusion_query = true;
-	ctx->Extensions.ARB_multitexture = true;
 	ctx->Extensions.ARB_shadow = true;
 	ctx->Extensions.ARB_shadow_ambient = true;
 	ctx->Extensions.ARB_texture_border_clamp = true;
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c
index 0ebf8ba..3eab18e 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_context.c
@@ -313,7 +313,6 @@ r100CreateContext( gl_api api,
       _math_matrix_set_identity( &rmesa->tmpmat[i] );
    }
 
-   ctx->Extensions.ARB_multitexture = true;
    ctx->Extensions.ARB_texture_border_clamp = true;
    ctx->Extensions.ARB_texture_env_combine = true;
    ctx->Extensions.ARB_texture_env_crossbar = true;
diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
index 3d5ddc5..89c1da5 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -590,7 +590,6 @@ static const char *es2_extensions[] = {
    /* Required by GLES2 */
    "GL_ARB_fragment_program",
    "GL_ARB_fragment_shader",
-   "GL_ARB_multitexture",
    "GL_ARB_shader_objects",
    "GL_ARB_texture_cube_map",
    "GL_ARB_texture_mirrored_repeat",
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index cf9469f..0b31ea8 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -101,7 +101,7 @@ static const struct extension extension_table[] = {
    { "GL_ARB_instanced_arrays",                    o(ARB_instanced_arrays),                    GL,             2008 },
    { "GL_ARB_map_buffer_range",                    o(ARB_map_buffer_range),                    GL,             2008 },
    { "GL_ARB_multisample",                         o(dummy_true),                              GL,             1994 },
-   { "GL_ARB_multitexture",                        o(ARB_multitexture),                        GL,             1998 },
+   { "GL_ARB_multitexture",                        o(dummy_true),                              GL,             1998 },
    { "GL_ARB_occlusion_query2",                    o(ARB_occlusion_query2),                    GL,             2003 },
    { "GL_ARB_occlusion_query",                     o(ARB_occlusion_query),                     GL,             2001 },
    { "GL_ARB_pixel_buffer_object",                 o(EXT_pixel_buffer_object),                 GL,             2004 },
@@ -398,7 +398,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
    ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
    ctx->Extensions.ARB_half_float_vertex = GL_TRUE;
    ctx->Extensions.ARB_map_buffer_range = GL_TRUE;
-   ctx->Extensions.ARB_multitexture = GL_TRUE;
 #if FEATURE_queryobj
    ctx->Extensions.ARB_occlusion_query = GL_TRUE;
    ctx->Extensions.ARB_occlusion_query2 = GL_TRUE;
@@ -534,7 +533,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
 void
 _mesa_enable_1_3_extensions(struct gl_context *ctx)
 {
-   ctx->Extensions.ARB_multitexture = GL_TRUE;
    ctx->Extensions.ARB_texture_border_clamp = GL_TRUE;
    ctx->Extensions.ARB_texture_cube_map = GL_TRUE;
    ctx->Extensions.ARB_texture_env_combine = GL_TRUE;
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 99ce567..c87b087 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -279,7 +279,6 @@ static const int extra_ARB_sampler_objects[] = {
 
 
 EXTRA_EXT(ARB_ES2_compatibility);
-EXTRA_EXT(ARB_multitexture);
 EXTRA_EXT(ARB_texture_cube_map);
 EXTRA_EXT(MESA_texture_array);
 EXTRA_EXT2(EXT_secondary_color, ARB_vertex_program);
@@ -422,8 +421,7 @@ static const struct value_desc values[] = {
    { GL_VIEWPORT, LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA },
 
    /* GL_ARB_multitexture */
-   { GL_ACTIVE_TEXTURE_ARB,
-     LOC_CUSTOM, TYPE_INT, 0, extra_ARB_multitexture },
+   { GL_ACTIVE_TEXTURE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA },
 
    /* Note that all the OES_* extensions require that the Mesa "struct
     * gl_extensions" include a member with the name of the extension.
@@ -600,10 +598,8 @@ static const struct value_desc values[] = {
      extra_ARB_ES2_compatibility },
 
    /* GL_ARB_multitexture */
-   { GL_MAX_TEXTURE_UNITS_ARB,
-     CONTEXT_INT(Const.MaxTextureUnits), extra_ARB_multitexture },
-   { GL_CLIENT_ACTIVE_TEXTURE_ARB,
-     LOC_CUSTOM, TYPE_INT, 0, extra_ARB_multitexture },
+   { GL_MAX_TEXTURE_UNITS, CONTEXT_INT(Const.MaxTextureUnits), NO_EXTRA },
+   { GL_CLIENT_ACTIVE_TEXTURE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA },
 
    /* GL_ARB_texture_cube_map */
    { GL_TEXTURE_CUBE_MAP_ARB, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA },
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 9b53a60..b2fdb37 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2766,7 +2766,6 @@ struct gl_extensions
    GLboolean ARB_half_float_vertex;
    GLboolean ARB_instanced_arrays;
    GLboolean ARB_map_buffer_range;
-   GLboolean ARB_multitexture;
    GLboolean ARB_occlusion_query;
    GLboolean ARB_occlusion_query2;
    GLboolean ARB_point_sprite;
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index 3842814..806e37d 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -39,8 +39,7 @@ compute_version(struct gl_context *ctx)
    GLuint major, minor;
    static const int max = 100;
 
-   const GLboolean ver_1_3 = (ctx->Extensions.ARB_multitexture &&
-                              ctx->Extensions.ARB_texture_border_clamp &&
+   const GLboolean ver_1_3 = (ctx->Extensions.ARB_texture_border_clamp &&
                               ctx->Extensions.ARB_texture_cube_map &&
                               ctx->Extensions.EXT_texture_env_add &&
                               ctx->Extensions.ARB_texture_env_combine &&
@@ -196,8 +195,7 @@ compute_version_es1(struct gl_context *ctx)
    static const int max = 100;
 
    /* OpenGL ES 1.0 is derived from OpenGL 1.3 */
-   const GLboolean ver_1_0 = (ctx->Extensions.ARB_multitexture &&
-                              ctx->Extensions.EXT_texture_env_add &&
+   const GLboolean ver_1_0 = (ctx->Extensions.EXT_texture_env_add &&
                               ctx->Extensions.ARB_texture_env_combine &&
                               ctx->Extensions.ARB_texture_env_dot3);
    /* OpenGL ES 1.1 is derived from OpenGL 1.5 */
@@ -228,8 +226,7 @@ compute_version_es2(struct gl_context *ctx)
    static const int max = 100;
 
    /* OpenGL ES 2.0 is derived from OpenGL 2.0 */
-   const GLboolean ver_2_0 = (ctx->Extensions.ARB_multitexture &&
-                              ctx->Extensions.ARB_texture_cube_map &&
+   const GLboolean ver_2_0 = (ctx->Extensions.ARB_texture_cube_map &&
                               ctx->Extensions.ARB_texture_mirrored_repeat &&
                               ctx->Extensions.EXT_blend_color &&
                               ctx->Extensions.EXT_blend_func_separate &&
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index ef284ad..8767244 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -342,10 +342,6 @@ void st_init_extensions(struct st_context *st)
       ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;
    }
 
-   if (screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS) > 1) {
-      ctx->Extensions.ARB_multitexture = GL_TRUE;
-   }
-
    if (screen->get_param(screen, PIPE_CAP_TWO_SIDED_STENCIL)) {
       ctx->Extensions.ATI_separate_stencil = GL_TRUE;
       ctx->Extensions.EXT_stencil_two_side = GL_TRUE;
-- 
1.7.6



More information about the mesa-dev mailing list