On Wed, 2016-03-09 at 16:04 +0100, Iago Toral wrote: > On Tue, 2016-03-08 at 20:35 +1100, Timothy Arceri wrote: > > This applies the rule to empty declarations. > > > > Fixes: > > dEQP- > > GLES3.functional.shaders.arrays.invalid.empty_declaration_without_v > > ar_name_vertex > > dEQP- > > GLES3.functional.shaders.arrays.invalid.empty_declaration_without_v > > ar_name_fragment > > --- > > src/compiler/glsl/ast_to_hir.cpp | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/src/compiler/glsl/ast_to_hir.cpp > > b/src/compiler/glsl/ast_to_hir.cpp > > index d755a11..8918981 100644 > > --- a/src/compiler/glsl/ast_to_hir.cpp > > +++ b/src/compiler/glsl/ast_to_hir.cpp > > @@ -4223,6 +4223,17 @@ ast_declarator_list::hir(exec_list > > *instructions, > > type_name); > > } else { > > if (decl_type->base_type == GLSL_TYPE_ARRAY) { > > + /* From Section 13.22 (Array Declarations) of the GLSL > > ES 3.2 > > + * spec: > > + * > > + * "... any declaration that leaves the size > > undefined is > > + * disallowed as this would add complexity and > > there are no > > + * use-cases." > > + */ > > + if (state->es_shader && decl_type->is_unsized_array()) > > + _mesa_glsl_error(&loc, state, "array size must be > > explicitly " > > + "or implicitly defined"); > > What about unsized arrays in SSBOs? Unsized arrays are allowed as the > last element in a SSBO declaration. This is a special case because > the > size of the array is implicitly set by the size of the underlying > buffer > object.
This is only for empty declarations e.g int[]; so it shouldn't have any impact on valid SSBOs. > > Iago > > > /* From Section 4.12 (Empty Declarations) of the GLSL > > 4.5 spec: > > * > > * "The combinations of types and qualifiers that > > cause > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev