diff mbox

[V4,02/11] arb_arrays_of_arrays: add more initializer tests

Message ID 1402749361-11643-3-git-send-email-t_arceri@yahoo.com.au
State New
Headers show

Commit Message

'Timothy Arceri' via Patchwork Forward June 14, 2014, 12:35 p.m. UTC
Test results are from the following hardware/driver combinations:

AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3
Nvidia GeForce 210 - NVIDIA 331.20 OpenGL 3.3
Intel Ivy Bridge - Mesa 10.1(815e064) with ARB_arrays_of_arrays enabled

initializer-dec-list-type-array-array-var1-var2.vert
AMD: pass
Intel: pass

initializer-dec-list-type-array-var1-array-var2-array.vert
AMD: pass
Intel: pass

initializer-dec-list-type-var1-array-array-var2-array-array.vert
AMD: pass
Intel: pass

initializer-struct-field-array-array-var.vert
AMD: pass
Nvida: pass
Intel: pass

initializer-struct-field-array-var-array.vert
AMD: pass
Nvida: pass
Intel: pass

initializer-struct-field-array-var-array2.vert
AMD: pass
Intel: pass

initializer-struct-field-dec-list-array-array-var1-var2.vert
AMD: pass
Intel: pass

initializer-struct-field-dec-list-array-var1-array-var2.vert
AMD: pass
Intel: pass

initializer-struct-field-dec-list-array-var1-var2-array.vert
AMD: pass
Intel: pass

initializer-struct-field-var-array-array.vert
AMD: pass
Nvida: pass
Intel: pass

initializer-three-dimensions.vert
AMD: pass
Nvida: pass
Intel: pass

initializer-three-dimensions2.vert
AMD: pass
Nvida: pass
Intel: pass

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
---
 ...alizer-dec-list-type-array-array-var1-var2.vert | 43 +++++++++++++++++++
 ...-dec-list-type-array-var1-array-var2-array.vert | 47 +++++++++++++++++++++
 ...ist-type-var1-array-array-var2-array-array.vert | 43 +++++++++++++++++++
 .../initializer-struct-field-array-array-var.vert  | 34 +++++++++++++++
 .../initializer-struct-field-array-var-array.vert  | 34 +++++++++++++++
 .../initializer-struct-field-array-var-array2.vert | 34 +++++++++++++++
 ...truct-field-dec-list-array-array-var1-var2.vert | 48 ++++++++++++++++++++++
 ...truct-field-dec-list-array-var1-array-var2.vert | 38 +++++++++++++++++
 ...truct-field-dec-list-array-var1-var2-array.vert | 38 +++++++++++++++++
 .../initializer-struct-field-var-array-array.vert  | 34 +++++++++++++++
 .../compiler/initializer-three-dimensions.vert     | 22 ++++++++++
 .../compiler/initializer-three-dimensions2.vert    | 22 ++++++++++
 12 files changed, 437 insertions(+)
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert

Comments

Marek Olšák June 18, 2014, 11:03 p.m. UTC | #1
These tests (and others) are run even if ARB_arrays_of_arrays isn't
supported. Maybe the extension checking is broken?

Marek

On Sat, Jun 14, 2014 at 2:35 PM, Timothy Arceri <t_arceri@yahoo.com.au> wrote:
> Test results are from the following hardware/driver combinations:
>
> AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3
> Nvidia GeForce 210 - NVIDIA 331.20 OpenGL 3.3
> Intel Ivy Bridge - Mesa 10.1(815e064) with ARB_arrays_of_arrays enabled
>
> initializer-dec-list-type-array-array-var1-var2.vert
> AMD: pass
> Intel: pass
>
> initializer-dec-list-type-array-var1-array-var2-array.vert
> AMD: pass
> Intel: pass
>
> initializer-dec-list-type-var1-array-array-var2-array-array.vert
> AMD: pass
> Intel: pass
>
> initializer-struct-field-array-array-var.vert
> AMD: pass
> Nvida: pass
> Intel: pass
>
> initializer-struct-field-array-var-array.vert
> AMD: pass
> Nvida: pass
> Intel: pass
>
> initializer-struct-field-array-var-array2.vert
> AMD: pass
> Intel: pass
>
> initializer-struct-field-dec-list-array-array-var1-var2.vert
> AMD: pass
> Intel: pass
>
> initializer-struct-field-dec-list-array-var1-array-var2.vert
> AMD: pass
> Intel: pass
>
> initializer-struct-field-dec-list-array-var1-var2-array.vert
> AMD: pass
> Intel: pass
>
> initializer-struct-field-var-array-array.vert
> AMD: pass
> Nvida: pass
> Intel: pass
>
> initializer-three-dimensions.vert
> AMD: pass
> Nvida: pass
> Intel: pass
>
> initializer-three-dimensions2.vert
> AMD: pass
> Nvida: pass
> Intel: pass
>
> Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
> ---
>  ...alizer-dec-list-type-array-array-var1-var2.vert | 43 +++++++++++++++++++
>  ...-dec-list-type-array-var1-array-var2-array.vert | 47 +++++++++++++++++++++
>  ...ist-type-var1-array-array-var2-array-array.vert | 43 +++++++++++++++++++
>  .../initializer-struct-field-array-array-var.vert  | 34 +++++++++++++++
>  .../initializer-struct-field-array-var-array.vert  | 34 +++++++++++++++
>  .../initializer-struct-field-array-var-array2.vert | 34 +++++++++++++++
>  ...truct-field-dec-list-array-array-var1-var2.vert | 48 ++++++++++++++++++++++
>  ...truct-field-dec-list-array-var1-array-var2.vert | 38 +++++++++++++++++
>  ...truct-field-dec-list-array-var1-var2-array.vert | 38 +++++++++++++++++
>  .../initializer-struct-field-var-array-array.vert  | 34 +++++++++++++++
>  .../compiler/initializer-three-dimensions.vert     | 22 ++++++++++
>  .../compiler/initializer-three-dimensions2.vert    | 22 ++++++++++
>  12 files changed, 437 insertions(+)
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert
>  create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert
>
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert
> new file mode 100644
> index 0000000..287fadd
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert
> @@ -0,0 +1,43 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  vec4[3][2] a = {
> +      {
> +        vec4(1.0), // a[0][0]
> +        vec4(1.0)  // a[0][1]
> +      },
> +      {
> +        vec4(1.0), // a[1][0]
> +        vec4(1.0)  // a[1][1]
> +      },
> +      {
> +        vec4(1.0), // a[2][0]
> +        vec4(1.0)  // a[2][1]
> +      }
> +    }, b = {
> +      {
> +        vec4(1.0), // b[0][0]
> +        vec4(1.0)  // b[0][1]
> +      },
> +      {
> +        vec4(1.0), // b[1][0]
> +        vec4(1.0)  // b[1][1]
> +      },
> +      {
> +        vec4(1.0), // b[2][0]
> +        vec4(1.0)  // b[2][1]
> +      }
> +    }; // b
> +
> +  gl_Position = b[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert
> new file mode 100644
> index 0000000..844081a
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert
> @@ -0,0 +1,47 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  vec4[2] a[4] = {
> +      {
> +        vec4(1.0), // a[0][0]
> +        vec4(1.0)  // a[0][1]
> +      },
> +      {
> +        vec4(1.0), // a[1][0]
> +        vec4(1.0)  // a[1][1]
> +      },
> +      {
> +        vec4(1.0), // a[2][0]
> +        vec4(1.0)  // a[2][1]
> +      },
> +      {
> +        vec4(1.0), // a[3][0]
> +        vec4(1.0)  // a[3][1]
> +      }
> +    }, b[3] = {
> +      {
> +        vec4(1.0), // b[0][0]
> +        vec4(1.0)  // b[0][1]
> +      },
> +      {
> +        vec4(1.0), // b[1][0]
> +        vec4(1.0)  // b[1][1]
> +      },
> +      {
> +        vec4(1.0), // b[2][0]
> +        vec4(1.0)  // b[2][1]
> +      }
> +    }; // b
> +
> +  gl_Position = b[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert
> new file mode 100644
> index 0000000..c7c97e4
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert
> @@ -0,0 +1,43 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  vec4 a[3][2] = {
> +      {
> +        vec4(1.0), // a[0][0]
> +        vec4(1.0)  // a[0][1]
> +      },
> +      {
> +        vec4(1.0), // a[1][0]
> +        vec4(1.0)  // a[1][1]
> +      },
> +      {
> +        vec4(1.0), // a[2][0]
> +        vec4(1.0)  // a[2][1]
> +      }
> +    }, b[3][2] = {
> +      {
> +        vec4(1.0), // b[0][0]
> +        vec4(1.0)  // b[0][1]
> +      },
> +      {
> +        vec4(1.0), // b[1][0]
> +        vec4(1.0)  // b[1][1]
> +      },
> +      {
> +        vec4(1.0), // b[2][0]
> +        vec4(1.0)  // b[2][1]
> +      }
> +    }; // b
> +
> +  gl_Position = b[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert
> new file mode 100644
> index 0000000..1d0cedf
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert
> @@ -0,0 +1,34 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  struct {
> +      vec4[3][2] a;
> +  } aggregate = {
> +      {
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
> +         }, // a[0]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
> +         }, // a[1]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
> +         } // a[2]
> +      }
> +  };
> +
> +  gl_Position = aggregate.a[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert
> new file mode 100644
> index 0000000..5afc308
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert
> @@ -0,0 +1,34 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  struct {
> +      vec4[2] a[3];
> +  } aggregate = {
> +      {
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
> +         }, // a[0]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
> +         }, // a[1]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
> +         } // a[2]
> +      }
> +  };
> +
> +  gl_Position = aggregate.a[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert
> new file mode 100644
> index 0000000..15e24ce
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert
> @@ -0,0 +1,34 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  struct {
> +      vec4[2] a[3];
> +  } aggregate = {
> +      {
> +         {
> +           vec4(1.0), // a[0][0]
> +           vec4(1.0)  // a[0][1]
> +         }, // a[0]
> +         {
> +           vec4(1.0), // a[1][0]
> +           vec4(1.0)  // a[1][1]
> +         }, // a[1]
> +         {
> +           vec4(1.0), // a[2][0]
> +           vec4(1.0)  // a[2][1]
> +         } // a[2]
> +      }
> +  };
> +
> +  gl_Position = aggregate.a[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert
> new file mode 100644
> index 0000000..b0abb4a
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert
> @@ -0,0 +1,48 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  struct {
> +      vec4[3][2] a, b;
> +  } aggregate = {
> +      {
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
> +         }, // a[0]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
> +         }, // a[1]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
> +         } // a[2]
> +      }, // a
> +      {
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // b[0][0]
> +           {5.0, 6.0, 7.0, 8.0}  // b[0][1]
> +         }, // b[0]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // b[1][0]
> +           {5.0, 6.0, 7.0, 8.0}  // b[1][1]
> +         }, // b[1]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // b[2][0]
> +           {5.0, 6.0, 7.0, 8.0}  // b[2][1]
> +         } // b[2]
> +      } // b
> +  };
> +
> +  gl_Position = aggregate.a[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert
> new file mode 100644
> index 0000000..782349b
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert
> @@ -0,0 +1,38 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  struct {
> +      vec4[2] a[3], b;
> +  } aggregate = {
> +      {
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
> +         }, // a[0]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
> +         }, // a[1]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
> +         } // a[2]
> +      }, // a
> +      {
> +         { 1.0, 2.0, 3.0, 4.0 }, // b[0]
> +         { 1.0, 2.0, 3.0, 4.0 }  // b[1]
> +      }
> +  };
> +
> +  gl_Position = aggregate.a[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert
> new file mode 100644
> index 0000000..6663337
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert
> @@ -0,0 +1,38 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  struct {
> +      vec4[2] b, a[3];
> +  } aggregate = {
> +      {
> +         { 1.0, 2.0, 3.0, 4.0 }, // b[0]
> +         { 1.0, 2.0, 3.0, 4.0 }  // b[1]
> +      },
> +      {
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
> +         }, // a[0]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
> +         }, // a[1]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
> +         } // a[2]
> +      } // a
> +  };
> +
> +  gl_Position = aggregate.a[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert
> new file mode 100644
> index 0000000..72ccacf
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert
> @@ -0,0 +1,34 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  struct {
> +      vec4 a[3][2];
> +  } aggregate = {
> +      {
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
> +         }, // a[0]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
> +         }, // a[1]
> +         {
> +           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
> +           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
> +         } // a[2]
> +      }
> +  };
> +
> +  gl_Position = aggregate.a[2][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert
> new file mode 100644
> index 0000000..a0e06a6
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert
> @@ -0,0 +1,22 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  vec4 a[3][2][4] = {vec4[2][4](vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
> +                                vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))),
> +                     vec4[2][4](vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
> +                                vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))),
> +                     vec4[2][4](vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
> +                                vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)))};
> +
> +  gl_Position = a[2][1][1];
> +}
> diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert
> new file mode 100644
> index 0000000..03a1e83
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert
> @@ -0,0 +1,22 @@
> +/* [config]
> + * expect_result: pass
> + * glsl_version: 1.20
> + * require_extensions: GL_ARB_arrays_of_arrays
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +#version 120
> +#extension GL_ARB_arrays_of_arrays: enable
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main()
> +{
> +  vec4 a[3][2][4] = {{vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
> +                      vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))},
> +                     {vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
> +                      vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))},
> +                     {vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
> +                      vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))}};
> +
> +  gl_Position = a[2][1][1];
> +}
> --
> 1.9.3
>
> _______________________________________________
> Piglit mailing list
> Piglit@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
Matt Turner June 18, 2014, 11:25 p.m. UTC | #2
On Wed, Jun 18, 2014 at 4:03 PM, Marek Olšák <maraeo@gmail.com> wrote:
> These tests (and others) are run even if ARB_arrays_of_arrays isn't
> supported. Maybe the extension checking is broken?

>> + * require_extensions: GL_ARB_arrays_of_arrays
>> + * require_extensions: GL_ARB_shading_language_420pack

Probably because of this. I think for multiple extensions you just put
them on the same line after a single require_extensions:
diff mbox

Patch

diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert
new file mode 100644
index 0000000..287fadd
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-array-var1-var2.vert
@@ -0,0 +1,43 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  vec4[3][2] a = {
+      {
+        vec4(1.0), // a[0][0]
+        vec4(1.0)  // a[0][1]
+      },
+      {
+        vec4(1.0), // a[1][0]
+        vec4(1.0)  // a[1][1]
+      },
+      {
+        vec4(1.0), // a[2][0]
+        vec4(1.0)  // a[2][1]
+      }
+    }, b = {
+      {
+        vec4(1.0), // b[0][0]
+        vec4(1.0)  // b[0][1]
+      },
+      {
+        vec4(1.0), // b[1][0]
+        vec4(1.0)  // b[1][1]
+      },
+      {
+        vec4(1.0), // b[2][0]
+        vec4(1.0)  // b[2][1]
+      }
+    }; // b
+
+  gl_Position = b[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert
new file mode 100644
index 0000000..844081a
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-array-var1-array-var2-array.vert
@@ -0,0 +1,47 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  vec4[2] a[4] = {
+      {
+        vec4(1.0), // a[0][0]
+        vec4(1.0)  // a[0][1]
+      },
+      {
+        vec4(1.0), // a[1][0]
+        vec4(1.0)  // a[1][1]
+      },
+      {
+        vec4(1.0), // a[2][0]
+        vec4(1.0)  // a[2][1]
+      },
+      {
+        vec4(1.0), // a[3][0]
+        vec4(1.0)  // a[3][1]
+      }
+    }, b[3] = {
+      {
+        vec4(1.0), // b[0][0]
+        vec4(1.0)  // b[0][1]
+      },
+      {
+        vec4(1.0), // b[1][0]
+        vec4(1.0)  // b[1][1]
+      },
+      {
+        vec4(1.0), // b[2][0]
+        vec4(1.0)  // b[2][1]
+      }
+    }; // b
+
+  gl_Position = b[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert
new file mode 100644
index 0000000..c7c97e4
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-dec-list-type-var1-array-array-var2-array-array.vert
@@ -0,0 +1,43 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  vec4 a[3][2] = {
+      {
+        vec4(1.0), // a[0][0]
+        vec4(1.0)  // a[0][1]
+      },
+      {
+        vec4(1.0), // a[1][0]
+        vec4(1.0)  // a[1][1]
+      },
+      {
+        vec4(1.0), // a[2][0]
+        vec4(1.0)  // a[2][1]
+      }
+    }, b[3][2] = {
+      {
+        vec4(1.0), // b[0][0]
+        vec4(1.0)  // b[0][1]
+      },
+      {
+        vec4(1.0), // b[1][0]
+        vec4(1.0)  // b[1][1]
+      },
+      {
+        vec4(1.0), // b[2][0]
+        vec4(1.0)  // b[2][1]
+      }
+    }; // b
+
+  gl_Position = b[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert
new file mode 100644
index 0000000..1d0cedf
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-array-var.vert
@@ -0,0 +1,34 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  struct {
+      vec4[3][2] a;
+  } aggregate = {
+      {
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
+         }, // a[0]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
+         }, // a[1]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
+         } // a[2]
+      }
+  };
+
+  gl_Position = aggregate.a[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert
new file mode 100644
index 0000000..5afc308
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array.vert
@@ -0,0 +1,34 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  struct {
+      vec4[2] a[3];
+  } aggregate = {
+      {
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
+         }, // a[0]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
+         }, // a[1]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
+         } // a[2]
+      }
+  };
+
+  gl_Position = aggregate.a[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert
new file mode 100644
index 0000000..15e24ce
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-array-var-array2.vert
@@ -0,0 +1,34 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  struct {
+      vec4[2] a[3];
+  } aggregate = {
+      {
+         {
+           vec4(1.0), // a[0][0]
+           vec4(1.0)  // a[0][1]
+         }, // a[0]
+         {
+           vec4(1.0), // a[1][0]
+           vec4(1.0)  // a[1][1]
+         }, // a[1]
+         {
+           vec4(1.0), // a[2][0]
+           vec4(1.0)  // a[2][1]
+         } // a[2]
+      }
+  };
+
+  gl_Position = aggregate.a[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert
new file mode 100644
index 0000000..b0abb4a
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-array-var1-var2.vert
@@ -0,0 +1,48 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  struct {
+      vec4[3][2] a, b;
+  } aggregate = {
+      {
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
+         }, // a[0]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
+         }, // a[1]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
+         } // a[2]
+      }, // a
+      {
+         {
+           {1.0, 2.0, 3.0, 4.0}, // b[0][0]
+           {5.0, 6.0, 7.0, 8.0}  // b[0][1]
+         }, // b[0]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // b[1][0]
+           {5.0, 6.0, 7.0, 8.0}  // b[1][1]
+         }, // b[1]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // b[2][0]
+           {5.0, 6.0, 7.0, 8.0}  // b[2][1]
+         } // b[2]
+      } // b
+  };
+
+  gl_Position = aggregate.a[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert
new file mode 100644
index 0000000..782349b
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-array-var2.vert
@@ -0,0 +1,38 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  struct {
+      vec4[2] a[3], b;
+  } aggregate = {
+      {
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
+         }, // a[0]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
+         }, // a[1]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
+         } // a[2]
+      }, // a
+      {
+         { 1.0, 2.0, 3.0, 4.0 }, // b[0]
+         { 1.0, 2.0, 3.0, 4.0 }  // b[1]
+      }
+  };
+
+  gl_Position = aggregate.a[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert
new file mode 100644
index 0000000..6663337
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-dec-list-array-var1-var2-array.vert
@@ -0,0 +1,38 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  struct {
+      vec4[2] b, a[3];
+  } aggregate = {
+      {
+         { 1.0, 2.0, 3.0, 4.0 }, // b[0]
+         { 1.0, 2.0, 3.0, 4.0 }  // b[1]
+      },
+      {
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
+         }, // a[0]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
+         }, // a[1]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
+         } // a[2]
+      } // a
+  };
+
+  gl_Position = aggregate.a[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert
new file mode 100644
index 0000000..72ccacf
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-struct-field-var-array-array.vert
@@ -0,0 +1,34 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  struct {
+      vec4 a[3][2];
+  } aggregate = {
+      {
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[0][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[0][1]
+         }, // a[0]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[1][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[1][1]
+         }, // a[1]
+         {
+           {1.0, 2.0, 3.0, 4.0}, // a[2][0]
+           {5.0, 6.0, 7.0, 8.0}  // a[2][1]
+         } // a[2]
+      }
+  };
+
+  gl_Position = aggregate.a[2][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert
new file mode 100644
index 0000000..a0e06a6
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions.vert
@@ -0,0 +1,22 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  vec4 a[3][2][4] = {vec4[2][4](vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
+                                vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))),
+                     vec4[2][4](vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
+                                vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))),
+                     vec4[2][4](vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
+                                vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)))};
+
+  gl_Position = a[2][1][1];
+}
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert
new file mode 100644
index 0000000..03a1e83
--- /dev/null
+++ b/tests/spec/arb_arrays_of_arrays/compiler/initializer-three-dimensions2.vert
@@ -0,0 +1,22 @@ 
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.20
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ */
+#version 120
+#extension GL_ARB_arrays_of_arrays: enable
+#extension GL_ARB_shading_language_420pack: enable
+
+void main()
+{
+  vec4 a[3][2][4] = {{vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
+                      vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))},
+                     {vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
+                      vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))},
+                     {vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0)),
+                      vec4[4](vec4(0.0), vec4(1.0), vec4(0.0), vec4(1.0))}};
+
+  gl_Position = a[2][1][1];
+}