> -----Original Message----- > From: Timothy Arceri [mailto:t_arc...@yahoo.com.au] > Sent: Thursday, September 3, 2015 10:24 AM > To: Lofstedt, Marta; mesa-dev@lists.freedesktop.org > Subject: Re: [Mesa-dev] [PATCH 16/16] glsl: Allow arrays of arrays in GLSL ES > 3.10 and GLSL 4.30 > > On Thu, 2015-09-03 at 07:55 +0000, Lofstedt, Marta wrote: > > Hi Timothy, > > > > This patch will unlock a lot of GLES 3.1 AoA related CTS tests. It > > would be nice to see it merged. > > > > I'm not sure there is much point merging it since there rest of the series > fixes > all the AoA CTS tests. Although the less patches I have to carry around the > better so if your happy to give your r-b on the updated patch [1] based on > Ian's feedback then I'll push that one. > > [1] > https://github.com/tarceri/Mesa_arrays_of_arrays/commit/6dbf7611d8bab > bd37e > abc4625c35b92e8d9cda72 >
Oh, there's a V3. I didn't realize the "has_" thing was now out of fashion... Anyways, looks like we would also need the glsl_parser.yy stuff from: https://github.com/tarceri/Mesa_arrays_of_arrays/commit/73eda83f19d83de7bfad18d018ec79668ba21515 And that would probably kick-off a bunch of other dependencies and extra work. So, I will wait until you send up your full set. Keep up the good work! /Marta > > > Reviewed-by: Marta Lofstedt <marta.lofst...@intel.com> > > > > > -----Original Message----- > > > From: mesa-dev [mailto:mesa-dev-boun...@lists.freedesktop.org] On > > > Behalf Of Timothy Arceri > > > Sent: Saturday, July 18, 2015 3:26 AM > > > To: mesa-dev@lists.freedesktop.org > > > Subject: [Mesa-dev] [PATCH 16/16] glsl: Allow arrays of arrays in > > > GLSL ES > > > 3.10 > > > and GLSL 4.30 > > > > > > V2: add missing 's' to the extension name in error messages and add > > > decimal place in version string > > > --- > > > src/glsl/ast_to_hir.cpp | 13 ++++++++----- > > > src/glsl/glsl_parser.yy | 22 ++++++++++++++-------- > > > src/glsl/glsl_parser_extras.h | 5 +++++ > > > 3 files changed, 27 insertions(+), 13 deletions(-) > > > > > > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index > > > 8154c1e..fe169b3 100644 > > > --- a/src/glsl/ast_to_hir.cpp > > > +++ b/src/glsl/ast_to_hir.cpp > > > @@ -1939,12 +1939,15 @@ process_array_type(YYLTYPE *loc, const > > > glsl_type *base, > > > * > > > * "Only one-dimensional arrays may be declared." > > > */ > > > - if (!state->ARB_arrays_of_arrays_enable) { > > > + if (!state->has_arrays_of_arrays()) { > > > + const char *const requirement = state->es_shader > > > + ? "GLSL ES 3.10" > > > + : "GL_ARB_arrays_of_arrays or GLSL 4.30"; > > > _mesa_glsl_error(loc, state, > > > - "invalid array of `%s'" > > > - "GL_ARB_arrays_of_arrays " > > > - "required for defining arrays of arrays", > > > - base->name); > > > + "invalid array of `%s' " > > > + "%s required for defining arrays of arrays", > > > + base->name, requirement); > > > + > > > return glsl_type::error_type; > > > } > > > } > > > diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index > > > 1f08893..c480689 100644 > > > --- a/src/glsl/glsl_parser.yy > > > +++ b/src/glsl/glsl_parser.yy > > > @@ -1856,10 +1856,13 @@ array_specifier: > > > void *ctx = state; > > > $$ = $1; > > > > > > - if (!state->ARB_arrays_of_arrays_enable) { > > > - _mesa_glsl_error(& @1, state, > > > - "GL_ARB_arrays_of_arrays " > > > - "required for defining arrays of arrays"); > > > + if (!state->has_arrays_of_arrays()) { > > > + const char *const requirement = state->es_shader > > > + ? "GLSL ES 3.10" > > > + : "GL_ARB_arrays_of_arrays or GLSL 4.30"; > > > + _mesa_glsl_error(& @1, state, > > > + "%s required for defining arrays of arrays.", > > > + requirement); > > > } > > > $$->add_dimension(new(ctx) > > > ast_expression(ast_unsized_array_dim, > > > NULL, > > > NULL, NULL)); @@ > > > -1868,10 > > > +1871,13 @@ > > > array_specifier: > > > { > > > $$ = $1; > > > > > > - if (!state->ARB_arrays_of_arrays_enable) { > > > - _mesa_glsl_error(& @1, state, > > > - "GL_ARB_arrays_of_arrays " > > > - "required for defining arrays of arrays"); > > > + if (!state->has_arrays_of_arrays()) { > > > + const char *const requirement = state->es_shader > > > + ? "GLSL ES 3.10" > > > + : "GL_ARB_arrays_of_arrays or GLSL 4.30"; > > > + _mesa_glsl_error(& @1, state, > > > + "%s required for defining arrays of arrays.", > > > + requirement); > > > } > > > > > > $$->add_dimension($3); > > > diff --git a/src/glsl/glsl_parser_extras.h > > > b/src/glsl/glsl_parser_extras.h index 02ddbbd..ba760fe 100644 > > > --- a/src/glsl/glsl_parser_extras.h > > > +++ b/src/glsl/glsl_parser_extras.h > > > @@ -190,6 +190,11 @@ struct _mesa_glsl_parse_state { > > > return true; > > > } > > > > > > + bool has_arrays_of_arrays() const > > > + { > > > + return ARB_arrays_of_arrays_enable || is_version(430, 310); > > > + } > > > + > > > bool has_atomic_counters() const > > > { > > > return ARB_shader_atomic_counters_enable || is_version(420, > > > 310); > > > -- > > > 2.4.3 > > > > > > _______________________________________________ > > > 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