Hi Tim, On 6 November 2015 at 21:09, Timothy Arceri <t_arc...@yahoo.com.au> wrote: > On Fri, 2015-11-06 at 13:02 +0000, Emil Velikov wrote: >> Hi Tim, >> >> A few comments below >> >> On 5 November 2015 at 11:17, Timothy Arceri <t_arc...@yahoo.com.au> wrote: >> > From: Timothy Arceri <timothy.arc...@collabora.com> >> > >> > Set to dummy_false until the remaining features are added. >> > --- >> > src/glsl/glcpp/glcpp-parse.y | 1 + >> > src/glsl/glsl_parser_extras.cpp | 1 + >> > src/glsl/glsl_parser_extras.h | 2 ++ >> > src/mesa/main/extensions.c | 1 + >> > 4 files changed, 5 insertions(+) >> > >> > diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y >> > index 4acccf7..6aa7abe 100644 >> > --- a/src/glsl/glcpp/glcpp-parse.y >> > +++ b/src/glsl/glcpp/glcpp-parse.y >> > @@ -2387,6 +2387,7 @@ >> > _glcpp_parser_handle_version_declaration(glcpp_parser_t *parser, intmax_t >> > versio >> > } >> > } else { >> > add_builtin_define(parser, "GL_ARB_draw_buffers", 1); >> > + add_builtin_define(parser, "GL_ARB_enhanced_layouts", 1); >> > add_builtin_define(parser, "GL_ARB_separate_shader_objects", >> > 1); >> > add_builtin_define(parser, "GL_ARB_texture_rectangle", 1); >> > add_builtin_define(parser, "GL_AMD_shader_trinary_minmax", 1); >> > diff --git a/src/glsl/glsl_parser_extras.cpp >> > b/src/glsl/glsl_parser_extras.cpp >> > index 14cb9fc..be344d6 100644 >> > --- a/src/glsl/glsl_parser_extras.cpp >> > +++ b/src/glsl/glsl_parser_extras.cpp >> > @@ -594,6 +594,7 @@ static const _mesa_glsl_extension >> > _mesa_glsl_supported_extensions[] = { >> > EXT(ARB_derivative_control, true, false, >> > ARB_derivative_control), >> > EXT(ARB_draw_buffers, true, false, dummy_true), >> > EXT(ARB_draw_instanced, true, false, >> > ARB_draw_instanced), >> > + EXT(ARB_enhanced_layouts, true, false, dummy_true), >> > EXT(ARB_explicit_attrib_location, true, false, >> > ARB_explicit_attrib_location), >> > EXT(ARB_explicit_uniform_location, true, false, >> > ARB_explicit_uniform_location), >> > EXT(ARB_fragment_coord_conventions, true, false, >> > ARB_fragment_coord_conventions), >> > diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h >> > index b54c535..684b917 100644 >> > --- a/src/glsl/glsl_parser_extras.h >> > +++ b/src/glsl/glsl_parser_extras.h >> > @@ -499,6 +499,8 @@ struct _mesa_glsl_parse_state { >> > bool ARB_draw_buffers_warn; >> > bool ARB_draw_instanced_enable; >> > bool ARB_draw_instanced_warn; >> > + bool ARB_enhanced_layouts_enable; >> > + bool ARB_enhanced_layouts_warn; >> > bool ARB_explicit_attrib_location_enable; >> > bool ARB_explicit_attrib_location_warn; >> > bool ARB_explicit_uniform_location_enable; >> > diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c >> > index bdc6817..b8556aa 100644 >> > --- a/src/mesa/main/extensions.c >> > +++ b/src/mesa/main/extensions.c >> > @@ -111,6 +111,7 @@ static const struct extension extension_table[] = { >> > { "GL_ARB_draw_elements_base_vertex", >> > o(ARB_draw_elements_base_vertex), GL, 2009 }, >> > { "GL_ARB_draw_indirect", o(ARB_draw_indirect), >> > GLC, 2010 }, >> > { "GL_ARB_draw_instanced", o(ARB_draw_instanced), >> > GL, 2008 }, >> > + { "GL_ARB_enhanced_layouts", o(dummy_false), >> > GLC, 2013 }, >> > { "GL_ARB_explicit_attrib_location", >> > o(ARB_explicit_attrib_location), GL, 2009 }, >> > { "GL_ARB_explicit_uniform_location", >> > o(ARB_explicit_uniform_location), GL, 2012 }, >> > { "GL_ARB_fragment_coord_conventions", >> > o(ARB_fragment_coord_conventions), GL, 2009 }, >> Please add gl_extensions::ARB_enhanced_layouts and use it in the above >> two tables. Otherwise the extension override won't work. > > Are you sure? MESA_EXTENSION_OVERRIDE=GL_ARB_enhanced_layouts has been working > for my testing without it. > From what I recall is that (as I was trying to use this for explicit offsets) _mesa_glsl_extension::compatible_with_state() was failing as, it directly dives into gl_extensions, and with the above it was constantly reading the dummy_false.
Fwiw I would follow the approach set by other extensions - add it for now and nuke it as/if needed. -Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev