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

Francisco Jerez currojerez at riseup.net
Tue Aug 30 13:48:57 PDT 2011


Ian Romanick <idr at freedesktop.org> writes:

> 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. :)
>
Hm, you're right, I withdraw what I said then :)

>>>     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/7c4bebc7/attachment-0001.pgp>


More information about the mesa-dev mailing list