On 5 October 2013 04:21, Timothy Arceri <[email protected]> wrote:
> > Signed-off-by: Timothy Arceri <[email protected]> > --- > tests/all.tests | 7 +++++++ > ...-function-parameter-declaration-new-syntax.vert | 17 ++++++++++++++++ > ...ay-of-array-function-parameter-declaration.vert | 17 ++++++++++++++++ > ...y-function-parameter-definition-new-syntax.vert | 20 > +++++++++++++++++++ > ...ray-of-array-function-parameter-definition.vert | 20 > +++++++++++++++++++ > .../array-of-array-structure-field-new-syntax.frag | 17 ++++++++++++++++ > .../compiler/array-of-array-structure-field.frag | 17 ++++++++++++++++ > .../array-of-array-uniform-new-syntax.vert | 15 ++++++++++++++ > ...f-array-uniform-unsized-invalid-new-syntax.vert | 21 > ++++++++++++++++++++ > ...-array-uniform-unsized-invalid-new-syntax2.vert | 21 > ++++++++++++++++++++ > .../array-of-array-uniform-unsized-invalid.vert | 21 > ++++++++++++++++++++ > .../array-of-array-uniform-unsized-invalid2.vert | 21 > ++++++++++++++++++++ > .../array-of-array-uniform-unsized-new-syntax.vert | 15 ++++++++++++++ > .../compiler/array-of-array-uniform-unsized.vert | 15 ++++++++++++++ > .../compiler/array-of-array-uniform.vert | 15 ++++++++++++++ > 15 files changed, 259 insertions(+) > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration-new-syntax.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition-new-syntax.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field-new-syntax.frag > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field.frag > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-new-syntax.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax2.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid2.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-new-syntax.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized.vert > create mode 100644 > tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform.vert > General comment: it seems redundant to have "arb_arrays_of_arrays" in the folder name and "array-of-array-" as a prefix to each parser test. Can we remove "array-of-array-" from the parser test file names (so for example tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform.vert becomes tests/spec/arb_arrays_of_arrays/compiler/uniform.vert). > > diff --git a/tests/all.tests b/tests/all.tests > index 3e5e1a3..1737138 100644 > --- a/tests/all.tests > +++ b/tests/all.tests > @@ -1272,6 +1272,13 @@ for backing_type in ('texture', 'renderbuffer'): > 'arb_framebuffer_srgb-' + test_name) > add_plain_test(arb_framebuffer_srgb, 'framebuffer-srgb') > > +# Group ARB_arrays_of_arrays > +arb_arrays_of_arrays = Group() > +spec['ARB_arrays_of_arrays'] = arb_arrays_of_arrays > +import_glsl_parser_tests(arb_arrays_of_arrays, > + os.path.join(testsDir, 'spec', > 'arb_arrays_of_arrays'), > + ['compiler']) > + > arb_gpu_shader5 = Group() > spec['ARB_gpu_shader5'] = arb_gpu_shader5 > add_shader_test_dir(arb_gpu_shader5, > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration-new-syntax.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration-new-syntax.vert > new file mode 100644 > index 0000000..d4f8bf8 > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration-new-syntax.vert > Calling this test "new syntax" is confusing. All three of these syntaxes are new: vec4[3][2] a; vec4[2] a[3]; vec4 a[3][2]; I'd suggest a naming convention that just names the syntax elements in the order they appear. So for instance: vec4[3][2] a; // tested by *-array-array-var vec4[2] a[3]; // tested by *-array-var-array vec4 a[3][2]; // tested by *-var-array-array > @@ -0,0 +1,17 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +attribute vec4 vert; > + > +void foo(vec4 [2] x[2]); > + > +void main() > +{ > It would be nice to include a call to the function here in main(), so that we can verify that the compiler's type checking logic correctly deduces that the function can be called. > + gl_Position = vert; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration.vert > new file mode 100644 > index 0000000..60fec71 > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-declaration.vert > @@ -0,0 +1,17 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +attribute vec4 vert; > + > +void foo(vec4 x[2][3]); > + > +void main() > +{ > Same comment applies here. > + gl_Position = vert; > +} > Can we also add a test to verify that the following works: void foo(vec4[3][2] x); (this is explicitly allowed by the spec). A similar comment goes for all the other tests in this patch. > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition-new-syntax.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition-new-syntax.vert > new file mode 100644 > index 0000000..c93ed9d > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition-new-syntax.vert > @@ -0,0 +1,20 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +attribute vec4 vert; > + > +void foo(vec4 [2] x[2]) > +{ > + gl_Position = vert; > +} > + > +void main() > +{ > + gl_Position = vert; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition.vert > new file mode 100644 > index 0000000..f43284a > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-function-parameter-definition.vert > @@ -0,0 +1,20 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +attribute vec4 vert; > + > +void foo(vec4 x[2][3]) > +{ > + gl_Position = vert; > +} > + > +void main() > +{ > + gl_Position = vert; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field-new-syntax.frag > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field-new-syntax.frag > new file mode 100644 > index 0000000..54c4da5 > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field-new-syntax.frag > @@ -0,0 +1,17 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +struct S { > + vec4 [2] x[2]; > +}; > + > +void main() > +{ > + gl_FragData[0] = vec4(0.0); > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field.frag > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field.frag > new file mode 100644 > index 0000000..e0de2b9 > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-structure-field.frag > @@ -0,0 +1,17 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +struct S { > + vec4 x[2][3]; > +}; > + > +void main() > +{ > + gl_FragData[0] = vec4(0.0); > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-new-syntax.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-new-syntax.vert > new file mode 100644 > index 0000000..588152e > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-new-syntax.vert > @@ -0,0 +1,15 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 [1] an_array[1]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax.vert > new file mode 100644 > index 0000000..7af032a > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax.vert > @@ -0,0 +1,21 @@ > +/* [config] > + * expect_result: fail > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + * > + * For ARB_arrays_of_arrays spec: > + * > + * "For unsized arrays, only the outermost dimension can be lacking a > + * size. A type that includes an unknown array size cannot be formed into > + * an array until it gets an explicit size." > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 [] an_array[]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax2.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax2.vert > new file mode 100644 > index 0000000..fcb0239 > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid-new-syntax2.vert > @@ -0,0 +1,21 @@ > +/* [config] > + * expect_result: fail > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + * > + * For ARB_arrays_of_arrays spec: > + * > + * "For unsized arrays, only the outermost dimension can be lacking a > + * size. A type that includes an unknown array size cannot be formed into > + * an array until it gets an explicit size." > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 [] an_array[1]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid.vert > new file mode 100644 > index 0000000..83da6cc > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid.vert > @@ -0,0 +1,21 @@ > +/* [config] > + * expect_result: fail > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + * > + * For ARB_arrays_of_arrays spec: > + * > + * "For unsized arrays, only the outermost dimension can be lacking a > + * size. A type that includes an unknown array size cannot be formed into > + * an array until it gets an explicit size." > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 an_array[][]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid2.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid2.vert > new file mode 100644 > index 0000000..49aacce > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-invalid2.vert > @@ -0,0 +1,21 @@ > +/* [config] > + * expect_result: fail > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + * > + * For ARB_arrays_of_arrays spec: > + * > + * "For unsized arrays, only the outermost dimension can be lacking a > + * size. A type that includes an unknown array size cannot be formed into > + * an array until it gets an explicit size." > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 an_array[1][]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-new-syntax.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-new-syntax.vert > new file mode 100644 > index 0000000..e801f65 > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized-new-syntax.vert > @@ -0,0 +1,15 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 [1] an_array[]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized.vert > new file mode 100644 > index 0000000..99a52a1 > --- /dev/null > +++ > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform-unsized.vert > @@ -0,0 +1,15 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 an_array[][1]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > diff --git > a/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform.vert > b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform.vert > new file mode 100644 > index 0000000..95215bb > --- /dev/null > +++ b/tests/spec/arb_arrays_of_arrays/compiler/array-of-array-uniform.vert > @@ -0,0 +1,15 @@ > +/* [config] > + * expect_result: pass > + * glsl_version: 1.20 > + * require_extensions: GL_ARB_arrays_of_arrays > + * [end config] > + */ > +#version 120 > +#extension GL_ARB_arrays_of_arrays: enable > + > +uniform vec4 an_array[1][1]; > + > +void main() > +{ > + gl_Position = an_array[0][0]; > +} > -- > 1.7.9.5 > As a side note, are you planning to add other tests in subsequent patches? Glancing at the spec, it seems like there's a lot more that still needs to be tested.
_______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
