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

Ian Romanick idr at freedesktop.org
Tue Aug 30 12:15:04 PDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 08/30/2011 03:42 AM, Francisco Jerez wrote:
> "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.

The extension is enabled today.  GL_EXT_texture3D is a required part of
OpenGL 1.2, and Mesa has required it for desktop GL since as long as I
can remember.  Since that hardware doesn't support GLES 2.x and this
extension is not exposed in GLES 1.x, this should change anything.  Does
that sound reasonable?

This patch doesn't add any new extension requirements.  It only takes
away the ability to turn things off.  A few of these, like
GL_EXT_texture3D and GL_SGIS_texture_lod, couldn't really be turned off
anyway because nothing in Mesa checks that they are enabled. :)

>>     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;
>>     }
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk5dNrcACgkQX1gOwKyEAw+pmQCeNW65t/TYme6he3UsShyYEmfY
4I8AoICX4ieCr+jO70docq7BsTFqsnrN
=Go+s
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list