Re: [Mesa-dev] [PATCH 1/6] mesa: add ARB_enhanced_layouts

2015-11-08 Thread Emil Velikov
Hi Tim,

On 6 November 2015 at 21:09, Timothy Arceri  wrote:
> On Fri, 2015-11-06 at 13:02 +, Emil Velikov wrote:
>> Hi Tim,
>>
>> A few comments below
>>
>> On 5 November 2015 at 11:17, Timothy Arceri  wrote:
>> > From: Timothy Arceri 
>> >
>> > 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


Re: [Mesa-dev] [PATCH 1/6] mesa: add ARB_enhanced_layouts

2015-11-06 Thread Timothy Arceri
On Fri, 2015-11-06 at 13:02 +, Emil Velikov wrote:
> Hi Tim,
> 
> A few comments below
> 
> On 5 November 2015 at 11:17, Timothy Arceri  wrote:
> > From: Timothy Arceri 
> > 
> > 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.

>  We can always
> nuke it at the end, if it turns out that this extension can be enabled
> everywhere.
> 
> Thanks
> Emil
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 1/6] mesa: add ARB_enhanced_layouts

2015-11-06 Thread Emil Velikov
Hi Tim,

A few comments below

On 5 November 2015 at 11:17, Timothy Arceri  wrote:
> From: Timothy Arceri 
>
> 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. We can always
nuke it at the end, if it turns out that this extension can be enabled
everywhere.

Thanks
Emil
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 1/6] mesa: add ARB_enhanced_layouts

2015-11-05 Thread Timothy Arceri
From: Timothy Arceri 

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 },
-- 
2.4.3

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev