aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main/extensions.c
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2011-08-30 16:29:52 -0700
committerIan Romanick <[email protected]>2011-09-26 12:14:13 -0700
commit34eae1c72a9b3a8eb0634cda52fca0208cd2f40d (patch)
treebec01a412492c9127c6c7983e6a5455d4da0e1c4 /src/mesa/main/extensions.c
parent2bf30b1cccab7026bf3cb7825cc876eea0dcb19b (diff)
mesa: Remove many extension enable flags
The following extensions are always enabled, and drivers do not have to option to disable them: GL_ARB_multisample GL_ARB_texture_compression GL_ARB_vertex_buffer_object / GL_OES_mapbuffer GL_EXT_copy_texture GL_EXT_multi_draw_arrays / GL_SUN_multi_draw_arrays GL_EXT_polygon_offset GL_EXT_subtexture GL_EXT_texture_edge_clamp / GL_SGIS_texture_edge_clamp GL_EXT_vertex_array GL_SGIS_generate_mipmap This set was picked because the are all either required or optional features in desktop OpenGL, OpenGL ES 1.x, and OpenGL ES 2.x. The existing support for some is already partially broken in Mesa (e.g., proxy texture targets in OpenGL ES). This patch does not change the situation in any way. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/main/extensions.c')
-rw-r--r--src/mesa/main/extensions.c55
1 files changed, 16 insertions, 39 deletions
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 57b51d85620..2aedf294d33 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -100,7 +100,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 },
@@ -120,7 +120,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 },
@@ -140,7 +140,7 @@ static const struct extension extension_table[] = {
{ "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 },
@@ -155,7 +155,7 @@ static const struct extension extension_table[] = {
{ "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_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 },
@@ -167,13 +167,13 @@ 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_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_secondary_color", o(EXT_secondary_color), GL, 1999 },
@@ -182,7 +182,7 @@ static const struct extension extension_table[] = {
{ "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), GL, 2002 },
{ "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_subtexture", o(dummy_true), GL, 1995 },
{ "GL_EXT_texture3D", o(EXT_texture3D), 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 },
@@ -190,7 +190,7 @@ static const struct extension extension_table[] = {
{ "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 },
@@ -199,8 +199,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 },
@@ -211,7 +211,7 @@ static const struct extension extension_table[] = {
{ "GL_EXT_timer_query", o(EXT_timer_query), GL, 2006 },
{ "GL_EXT_transform_feedback", o(EXT_transform_feedback), GL, 2011 },
{ "GL_EXT_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 },
- { "GL_EXT_vertex_array", o(EXT_vertex_array), GL, 1995 },
+ { "GL_EXT_vertex_array", o(dummy_true), GL, 1995 },
{ "GL_EXT_vertex_array_set", o(EXT_vertex_array_set), GL, 1997 },
/* OES extensions */
@@ -230,11 +230,11 @@ static const struct extension extension_table[] = {
/* FIXME: Mesa expects GL_OES_EGL_image to be available in OpenGL contexts. */
{ "GL_OES_EGL_image", o(OES_EGL_image), GL | ES1 | ES2, 2006 },
#endif
- { "GL_OES_element_index_uint", o(EXT_vertex_array), ES1 | ES2, 2005 },
+ { "GL_OES_element_index_uint", o(dummy_true), ES1 | ES2, 2005 },
{ "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 },
@@ -298,11 +298,11 @@ static const struct extension extension_table[] = {
{ "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_edge_clamp", o(dummy_true), 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_SUN_multi_draw_arrays", o(dummy_true), GL, 1999 },
{ 0, 0, 0, 0 },
};
@@ -343,27 +343,17 @@ name_to_offset(const char* name)
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_window_pos),
o(EXT_abgr),
o(EXT_bgra),
o(EXT_compiled_vertex_array),
- o(EXT_copy_texture),
o(EXT_draw_range_elements),
- 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),
@@ -374,8 +364,6 @@ static const size_t default_extensions[] = {
o(IBM_rasterpos_clip),
o(NV_light_max_exponent),
o(NV_texgen_reflection),
- o(SGIS_generate_mipmap),
- o(SGIS_texture_edge_clamp),
o(SGIS_texture_lod),
0,
@@ -446,9 +434,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
@@ -481,7 +466,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;
#if FEATURE_EXT_pixel_buffer_object
ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
@@ -532,8 +516,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
@@ -556,10 +538,8 @@ _mesa_enable_sw_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;
@@ -586,12 +566,10 @@ _mesa_enable_1_4_extensions(struct gl_context *ctx)
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;*/
}
@@ -603,7 +581,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;
}