[Mesa-dev] [PATCH 5/8] main: enable NV_primitive_restart extension by default

Brian Paul brianp at vmware.com
Fri May 11 10:17:35 PDT 2012


On 05/11/2012 11:08 AM, Marek Olšák wrote:
> I think a more preferable way to enable an extension for everybody by
> default is to do something like this:
>
>> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
>> index a843a40..71b7721 100644
>> --- a/src/mesa/main/extensions.c
>> +++ b/src/mesa/main/extensions.c
>> @@ -298,7 +298,7 @@ static const struct extension extension_table[] = {
>>      { "GL_NV_light_max_exponent",                   o(NV_light_max_exponent),                   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_primitive_restart",                    o(dummy_true),                              GL,             2002 },
>>      { "GL_NV_texgen_reflection",                    o(NV_texgen_reflection),                    GL,             1999 },
>>      { "GL_NV_texture_barrier",                      o(NV_texture_barrier),                      GL,             2009 },
>>      { "GL_NV_texture_env_combine4",                 o(NV_texture_env_combine4),                 GL,             1999 },
>> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
>> index 06ca0d5..8086bb5 100644
>> --- a/src/mesa/main/mtypes.h
>> +++ b/src/mesa/main/mtypes.h
>> @@ -2982,7 +2982,6 @@ struct gl_extensions
>>      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;
>
> And fixing all occurences of gl_extensions::NV_primitive_restart. Both
> ways are equivalent though, so it's really just about whether we
> should allow drivers to disable the extension.

FWIW, I know of at least one application which performs faster with 
the vmware driver when NV_primitive_restart is disabled (and the app 
does it's own work-around) rather than to use the software-based 
primitive restart path.

So setting MESA_EXTENSION_OVERRIDE=-GL_NV_primitive_restart should be 
an option.  The o(dummy_true) convention might prevent that, but I 
haven't tested that...

-Brian


More information about the mesa-dev mailing list