new file mode 100644
@@ -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[3][1] an_array;
+
+void main()
+{
+ gl_Position = an_array[0][0];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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[1][] an_array;
+
+void main()
+{
+ gl_Position = an_array[0][0];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
new file mode 100644
@@ -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];
+}
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 uniform-array-array-var.vert AMD: pass Nvida: pass Intel: crash uniform-array-var-array.vert AMD: pass Nvida: pass Intel: crash uniform-unsized-array-array-var.vert AMD: pass Nvida: pass Intel: crash uniform-unsized-array-var-array.vert AMD: pass Nvida: pass Intel: crash uniform-unsized-invalid-array-array-var.vert AMD: pass Nvida: fail Intel: pass uniform-unsized-invalid-array-array-var2.vert AMD: pass Nvida: fail Intel: pass uniform-unsized-invalid-array-var-array.vert AMD: pass Nvida: fail Intel: pass uniform-unsized-invalid-array-var-array2.vert AMD: pass Nvida: fail Intel: pass uniform-unsized-invalid-var-array-array.vert AMD: pass Nvida: fail Intel: pass uniform-unsized-invalid-var-array-array2.vert AMD: pass Nvida: fail Intel: pass uniform-unsized-var-array-array.vert AMD: pass Nvida: pass Intel: crash uniform-var-array-array.vert AMD: pass Nvida: pass Intel: crash Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> --- .../compiler/uniform-array-array-var.vert | 15 +++++++++++++++ .../compiler/uniform-array-var-array.vert | 15 +++++++++++++++ .../compiler/uniform-unsized-array-array-var.vert | 15 +++++++++++++++ .../compiler/uniform-unsized-array-var-array.vert | 15 +++++++++++++++ .../uniform-unsized-invalid-array-array-var.vert | 21 +++++++++++++++++++++ .../uniform-unsized-invalid-array-array-var2.vert | 21 +++++++++++++++++++++ .../uniform-unsized-invalid-array-var-array.vert | 21 +++++++++++++++++++++ .../uniform-unsized-invalid-array-var-array2.vert | 21 +++++++++++++++++++++ .../uniform-unsized-invalid-var-array-array.vert | 21 +++++++++++++++++++++ .../uniform-unsized-invalid-var-array-array2.vert | 21 +++++++++++++++++++++ .../compiler/uniform-unsized-var-array-array.vert | 15 +++++++++++++++ .../compiler/uniform-var-array-array.vert | 15 +++++++++++++++ 12 files changed, 216 insertions(+) create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-invalid-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-invalid-array-array-var2.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-invalid-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-invalid-array-var-array2.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-invalid-var-array-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-invalid-var-array-array2.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-unsized-var-array-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/uniform-var-array-array.vert