[Mesa-dev] [PATCH 19/21] mesa: Remove many extension enable flags

Francisco Jerez currojerez at riseup.net
Tue Aug 30 03:42:37 PDT 2011


"Ian Romanick" <idr at freedesktop.org> writes:

> From: Ian Romanick <ian.d.romanick at intel.com>
>
> The following extensions are always enabled, and drivers do not have
> to option to disable them:
>
>     GL_ARB_copy_buffer
>     GL_ARB_draw_buffers / GL_ATI_draw_buffers
>     GL_ARB_multisample
>     GL_ARB_texture_compression
>     GL_ARB_transpose_matrix
>     GL_ARB_vertex_buffer_object
>     GL_ARB_window_pos
>     GL_EXT_abgr
>     GL_EXT_bgra
>     GL_EXT_compiled_vertex_array
>     GL_EXT_copy_texture
>     GL_EXT_multi_draw_arrays / GL_SUN_multi_draw_arrays
>     GL_EXT_packed_pixels
>     GL_EXT_polygon_offset
>     GL_EXT_rescale_normal
>     GL_EXT_separate_specular_color
>     GL_EXT_subtexture
>     GL_EXT_texture_edge_clamp / GL_SGIS_texture_edge_clamp
>     GL_EXT_texture_object
>     GL_EXT_texture3D / GL_OES_texture3D

Nouveau isn't going to like this extension enabled, nv0x-nv1x have no
hardware support for 3D textures. The flags for the other ones are OK to
remove I think.

>     GL_EXT_texture
>     GL_APPLE_packed_pixels
>     GL_IBM_multimode_draw_arrays
>     GL_IBM_rasterpos_clip
>     GL_NV_light_max_exponent
>     GL_NV_texgen_reflection
>     GL_SGIS_generate_mipmap
>     GL_SGIS_texture_lod
> ---
>  src/glsl/glsl_parser_extras.cpp        |    2 +-
>  src/glsl/standalone_scaffolding.cpp    |    2 -
>  src/mesa/main/enable.c                 |    2 -
>  src/mesa/main/extensions.c             |  119 +++++++++----------------------
>  src/mesa/main/get.c                    |   31 +++------
>  src/mesa/main/mtypes.h                 |   29 --------
>  src/mesa/main/version.c                |   25 ++-----
>  src/mesa/state_tracker/st_extensions.c |   13 ----
>  8 files changed, 50 insertions(+), 173 deletions(-)
>
> diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
> index 8f740e6..0cc3959 100644
> --- a/src/glsl/glsl_parser_extras.cpp
> +++ b/src/glsl/glsl_parser_extras.cpp
> @@ -264,7 +264,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
>     EXT(ARB_shader_stencil_export,      false, false, true,  true,  false,     ARB_shader_stencil_export),
>     EXT(AMD_conservative_depth,         true,  false, true,  true,  false,     AMD_conservative_depth),
>     EXT(AMD_shader_stencil_export,      false, false, true,  true,  false,     ARB_shader_stencil_export),
> -   EXT(OES_texture_3D,                 true,  false, true,  false, true,      EXT_texture3D),
> +   EXT(OES_texture_3D,                 true,  false, true,  false, true,      dummy_true),
>  };
>  
>  #undef EXT
> diff --git a/src/glsl/standalone_scaffolding.cpp b/src/glsl/standalone_scaffolding.cpp
> index bbd7bb9..3894a6e 100644
> --- a/src/glsl/standalone_scaffolding.cpp
> +++ b/src/glsl/standalone_scaffolding.cpp
> @@ -66,12 +66,10 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api)
>     ctx->Extensions.dummy_false = false;
>     ctx->Extensions.dummy_true = true;
>     ctx->Extensions.ARB_ES2_compatibility = true;
> -   ctx->Extensions.ARB_draw_buffers = true;
>     ctx->Extensions.ARB_draw_instanced = true;
>     ctx->Extensions.ARB_fragment_coord_conventions = true;
>     ctx->Extensions.EXT_texture_array = true;
>     ctx->Extensions.NV_texture_rectangle = true;
> -   ctx->Extensions.EXT_texture3D = true;
>  
>     ctx->Const.GLSLVersion = 120;
>  
> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
> index 3ba4df6..9615203 100644
> --- a/src/mesa/main/enable.c
> +++ b/src/mesa/main/enable.c
> @@ -705,7 +705,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
>  
>        /* GL_IBM_rasterpos_clip */
>        case GL_RASTER_POSITION_UNCLIPPED_IBM:
> -         CHECK_EXTENSION(IBM_rasterpos_clip, cap);
>           if (ctx->Transform.RasterPositionUnclipped == state)
>              return;
>           FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
> @@ -1257,7 +1256,6 @@ _mesa_IsEnabled( GLenum cap )
>  
>        /* GL_IBM_rasterpos_clip */
>        case GL_RASTER_POSITION_UNCLIPPED_IBM:
> -         CHECK_EXTENSION(IBM_rasterpos_clip);
>           return ctx->Transform.RasterPositionUnclipped;
>  
>        /* GL_NV_point_sprite */
> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
> index 4ebc954..a677bfa 100644
> --- a/src/mesa/main/extensions.c
> +++ b/src/mesa/main/extensions.c
> @@ -78,12 +78,12 @@ static const struct extension extension_table[] = {
>     { "GL_ARB_ES2_compatibility",                   o(ARB_ES2_compatibility),                   GL,             2009 },
>     { "GL_ARB_blend_func_extended",                 o(ARB_blend_func_extended),                 GL,             2009 },
>     { "GL_ARB_color_buffer_float",                  o(ARB_color_buffer_float),                  GL,             2004 },
> -   { "GL_ARB_copy_buffer",                         o(ARB_copy_buffer),                         GL,             2008 },
> +   { "GL_ARB_copy_buffer",                         o(dummy_true),                              GL,             2008 },
>     { "GL_ARB_conservative_depth",                  o(AMD_conservative_depth),                  GL,             2011 },
>     { "GL_ARB_depth_buffer_float",                  o(ARB_depth_buffer_float),                  GL,             2008 },
>     { "GL_ARB_depth_clamp",                         o(ARB_depth_clamp),                         GL,             2003 },
>     { "GL_ARB_depth_texture",                       o(ARB_depth_texture),                       GL,             2001 },
> -   { "GL_ARB_draw_buffers",                        o(ARB_draw_buffers),                        GL,             2002 },
> +   { "GL_ARB_draw_buffers",                        o(dummy_true),                              GL,             2002 },
>     { "GL_ARB_draw_buffers_blend",                  o(ARB_draw_buffers_blend),                  GL,             2009 },
>     { "GL_ARB_draw_elements_base_vertex",           o(ARB_draw_elements_base_vertex),           GL,             2009 },
>     { "GL_ARB_draw_instanced",                      o(ARB_draw_instanced),                      GL,             2008 },
> @@ -98,7 +98,7 @@ static const struct extension extension_table[] = {
>     { "GL_ARB_half_float_vertex",                   o(ARB_half_float_vertex),                   GL,             2008 },
>     { "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(ARB_multisample),                         GL,             1994 },
> +   { "GL_ARB_multisample",                         o(dummy_true),                              GL,             1994 },
>     { "GL_ARB_multitexture",                        o(ARB_multitexture),                        GL,             1998 },
>     { "GL_ARB_occlusion_query2",                    o(ARB_occlusion_query2),                    GL,             2003 },
>     { "GL_ARB_occlusion_query",                     o(ARB_occlusion_query),                     GL,             2001 },
> @@ -118,7 +118,7 @@ static const struct extension extension_table[] = {
>     { "GL_ARB_sync",                                o(ARB_sync),                                GL,             2003 },
>     { "GL_ARB_texture_border_clamp",                o(ARB_texture_border_clamp),                GL,             2000 },
>     { "GL_ARB_texture_buffer_object",               o(ARB_texture_buffer_object),               GL,             2008 },
> -   { "GL_ARB_texture_compression",                 o(ARB_texture_compression),                 GL,             2000 },
> +   { "GL_ARB_texture_compression",                 o(dummy_true),                              GL,             2000 },
>     { "GL_ARB_texture_compression_rgtc",            o(ARB_texture_compression_rgtc),            GL,             2004 },
>     { "GL_ARB_texture_cube_map",                    o(ARB_texture_cube_map),                    GL,             1999 },
>     { "GL_ARB_texture_env_add",                     o(EXT_texture_env_add),                     GL,             1999 },
> @@ -134,18 +134,18 @@ static const struct extension extension_table[] = {
>     { "GL_ARB_texture_rg",                          o(ARB_texture_rg),                          GL,             2008 },
>     { "GL_ARB_texture_swizzle",                     o(EXT_texture_swizzle),                     GL,             2008 },
>     { "GL_ARB_transform_feedback2",                 o(ARB_transform_feedback2),                 GL,             2010 },
> -   { "GL_ARB_transpose_matrix",                    o(ARB_transpose_matrix),                    GL,             1999 },
> +   { "GL_ARB_transpose_matrix",                    o(dummy_true),                              GL,             1999 },
>     { "GL_ARB_uniform_buffer_object",               o(ARB_uniform_buffer_object),               GL,             2002 },
>     { "GL_ARB_vertex_array_bgra",                   o(EXT_vertex_array_bgra),                   GL,             2008 },
>     { "GL_ARB_vertex_array_object",                 o(ARB_vertex_array_object),                 GL,             2006 },
> -   { "GL_ARB_vertex_buffer_object",                o(ARB_vertex_buffer_object),                GL,             2003 },
> +   { "GL_ARB_vertex_buffer_object",                o(dummy_true),                              GL,             2003 },
>     { "GL_ARB_vertex_program",                      o(ARB_vertex_program),                      GL,             2002 },
>     { "GL_ARB_vertex_shader",                       o(ARB_vertex_shader),                       GL,             2002 },
>     { "GL_ARB_vertex_type_2_10_10_10_rev",          o(ARB_vertex_type_2_10_10_10_rev),          GL,             2009 },
> -   { "GL_ARB_window_pos",                          o(ARB_window_pos),                          GL,             2001 },
> +   { "GL_ARB_window_pos",                          o(dummy_true),                              GL,             2001 },
>     /* EXT extensions */
> -   { "GL_EXT_abgr",                                o(EXT_abgr),                                GL,             1995 },
> -   { "GL_EXT_bgra",                                o(EXT_bgra),                                GL,             1995 },
> +   { "GL_EXT_abgr",                                o(dummy_true),                              GL,             1995 },
> +   { "GL_EXT_bgra",                                o(dummy_true),                              GL,             1995 },
>     { "GL_EXT_blend_color",                         o(EXT_blend_color),                         GL,             1995 },
>     { "GL_EXT_blend_equation_separate",             o(EXT_blend_equation_separate),             GL,             2003 },
>     { "GL_EXT_blend_func_separate",                 o(EXT_blend_func_separate),                 GL,             1999 },
> @@ -153,12 +153,12 @@ static const struct extension extension_table[] = {
>     { "GL_EXT_blend_minmax",                        o(EXT_blend_minmax),                        GL | ES1 | ES2, 1995 },
>     { "GL_EXT_blend_subtract",                      o(EXT_blend_subtract),                      GL,             1995 },
>     { "GL_EXT_clip_volume_hint",                    o(EXT_clip_volume_hint),                    GL,             1996 },
> -   { "GL_EXT_compiled_vertex_array",               o(EXT_compiled_vertex_array),               GL,             1996 },
> -   { "GL_EXT_copy_texture",                        o(EXT_copy_texture),                        GL,             1995 },
> +   { "GL_EXT_compiled_vertex_array",               o(dummy_true),                              GL,             1996 },
> +   { "GL_EXT_copy_texture",                        o(dummy_true),                              GL,             1995 },
>     { "GL_EXT_depth_bounds_test",                   o(EXT_depth_bounds_test),                   GL,             2002 },
>     { "GL_EXT_draw_buffers2",                       o(EXT_draw_buffers2),                       GL,             2006 },
>     { "GL_EXT_draw_instanced",                      o(ARB_draw_instanced),                      GL,             2006 },
> -   { "GL_EXT_draw_range_elements",                 o(EXT_draw_range_elements),                 GL,             1997 },
> +   { "GL_EXT_draw_range_elements",                 o(dummy_true),                              GL,             1997 },
>     { "GL_EXT_fog_coord",                           o(EXT_fog_coord),                           GL,             1999 },
>     { "GL_EXT_framebuffer_blit",                    o(EXT_framebuffer_blit),                    GL,             2005 },
>     { "GL_EXT_framebuffer_multisample",             o(EXT_framebuffer_multisample),             GL,             2005 },
> @@ -166,32 +166,32 @@ static const struct extension extension_table[] = {
>     { "GL_EXT_framebuffer_sRGB",                    o(EXT_framebuffer_sRGB),                    GL,             1998 },
>     { "GL_EXT_gpu_program_parameters",              o(EXT_gpu_program_parameters),              GL,             2006 },
>     { "GL_EXT_gpu_shader4",                         o(EXT_gpu_shader4),                         GL,             2006 },
> -   { "GL_EXT_multi_draw_arrays",                   o(EXT_multi_draw_arrays),                   GL | ES1 | ES2, 1999 },
> +   { "GL_EXT_multi_draw_arrays",                   o(dummy_true),                              GL | ES1 | ES2, 1999 },
>     { "GL_EXT_packed_depth_stencil",                o(EXT_packed_depth_stencil),                GL,             2005 },
>     { "GL_EXT_packed_float",                        o(EXT_packed_float),                        GL,             2004 },
> -   { "GL_EXT_packed_pixels",                       o(EXT_packed_pixels),                       GL,             1997 },
> +   { "GL_EXT_packed_pixels",                       o(dummy_true),                              GL,             1997 },
>     { "GL_EXT_paletted_texture",                    o(EXT_paletted_texture),                    GL,             1995 },
>     { "GL_EXT_pixel_buffer_object",                 o(EXT_pixel_buffer_object),                 GL,             2004 },
>     { "GL_EXT_point_parameters",                    o(EXT_point_parameters),                    GL,             1997 },
> -   { "GL_EXT_polygon_offset",                      o(EXT_polygon_offset),                      GL,             1995 },
> +   { "GL_EXT_polygon_offset",                      o(dummy_true),                              GL,             1995 },
>     { "GL_EXT_provoking_vertex",                    o(EXT_provoking_vertex),                    GL,             2009 },
> -   { "GL_EXT_rescale_normal",                      o(EXT_rescale_normal),                      GL,             1997 },
> +   { "GL_EXT_rescale_normal",                      o(dummy_true),                              GL,             1997 },
>     { "GL_EXT_secondary_color",                     o(EXT_secondary_color),                     GL,             1999 },
>     { "GL_EXT_separate_shader_objects",             o(EXT_separate_shader_objects),             GL,             2008 },
> -   { "GL_EXT_separate_specular_color",             o(EXT_separate_specular_color),             GL,             1997 },
> +   { "GL_EXT_separate_specular_color",             o(dummy_true),                              GL,             1997 },
>     { "GL_EXT_shadow_funcs",                        o(EXT_shadow_funcs),                        GL,             2002 },
>     { "GL_EXT_shared_texture_palette",              o(EXT_shared_texture_palette),              GL,             2000 },
>     { "GL_EXT_stencil_two_side",                    o(EXT_stencil_two_side),                    GL,             2001 },
>     { "GL_EXT_stencil_wrap",                        o(EXT_stencil_wrap),                        GL,             2002 },
> -   { "GL_EXT_subtexture",                          o(EXT_subtexture),                          GL,             1995 },
> -   { "GL_EXT_texture3D",                           o(EXT_texture3D),                           GL,             1996 },
> +   { "GL_EXT_subtexture",                          o(dummy_true),                              GL,             1995 },
> +   { "GL_EXT_texture3D",                           o(dummy_true),                              GL,             1996 },
>     { "GL_EXT_texture_array",                       o(EXT_texture_array),                       GL,             2006 },
>     { "GL_EXT_texture_compression_dxt1",            o(EXT_texture_compression_s3tc),            GL | ES1 | ES2, 2004 },
>     { "GL_EXT_texture_compression_latc",            o(EXT_texture_compression_latc),            GL,             2006 },
>     { "GL_EXT_texture_compression_rgtc",            o(ARB_texture_compression_rgtc),            GL,             2004 },
>     { "GL_EXT_texture_compression_s3tc",            o(EXT_texture_compression_s3tc),            GL,             2000 },
>     { "GL_EXT_texture_cube_map",                    o(ARB_texture_cube_map),                    GL,             2001 },
> -   { "GL_EXT_texture_edge_clamp",                  o(SGIS_texture_edge_clamp),                 GL,             1997 },
> +   { "GL_EXT_texture_edge_clamp",                  o(dummy_true),                              GL,             1997 },
>     { "GL_EXT_texture_env_add",                     o(EXT_texture_env_add),                     GL,             1999 },
>     { "GL_EXT_texture_env_combine",                 o(EXT_texture_env_combine),                 GL,             2006 },
>     { "GL_EXT_texture_env_dot3",                    o(EXT_texture_env_dot3),                    GL,             2000 },
> @@ -200,8 +200,8 @@ static const struct extension extension_table[] = {
>     { "GL_EXT_texture_integer",                     o(EXT_texture_integer),                     GL,             2006 },
>     { "GL_EXT_texture_lod_bias",                    o(EXT_texture_lod_bias),                    GL | ES1,       1999 },
>     { "GL_EXT_texture_mirror_clamp",                o(EXT_texture_mirror_clamp),                GL,             2004 },
> -   { "GL_EXT_texture_object",                      o(EXT_texture_object),                      GL,             1995 },
> -   { "GL_EXT_texture",                             o(EXT_texture),                             GL,             1996 },
> +   { "GL_EXT_texture_object",                      o(dummy_true),                              GL,             1995 },
> +   { "GL_EXT_texture",                             o(dummy_true),                              GL,             1996 },
>     { "GL_EXT_texture_rectangle",                   o(NV_texture_rectangle),                    GL,             2004 },
>     { "GL_EXT_texture_shared_exponent",             o(EXT_texture_shared_exponent),             GL,             2004 },
>     { "GL_EXT_texture_snorm",                       o(EXT_texture_snorm),                       GL,             2009 },
> @@ -235,7 +235,7 @@ static const struct extension extension_table[] = {
>     { "GL_OES_fbo_render_mipmap",                   o(EXT_framebuffer_object),                       ES1 | ES2, 2005 },
>     { "GL_OES_fixed_point",                         o(dummy_true),                                   ES1,       2002 },
>     { "GL_OES_framebuffer_object",                  o(EXT_framebuffer_object),                       ES1,       2005 },
> -   { "GL_OES_mapbuffer",                           o(ARB_vertex_buffer_object),                     ES1 | ES2, 2005 },
> +   { "GL_OES_mapbuffer",                           o(dummy_true),                                   ES1 | ES2, 2005 },
>     { "GL_OES_matrix_get",                          o(dummy_true),                                   ES1,       2004 },
>     { "GL_OES_packed_depth_stencil",                o(EXT_packed_depth_stencil),                     ES1 | ES2, 2007 },
>     { "GL_OES_point_size_array",                    o(dummy_true),                                   ES1,       2004 },
> @@ -249,7 +249,7 @@ static const struct extension extension_table[] = {
>     { "GL_OES_stencil4",                            o(dummy_false),                     DISABLE,                2005 },
>     { "GL_OES_stencil8",                            o(EXT_framebuffer_object),                       ES1 | ES2, 2005 },
>     { "GL_OES_stencil_wrap",                        o(EXT_stencil_wrap),                             ES1,       2002 },
> -   { "GL_OES_texture_3D",                          o(EXT_texture3D),                                      ES2, 2005 },
> +   { "GL_OES_texture_3D",                          o(dummy_true),                                         ES2, 2005 },
>     { "GL_OES_texture_cube_map",                    o(ARB_texture_cube_map),                         ES1,       2007 },
>     { "GL_OES_texture_env_crossbar",                o(ARB_texture_env_crossbar),                     ES1,       2005 },
>     { "GL_OES_texture_mirrored_repeat",             o(ARB_texture_mirrored_repeat),                  ES1,       2005 },
> @@ -263,10 +263,10 @@ static const struct extension extension_table[] = {
>     { "GL_AMD_shader_stencil_export",               o(ARB_shader_stencil_export),               GL,             2009 },
>     { "GL_APPLE_client_storage",                    o(APPLE_client_storage),                    GL,             2002 },
>     { "GL_APPLE_object_purgeable",                  o(APPLE_object_purgeable),                  GL,             2006 },
> -   { "GL_APPLE_packed_pixels",                     o(APPLE_packed_pixels),                     GL,             2002 },
> +   { "GL_APPLE_packed_pixels",                     o(dummy_true),                              GL,             2002 },
>     { "GL_APPLE_vertex_array_object",               o(APPLE_vertex_array_object),               GL,             2002 },
>     { "GL_ATI_blend_equation_separate",             o(EXT_blend_equation_separate),             GL,             2003 },
> -   { "GL_ATI_draw_buffers",                        o(ARB_draw_buffers),                        GL,             2002 },
> +   { "GL_ATI_draw_buffers",                        o(dummy_true),                              GL,             2002 },
>     { "GL_ATI_envmap_bumpmap",                      o(ATI_envmap_bumpmap),                      GL,             2001 },
>     { "GL_ATI_fragment_shader",                     o(ATI_fragment_shader),                     GL,             2001 },
>     { "GL_ATI_separate_stencil",                    o(ATI_separate_stencil),                    GL,             2006 },
> @@ -274,37 +274,37 @@ static const struct extension extension_table[] = {
>     { "GL_ATI_texture_env_combine3",                o(ATI_texture_env_combine3),                GL,             2002 },
>     { "GL_ATI_texture_float",                       o(ARB_texture_float),                       GL,             2002 },
>     { "GL_ATI_texture_mirror_once",                 o(ATI_texture_mirror_once),                 GL,             2006 },
> -   { "GL_IBM_multimode_draw_arrays",               o(IBM_multimode_draw_arrays),               GL,             1998 },
> -   { "GL_IBM_rasterpos_clip",                      o(IBM_rasterpos_clip),                      GL,             1996 },
> +   { "GL_IBM_multimode_draw_arrays",               o(dummy_true),                              GL,             1998 },
> +   { "GL_IBM_rasterpos_clip",                      o(dummy_true),                              GL,             1996 },
>     { "GL_IBM_texture_mirrored_repeat",             o(ARB_texture_mirrored_repeat),             GL,             1998 },
>     { "GL_INGR_blend_func_separate",                o(EXT_blend_func_separate),                 GL,             1999 },
>     { "GL_MESA_pack_invert",                        o(MESA_pack_invert),                        GL,             2002 },
>     { "GL_MESA_resize_buffers",                     o(MESA_resize_buffers),                     GL,             1999 },
>     { "GL_MESA_texture_array",                      o(MESA_texture_array),                      GL,             2007 },
>     { "GL_MESA_texture_signed_rgba",                o(EXT_texture_snorm),                       GL,             2009 },
> -   { "GL_MESA_window_pos",                         o(ARB_window_pos),                          GL,             2000 },
> +   { "GL_MESA_window_pos",                         o(dummy_true),                              GL,             2000 },
>     { "GL_MESA_ycbcr_texture",                      o(MESA_ycbcr_texture),                      GL,             2002 },
>     { "GL_NV_blend_square",                         o(NV_blend_square),                         GL,             1999 },
>     { "GL_NV_conditional_render",                   o(NV_conditional_render),                   GL,             2008 },
>     { "GL_NV_depth_clamp",                          o(ARB_depth_clamp),                         GL,             2001 },
>     { "GL_NV_fragment_program",                     o(NV_fragment_program),                     GL,             2001 },
>     { "GL_NV_fragment_program_option",              o(NV_fragment_program_option),              GL,             2005 },
> -   { "GL_NV_light_max_exponent",                   o(NV_light_max_exponent),                   GL,             1999 },
> +   { "GL_NV_light_max_exponent",                   o(dummy_true),                              GL,             1999 },
>     { "GL_NV_packed_depth_stencil",                 o(EXT_packed_depth_stencil),                GL,             2000 },
>     { "GL_NV_point_sprite",                         o(NV_point_sprite),                         GL,             2001 },
>     { "GL_NV_primitive_restart",                    o(NV_primitive_restart),                    GL,             2002 },
> -   { "GL_NV_texgen_reflection",                    o(NV_texgen_reflection),                    GL,             1999 },
> +   { "GL_NV_texgen_reflection",                    o(dummy_true),                              GL,             1999 },
>     { "GL_NV_texture_barrier",                      o(NV_texture_barrier),                      GL,             2009 },
>     { "GL_NV_texture_env_combine4",                 o(NV_texture_env_combine4),                 GL,             1999 },
>     { "GL_NV_texture_rectangle",                    o(NV_texture_rectangle),                    GL,             2000 },
>     { "GL_NV_vertex_program1_1",                    o(NV_vertex_program1_1),                    GL,             2001 },
>     { "GL_NV_vertex_program",                       o(NV_vertex_program),                       GL,             2000 },
>     { "GL_S3_s3tc",                                 o(S3_s3tc),                                 GL,             1999 },
> -   { "GL_SGIS_generate_mipmap",                    o(SGIS_generate_mipmap),                    GL,             1997 },
> +   { "GL_SGIS_generate_mipmap",                    o(dummy_true),                              GL,             1997 },
>     { "GL_SGIS_texture_border_clamp",               o(ARB_texture_border_clamp),                GL,             1997 },
> -   { "GL_SGIS_texture_edge_clamp",                 o(SGIS_texture_edge_clamp),                 GL,             1997 },
> -   { "GL_SGIS_texture_lod",                        o(SGIS_texture_lod),                        GL,             1997 },
> -   { "GL_SUN_multi_draw_arrays",                   o(EXT_multi_draw_arrays),                   GL,             1999 },
> +   { "GL_SGIS_texture_edge_clamp",                 o(dummy_true),                              GL,             1997 },
> +   { "GL_SGIS_texture_lod",                        o(dummy_true),                              GL,             1997 },
> +   { "GL_SUN_multi_draw_arrays",                   o(dummy_true),                              GL,             1999 },
>  
>     { 0, 0, 0, 0 },
>  };
> @@ -343,45 +343,15 @@ name_to_offset(const char* name)
>   * XXX: Should these defaults also apply to GLES?
>   */
>  static const size_t default_extensions[] = {
> -   o(ARB_copy_buffer),
> -   o(ARB_draw_buffers),
> -   o(ARB_multisample),
> -   o(ARB_texture_compression),
> -   o(ARB_transpose_matrix),
> -   o(ARB_vertex_buffer_object),
>     o(ARB_vertex_program),
> -   o(ARB_window_pos),
>  
> -   o(EXT_abgr),
> -   o(EXT_bgra),
> -   o(EXT_compiled_vertex_array),
> -   o(EXT_copy_texture),
> -   o(EXT_draw_range_elements),
>     o(EXT_gpu_program_parameters),
> -   o(EXT_multi_draw_arrays),
> -   o(EXT_packed_pixels),
> -   o(EXT_polygon_offset),
> -   o(EXT_rescale_normal),
> -   o(EXT_separate_specular_color),
> -   o(EXT_subtexture),
> -   o(EXT_texture),
> -   o(EXT_texture3D),
> -   o(EXT_texture_object),
> -   o(EXT_vertex_array),
>  
>     o(OES_read_format),
>     o(OES_standard_derivatives),
>  
>     /* Vendor Extensions */
> -   o(APPLE_packed_pixels),
> -   o(IBM_multimode_draw_arrays),
> -   o(IBM_rasterpos_clip),
> -   o(NV_light_max_exponent),
> -   o(NV_texgen_reflection),
>     o(NV_vertex_program),
> -   o(SGIS_generate_mipmap),
> -   o(SGIS_texture_edge_clamp),
> -   o(SGIS_texture_lod),
>  
>     0,
>  };
> @@ -394,10 +364,8 @@ static const size_t default_extensions[] = {
>  void
>  _mesa_enable_sw_extensions(struct gl_context *ctx)
>  {
> -   /*ctx->Extensions.ARB_copy_buffer = GL_TRUE;*/
>     ctx->Extensions.ARB_depth_clamp = GL_TRUE;
>     ctx->Extensions.ARB_depth_texture = GL_TRUE;
> -   /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
>     ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE;
>     ctx->Extensions.ARB_draw_instanced = GL_TRUE;
>     ctx->Extensions.ARB_explicit_attrib_location = GL_TRUE;
> @@ -451,9 +419,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
>  #if FEATURE_ARB_vertex_shader
>     ctx->Extensions.ARB_vertex_shader = GL_TRUE;
>  #endif
> -#if FEATURE_ARB_vertex_buffer_object
> -   /*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/
> -#endif
>  #if FEATURE_ARB_sync
>     ctx->Extensions.ARB_sync = GL_TRUE;
>  #endif
> @@ -487,7 +452,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
>  #if FEATURE_ARB_framebuffer_object
>     ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
>  #endif
> -   /*ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;*/
>     ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;
>     ctx->Extensions.EXT_paletted_texture = GL_TRUE;
>  #if FEATURE_EXT_pixel_buffer_object
> @@ -518,18 +482,15 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
>     /*ctx->Extensions.EXT_transform_feedback = GL_TRUE;*/
>  #endif
>     ctx->Extensions.EXT_vertex_array_bgra = GL_TRUE;
> -   /*ctx->Extensions.IBM_multimode_draw_arrays = GL_TRUE;*/
>     ctx->Extensions.MESA_pack_invert = GL_TRUE;
>     ctx->Extensions.MESA_resize_buffers = GL_TRUE;
>     ctx->Extensions.MESA_texture_array = GL_TRUE;
>     ctx->Extensions.MESA_ycbcr_texture = GL_TRUE;
>     ctx->Extensions.NV_blend_square = GL_TRUE;
>     ctx->Extensions.NV_conditional_render = GL_TRUE;
> -   /*ctx->Extensions.NV_light_max_exponent = GL_TRUE;*/
>     ctx->Extensions.NV_point_sprite = GL_TRUE;
>     ctx->Extensions.NV_texture_env_combine4 = GL_TRUE;
>     ctx->Extensions.NV_texture_rectangle = GL_TRUE;
> -   /*ctx->Extensions.NV_texgen_reflection = GL_TRUE;*/
>  #if FEATURE_NV_vertex_program
>     /*ctx->Extensions.NV_vertex_program = GL_TRUE;*/
>     ctx->Extensions.NV_vertex_program1_1 = GL_TRUE;
> @@ -540,8 +501,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
>  #if FEATURE_NV_fragment_program && FEATURE_ARB_fragment_program
>     ctx->Extensions.NV_fragment_program_option = GL_TRUE;
>  #endif
> -   /*ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;*/
> -   ctx->Extensions.SGIS_texture_edge_clamp = GL_TRUE;
>  #if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
>     /*ctx->Extensions.EXT_gpu_program_parameters = GL_TRUE;*/
>  #endif
> @@ -578,15 +537,12 @@ _mesa_enable_imaging_extensions(struct gl_context *ctx)
>  void
>  _mesa_enable_1_3_extensions(struct gl_context *ctx)
>  {
> -   /*ctx->Extensions.ARB_multisample = GL_TRUE;*/
>     ctx->Extensions.ARB_multitexture = GL_TRUE;
>     ctx->Extensions.ARB_texture_border_clamp = GL_TRUE;
> -   /*ctx->Extensions.ARB_texture_compression = GL_TRUE;*/
>     ctx->Extensions.ARB_texture_cube_map = GL_TRUE;
>     ctx->Extensions.ARB_texture_env_combine = GL_TRUE;
>     ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE;
>     ctx->Extensions.EXT_texture_env_add = GL_TRUE;
> -   /*ctx->Extensions.ARB_transpose_matrix = GL_TRUE;*/
>  }
>  
>  
> @@ -602,18 +558,15 @@ _mesa_enable_1_4_extensions(struct gl_context *ctx)
>     ctx->Extensions.ARB_shadow = GL_TRUE;
>     ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE;
>     ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;
> -   ctx->Extensions.ARB_window_pos = GL_TRUE;
>     ctx->Extensions.EXT_blend_color = GL_TRUE;
>     ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
>     ctx->Extensions.EXT_blend_minmax = GL_TRUE;
>     ctx->Extensions.EXT_blend_subtract = GL_TRUE;
>     ctx->Extensions.EXT_fog_coord = GL_TRUE;
> -   /*ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;*/
>     ctx->Extensions.EXT_point_parameters = GL_TRUE;
>     ctx->Extensions.EXT_secondary_color = GL_TRUE;
>     ctx->Extensions.EXT_stencil_wrap = GL_TRUE;
>     ctx->Extensions.EXT_texture_lod_bias = GL_TRUE;
> -   /*ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;*/
>  }
>  
>  
> @@ -625,7 +578,6 @@ void
>  _mesa_enable_1_5_extensions(struct gl_context *ctx)
>  {
>     ctx->Extensions.ARB_occlusion_query = GL_TRUE;
> -   /*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/
>     ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
>  }
>  
> @@ -637,7 +589,6 @@ _mesa_enable_1_5_extensions(struct gl_context *ctx)
>  void
>  _mesa_enable_2_0_extensions(struct gl_context *ctx)
>  {
> -   /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
>  #if FEATURE_ARB_fragment_shader
>     ctx->Extensions.ARB_fragment_shader = GL_TRUE;
>  #endif
> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
> index d32c68a..2d7b02a 100644
> --- a/src/mesa/main/get.c
> +++ b/src/mesa/main/get.c
> @@ -293,14 +293,11 @@ EXTRA_EXT(EXT_secondary_color);
>  EXTRA_EXT(EXT_fog_coord);
>  EXTRA_EXT(EXT_texture_lod_bias);
>  EXTRA_EXT(EXT_texture_filter_anisotropic);
> -EXTRA_EXT(IBM_rasterpos_clip);
>  EXTRA_EXT(NV_point_sprite);
> -EXTRA_EXT(SGIS_generate_mipmap);
>  EXTRA_EXT(NV_vertex_program);
>  EXTRA_EXT(NV_fragment_program);
>  EXTRA_EXT(NV_texture_rectangle);
>  EXTRA_EXT(EXT_stencil_two_side);
> -EXTRA_EXT(NV_light_max_exponent);
>  EXTRA_EXT(EXT_depth_bounds_test);
>  EXTRA_EXT(ARB_depth_clamp);
>  EXTRA_EXT(ATI_fragment_shader);
> @@ -313,7 +310,6 @@ EXTRA_EXT2(ARB_framebuffer_object, EXT_framebuffer_multisample);
>  EXTRA_EXT(EXT_framebuffer_object);
>  EXTRA_EXT(APPLE_vertex_array_object);
>  EXTRA_EXT(ARB_seamless_cube_map);
> -EXTRA_EXT(EXT_compiled_vertex_array);
>  EXTRA_EXT(ARB_sync);
>  EXTRA_EXT(ARB_vertex_shader);
>  EXTRA_EXT(EXT_transform_feedback);
> @@ -324,9 +320,7 @@ EXTRA_EXT2(NV_point_sprite, ARB_point_sprite);
>  EXTRA_EXT2(ARB_fragment_program, NV_fragment_program);
>  EXTRA_EXT2(ARB_vertex_program, NV_vertex_program);
>  EXTRA_EXT2(ARB_vertex_program, ARB_fragment_program);
> -EXTRA_EXT(ARB_vertex_buffer_object);
>  EXTRA_EXT(ARB_geometry_shader4);
> -EXTRA_EXT(ARB_copy_buffer);
>  EXTRA_EXT(EXT_framebuffer_sRGB);
>  EXTRA_EXT(ARB_texture_buffer_object);
>  
> @@ -473,20 +467,18 @@ static const struct value_desc values[] = {
>     { GL_SAMPLES_ARB, BUFFER_INT(Visual.samples), NO_EXTRA },
>  
>     /* GL_SGIS_generate_mipmap */
> -   { GL_GENERATE_MIPMAP_HINT_SGIS, CONTEXT_ENUM(Hint.GenerateMipmap),
> -     extra_SGIS_generate_mipmap },
> +   { GL_GENERATE_MIPMAP_HINT_SGIS, CONTEXT_ENUM(Hint.GenerateMipmap), NO_EXTRA },
>  
>     /* GL_ARB_vertex_buffer_object */
>     { GL_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA },
>  
>     /* GL_ARB_vertex_buffer_object */
>     /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB - not supported */
> -   { GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, 0,
> -     extra_ARB_vertex_buffer_object },
> +   { GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA },
>  
>     /* GL_ARB_copy_buffer */
> -   { GL_COPY_READ_BUFFER, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_copy_buffer },
> -   { GL_COPY_WRITE_BUFFER, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_copy_buffer },
> +   { GL_COPY_READ_BUFFER, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA },
> +   { GL_COPY_WRITE_BUFFER, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA },
>  
>     /* GL_OES_read_format */
>     { GL_IMPLEMENTATION_COLOR_READ_TYPE_OES, LOC_CUSTOM, TYPE_INT, 0,
> @@ -910,10 +902,8 @@ static const struct value_desc values[] = {
>     { GL_TEXTURE_COMPRESSION_HINT_ARB, CONTEXT_INT(Hint.TextureCompression), NO_EXTRA },
>  
>     /* GL_EXT_compiled_vertex_array */
> -   { GL_ARRAY_ELEMENT_LOCK_FIRST_EXT, CONTEXT_INT(Array.LockFirst),
> -     extra_EXT_compiled_vertex_array },
> -   { GL_ARRAY_ELEMENT_LOCK_COUNT_EXT, CONTEXT_INT(Array.LockCount),
> -     extra_EXT_compiled_vertex_array },
> +   { GL_ARRAY_ELEMENT_LOCK_FIRST_EXT, CONTEXT_INT(Array.LockFirst), NO_EXTRA },
> +   { GL_ARRAY_ELEMENT_LOCK_COUNT_EXT, CONTEXT_INT(Array.LockCount), NO_EXTRA },
>  
>     /* GL_ARB_transpose_matrix */
>     { GL_TRANSPOSE_MODELVIEW_MATRIX_ARB,
> @@ -952,8 +942,7 @@ static const struct value_desc values[] = {
>  
>     /* GL_IBM_rasterpos_clip */
>     { GL_RASTER_POSITION_UNCLIPPED_IBM,
> -     CONTEXT_BOOL(Transform.RasterPositionUnclipped),
> -     extra_IBM_rasterpos_clip },
> +     CONTEXT_BOOL(Transform.RasterPositionUnclipped), NO_EXTRA },
>  
>     /* GL_NV_point_sprite */
>     { GL_POINT_SPRITE_R_MODE_NV,
> @@ -1052,10 +1041,8 @@ static const struct value_desc values[] = {
>     { GL_ACTIVE_STENCIL_FACE_EXT, LOC_CUSTOM, TYPE_ENUM, NO_OFFSET, NO_EXTRA },
>  
>     /* GL_NV_light_max_exponent */
> -   { GL_MAX_SHININESS_NV, CONTEXT_FLOAT(Const.MaxShininess),
> -     extra_NV_light_max_exponent },
> -   { GL_MAX_SPOT_EXPONENT_NV, CONTEXT_FLOAT(Const.MaxSpotExponent),
> -     extra_NV_light_max_exponent },
> +   { GL_MAX_SHININESS_NV, CONTEXT_FLOAT(Const.MaxShininess), NO_EXTRA },
> +   { GL_MAX_SPOT_EXPONENT_NV, CONTEXT_FLOAT(Const.MaxSpotExponent), NO_EXTRA },
>       
>     /* GL_NV_primitive_restart */
>     { GL_PRIMITIVE_RESTART_NV, CONTEXT_BOOL(Array.PrimitiveRestart),
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index f2eb889..a6008d5 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -2771,11 +2771,9 @@ struct gl_extensions
>     GLboolean ARB_ES2_compatibility;
>     GLboolean ARB_blend_func_extended;
>     GLboolean ARB_color_buffer_float;
> -   GLboolean ARB_copy_buffer;
>     GLboolean ARB_depth_buffer_float;
>     GLboolean ARB_depth_clamp;
>     GLboolean ARB_depth_texture;
> -   GLboolean ARB_draw_buffers;
>     GLboolean ARB_draw_buffers_blend;
>     GLboolean ARB_draw_elements_base_vertex;
>     GLboolean ARB_draw_instanced;
> @@ -2790,7 +2788,6 @@ struct gl_extensions
>     GLboolean ARB_half_float_vertex;
>     GLboolean ARB_instanced_arrays;
>     GLboolean ARB_map_buffer_range;
> -   GLboolean ARB_multisample;
>     GLboolean ARB_multitexture;
>     GLboolean ARB_occlusion_query;
>     GLboolean ARB_occlusion_query2;
> @@ -2806,7 +2803,6 @@ struct gl_extensions
>     GLboolean ARB_sync;
>     GLboolean ARB_texture_border_clamp;
>     GLboolean ARB_texture_buffer_object;
> -   GLboolean ARB_texture_compression;
>     GLboolean ARB_texture_compression_rgtc;
>     GLboolean ARB_texture_cube_map;
>     GLboolean ARB_texture_env_combine;
> @@ -2820,16 +2816,11 @@ struct gl_extensions
>     GLboolean ARB_texture_rgb10_a2ui;
>     GLboolean ARB_timer_query;
>     GLboolean ARB_transform_feedback2;
> -   GLboolean ARB_transpose_matrix;
>     GLboolean ARB_uniform_buffer_object;
>     GLboolean ARB_vertex_array_object;
> -   GLboolean ARB_vertex_buffer_object;
>     GLboolean ARB_vertex_program;
>     GLboolean ARB_vertex_shader;
>     GLboolean ARB_vertex_type_2_10_10_10_rev;
> -   GLboolean ARB_window_pos;
> -   GLboolean EXT_abgr;
> -   GLboolean EXT_bgra;
>     GLboolean EXT_blend_color;
>     GLboolean EXT_blend_equation_separate;
>     GLboolean EXT_blend_func_separate;
> @@ -2837,11 +2828,8 @@ struct gl_extensions
>     GLboolean EXT_blend_minmax;
>     GLboolean EXT_blend_subtract;
>     GLboolean EXT_clip_volume_hint;
> -   GLboolean EXT_compiled_vertex_array;
> -   GLboolean EXT_copy_texture;
>     GLboolean EXT_depth_bounds_test;
>     GLboolean EXT_draw_buffers2;
> -   GLboolean EXT_draw_range_elements;
>     GLboolean EXT_fog_coord;
>     GLboolean EXT_framebuffer_blit;
>     GLboolean EXT_framebuffer_multisample;
> @@ -2849,27 +2837,18 @@ struct gl_extensions
>     GLboolean EXT_framebuffer_sRGB;
>     GLboolean EXT_gpu_program_parameters;
>     GLboolean EXT_gpu_shader4;
> -   GLboolean EXT_multi_draw_arrays;
>     GLboolean EXT_paletted_texture;
>     GLboolean EXT_packed_depth_stencil;
>     GLboolean EXT_packed_float;
> -   GLboolean EXT_packed_pixels;
>     GLboolean EXT_pixel_buffer_object;
>     GLboolean EXT_point_parameters;
> -   GLboolean EXT_polygon_offset;
>     GLboolean EXT_provoking_vertex;
> -   GLboolean EXT_rescale_normal;
>     GLboolean EXT_shadow_funcs;
>     GLboolean EXT_secondary_color;
>     GLboolean EXT_separate_shader_objects;
> -   GLboolean EXT_separate_specular_color;
>     GLboolean EXT_shared_texture_palette;
>     GLboolean EXT_stencil_wrap;
>     GLboolean EXT_stencil_two_side;
> -   GLboolean EXT_subtexture;
> -   GLboolean EXT_texture;
> -   GLboolean EXT_texture_object;
> -   GLboolean EXT_texture3D;
>     GLboolean EXT_texture_array;
>     GLboolean EXT_texture_compression_latc;
>     GLboolean EXT_texture_compression_s3tc;
> @@ -2895,7 +2874,6 @@ struct gl_extensions
>     GLboolean AMD_conservative_depth;
>     GLboolean AMD_seamless_cubemap_per_texture;
>     GLboolean APPLE_client_storage;
> -   GLboolean APPLE_packed_pixels;
>     GLboolean APPLE_vertex_array_object;
>     GLboolean APPLE_object_purgeable;
>     GLboolean ATI_envmap_bumpmap;
> @@ -2904,8 +2882,6 @@ struct gl_extensions
>     GLboolean ATI_texture_env_combine3;
>     GLboolean ATI_fragment_shader;
>     GLboolean ATI_separate_stencil;
> -   GLboolean IBM_rasterpos_clip;
> -   GLboolean IBM_multimode_draw_arrays;
>     GLboolean MESA_pack_invert;
>     GLboolean MESA_resize_buffers;
>     GLboolean MESA_ycbcr_texture;
> @@ -2914,19 +2890,14 @@ struct gl_extensions
>     GLboolean NV_conditional_render;
>     GLboolean NV_fragment_program;
>     GLboolean NV_fragment_program_option;
> -   GLboolean NV_light_max_exponent;
>     GLboolean NV_point_sprite;
>     GLboolean NV_primitive_restart;
>     GLboolean NV_texture_barrier;
> -   GLboolean NV_texgen_reflection;
>     GLboolean NV_texture_env_combine4;
>     GLboolean NV_texture_rectangle;
>     GLboolean NV_vertex_program;
>     GLboolean NV_vertex_program1_1;
>     GLboolean OES_read_format;
> -   GLboolean SGIS_generate_mipmap;
> -   GLboolean SGIS_texture_edge_clamp;
> -   GLboolean SGIS_texture_lod;
>     GLboolean TDFX_texture_compression_FXT1;
>     GLboolean S3_s3tc;
>     GLboolean OES_EGL_image;
> diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
> index 80fa0c2..7fd5075 100644
> --- a/src/mesa/main/version.c
> +++ b/src/mesa/main/version.c
> @@ -39,10 +39,8 @@ compute_version(struct gl_context *ctx)
>     GLuint major, minor;
>     static const int max = 100;
>  
> -   const GLboolean ver_1_3 = (ctx->Extensions.ARB_multisample &&
> -                              ctx->Extensions.ARB_multitexture &&
> +   const GLboolean ver_1_3 = (ctx->Extensions.ARB_multitexture &&
>                                ctx->Extensions.ARB_texture_border_clamp &&
> -                              ctx->Extensions.ARB_texture_compression &&
>                                ctx->Extensions.ARB_texture_cube_map &&
>                                ctx->Extensions.EXT_texture_env_add &&
>                                ctx->Extensions.ARB_texture_env_combine &&
> @@ -52,24 +50,19 @@ compute_version(struct gl_context *ctx)
>                                ctx->Extensions.ARB_shadow &&
>                                ctx->Extensions.ARB_texture_env_crossbar &&
>                                ctx->Extensions.ARB_texture_mirrored_repeat &&
> -                              ctx->Extensions.ARB_window_pos &&
>                                ctx->Extensions.EXT_blend_color &&
>                                ctx->Extensions.EXT_blend_func_separate &&
>                                ctx->Extensions.EXT_blend_minmax &&
>                                ctx->Extensions.EXT_blend_subtract &&
>                                ctx->Extensions.EXT_fog_coord &&
> -                              ctx->Extensions.EXT_multi_draw_arrays &&
>                                ctx->Extensions.EXT_point_parameters &&
>                                ctx->Extensions.EXT_secondary_color &&
>                                ctx->Extensions.EXT_stencil_wrap &&
> -                              ctx->Extensions.EXT_texture_lod_bias &&
> -                              ctx->Extensions.SGIS_generate_mipmap);
> +                              ctx->Extensions.EXT_texture_lod_bias);
>     const GLboolean ver_1_5 = (ver_1_4 &&
>                                ctx->Extensions.ARB_occlusion_query &&
> -                              ctx->Extensions.ARB_vertex_buffer_object &&
>                                ctx->Extensions.EXT_shadow_funcs);
>     const GLboolean ver_2_0 = (ver_1_5 &&
> -                              ctx->Extensions.ARB_draw_buffers &&
>                                ctx->Extensions.ARB_point_sprite &&
>                                ctx->Extensions.ARB_shader_objects &&
>                                ctx->Extensions.ARB_vertex_shader &&
> @@ -111,7 +104,6 @@ compute_version(struct gl_context *ctx)
>                                ctx->Extensions.EXT_transform_feedback &&
>                                ctx->Extensions.NV_conditional_render);
>     const GLboolean ver_3_1 = (ver_3_0 &&
> -                              ctx->Extensions.ARB_copy_buffer &&
>                                ctx->Extensions.ARB_draw_instanced &&
>                                ctx->Extensions.ARB_texture_buffer_object &&
>                                ctx->Extensions.ARB_uniform_buffer_object &&
> @@ -201,17 +193,13 @@ 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_multisample &&
> -                              ctx->Extensions.ARB_multitexture &&
> -                              ctx->Extensions.ARB_texture_compression &&
> +   const GLboolean ver_1_0 = (ctx->Extensions.ARB_multitexture &&
>                                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 */
>     const GLboolean ver_1_1 = (ver_1_0 &&
> -                              ctx->Extensions.EXT_point_parameters &&
> -                              ctx->Extensions.SGIS_generate_mipmap &&
> -                              ctx->Extensions.ARB_vertex_buffer_object);
> +                              ctx->Extensions.EXT_point_parameters);
>  
>     if (ver_1_1) {
>        ctx->VersionMajor = 1;
> @@ -237,9 +225,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_multisample &&
> -                              ctx->Extensions.ARB_multitexture &&
> -                              ctx->Extensions.ARB_texture_compression &&
> +   const GLboolean ver_2_0 = (ctx->Extensions.ARB_multitexture &&
>                                ctx->Extensions.ARB_texture_cube_map &&
>                                ctx->Extensions.ARB_texture_mirrored_repeat &&
>                                ctx->Extensions.EXT_blend_color &&
> @@ -247,7 +233,6 @@ compute_version_es2(struct gl_context *ctx)
>                                ctx->Extensions.EXT_blend_minmax &&
>                                ctx->Extensions.EXT_blend_subtract &&
>                                ctx->Extensions.EXT_stencil_wrap &&
> -                              ctx->Extensions.ARB_vertex_buffer_object &&
>                                ctx->Extensions.ARB_shader_objects &&
>                                ctx->Extensions.ARB_vertex_shader &&
>                                ctx->Extensions.ARB_fragment_shader &&
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index 25e49b7..5f85a36 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -233,23 +233,18 @@ void st_init_extensions(struct st_context *st)
>     /*
>      * Extensions that are supported by all Gallium drivers:
>      */
> -   ctx->Extensions.ARB_copy_buffer = GL_TRUE;
>     ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE;
>     ctx->Extensions.ARB_fragment_coord_conventions = GL_TRUE;
>     ctx->Extensions.ARB_fragment_program = GL_TRUE;
>     ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
>     ctx->Extensions.ARB_map_buffer_range = GL_TRUE;
> -   ctx->Extensions.ARB_multisample = GL_TRUE;
>     ctx->Extensions.ARB_sampler_objects = GL_TRUE;
>     ctx->Extensions.ARB_texture_border_clamp = GL_TRUE; /* XXX temp */
> -   ctx->Extensions.ARB_texture_compression = GL_TRUE;
>     ctx->Extensions.ARB_texture_cube_map = GL_TRUE;
>     ctx->Extensions.ARB_texture_env_combine = GL_TRUE;
>     ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE;
>     ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE;
>     ctx->Extensions.ARB_vertex_array_object = GL_TRUE;
> -   ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;
> -   ctx->Extensions.ARB_window_pos = GL_TRUE;
>  
>     ctx->Extensions.EXT_blend_color = GL_TRUE;
>     ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
> @@ -260,7 +255,6 @@ void st_init_extensions(struct st_context *st)
>     ctx->Extensions.EXT_framebuffer_object = GL_TRUE;
>     ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
>     ctx->Extensions.EXT_fog_coord = GL_TRUE;
> -   ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;
>     ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
>     ctx->Extensions.EXT_point_parameters = GL_TRUE;
>     ctx->Extensions.EXT_provoking_vertex = GL_TRUE;
> @@ -281,7 +275,6 @@ void st_init_extensions(struct st_context *st)
>     ctx->Extensions.MESA_pack_invert = GL_TRUE;
>  
>     ctx->Extensions.NV_blend_square = GL_TRUE;
> -   ctx->Extensions.NV_texgen_reflection = GL_TRUE;
>     ctx->Extensions.NV_texture_env_combine4 = GL_TRUE;
>     ctx->Extensions.NV_texture_rectangle = GL_TRUE;
>  #if 0
> @@ -296,15 +289,9 @@ void st_init_extensions(struct st_context *st)
>     ctx->Extensions.OES_draw_texture = GL_TRUE;
>  #endif
>  
> -   ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;
> -
>     /*
>      * Extensions that depend on the driver/hardware:
>      */
> -   if (screen->get_param(screen, PIPE_CAP_MAX_RENDER_TARGETS) > 0) {
> -      ctx->Extensions.ARB_draw_buffers = GL_TRUE;
> -   }
> -
>     if (screen->get_param(screen, PIPE_CAP_TEXTURE_SWIZZLE) > 0) {
>        ctx->Extensions.EXT_texture_swizzle = GL_TRUE;
>     }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 229 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110830/0f3df484/attachment-0001.pgp>


More information about the mesa-dev mailing list