[Mesa-dev] [PATCH 5/8] main: enable NV_primitive_restart extension by default
Marek Olšák
maraeo at gmail.com
Fri May 11 10:35:44 PDT 2012
On Fri, May 11, 2012 at 7:17 PM, Brian Paul <brianp at vmware.com> wrote:
> 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...
In that case, I think we should disable it in the state tracker if
there's no driver support. If it's faster for svga, it's very likely
faster for the other DX9-level drivers too.
Marek
More information about the mesa-dev
mailing list