diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-03-12 17:59:10 +0000 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-03-13 10:41:32 +0000 |
commit | 93e77b0028170fafd176c3a80a99287343c946b4 (patch) | |
tree | 244b0274b505f9a9c9e1f94d7e925f3533a3238d | |
parent | 0c9e8e6c6e704fac299e2c6224f6030541aef458 (diff) |
mesa: List Quake3 extensions first.
Quake3 truncates the extension string, and GL_EXT_compiled_vertex_array
wasn't being detected, making it very slow.
This is a quick fix. The IMHO best way to address this in a more general
fashion is to sort by year.
-rw-r--r-- | src/mesa/main/extensions.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index fd705ea5b7..07526d09a2 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -45,6 +45,18 @@ static const struct { const char *name; int flag_offset; } default_extensions[] = { + /* + * TODO: Sort by year, to ensure that old extensions are listed first, so + * that old applications that truncate the extension string get the basic + * extensions, roughly corresponding to what existed then. + * + * The best example is quake3demo, which often misses + * GL_EXT_compiled_vertex_array because it gets truncated. + */ + { ON, "GL_EXT_compiled_vertex_array", F(EXT_compiled_vertex_array) }, + { OFF, "GL_EXT_texture_compression_s3tc", F(EXT_texture_compression_s3tc) }, + { OFF, "GL_EXT_texture_env_add", F(EXT_texture_env_add) }, + { OFF, "GL_ARB_copy_buffer", F(ARB_copy_buffer) }, { OFF, "GL_ARB_depth_texture", F(ARB_depth_texture) }, { OFF, "GL_ARB_depth_clamp", F(ARB_depth_clamp) }, @@ -99,7 +111,6 @@ static const struct { { OFF, "GL_EXT_blend_subtract", F(EXT_blend_subtract) }, { OFF, "GL_EXT_clip_volume_hint", F(EXT_clip_volume_hint) }, { OFF, "GL_EXT_cull_vertex", F(EXT_cull_vertex) }, - { ON, "GL_EXT_compiled_vertex_array", F(EXT_compiled_vertex_array) }, { OFF, "GL_EXT_convolution", F(EXT_convolution) }, { ON, "GL_EXT_copy_texture", F(EXT_copy_texture) }, { OFF, "GL_EXT_depth_bounds_test", F(EXT_depth_bounds_test) }, @@ -128,10 +139,8 @@ static const struct { { ON, "GL_EXT_subtexture", F(EXT_subtexture) }, { ON, "GL_EXT_texture", F(EXT_texture) }, { ON, "GL_EXT_texture3D", F(EXT_texture3D) }, - { OFF, "GL_EXT_texture_compression_s3tc", F(EXT_texture_compression_s3tc) }, { OFF, "GL_EXT_texture_cube_map", F(ARB_texture_cube_map) }, { ON, "GL_EXT_texture_edge_clamp", F(SGIS_texture_edge_clamp) }, - { OFF, "GL_EXT_texture_env_add", F(EXT_texture_env_add) }, { OFF, "GL_EXT_texture_env_combine", F(EXT_texture_env_combine) }, { OFF, "GL_EXT_texture_env_dot3", F(EXT_texture_env_dot3) }, { OFF, "GL_EXT_texture_filter_anisotropic", F(EXT_texture_filter_anisotropic) }, |