On Fri, May 11, 2012 at 7:17 PM, Brian Paul <bri...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev