new file mode 100644
@@ -0,0 +1,15 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.50
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 150
+#extension GL_ARB_arrays_of_arrays: enable
+
+in 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.50
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 150
+#extension GL_ARB_arrays_of_arrays: enable
+
+in vec4[1] an_array[3];
+
+void main()
+{
+ gl_Position = an_array[0][0];
+}
new file mode 100644
@@ -0,0 +1,15 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.50
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 150
+#extension GL_ARB_arrays_of_arrays: enable
+
+in vec4 an_array[3][1];
+
+void main()
+{
+ gl_Position = an_array[0][0];
+}
new file mode 100644
@@ -0,0 +1,17 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.50
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 150
+#extension GL_ARB_arrays_of_arrays: enable
+
+out vec4[3][2] a;
+
+void main()
+{
+ a = vec4[3][2](vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)));
+}
new file mode 100644
@@ -0,0 +1,19 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.30
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 130
+#extension GL_ARB_arrays_of_arrays: enable
+
+out vec4[3][2] a;
+
+void main()
+{
+ a = vec4[3][2](vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)));
+
+ gl_Position = a[0][0];
+}
new file mode 100644
@@ -0,0 +1,17 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.50
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 150
+#extension GL_ARB_arrays_of_arrays: enable
+
+out vec4[2] a[3];
+
+void main()
+{
+ a = vec4[3][2](vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)));
+}
new file mode 100644
@@ -0,0 +1,19 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.30
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 130
+#extension GL_ARB_arrays_of_arrays: enable
+
+out vec4[2] a[3];
+
+void main()
+{
+ a = vec4[3][2](vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)));
+
+ gl_Position = a[0][0];
+}
new file mode 100644
@@ -0,0 +1,17 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.50
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 150
+#extension GL_ARB_arrays_of_arrays: enable
+
+out vec4 a[3][2];
+
+void main()
+{
+ a = vec4[3][2](vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)));
+}
new file mode 100644
@@ -0,0 +1,19 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.30
+ * require_extensions: GL_ARB_arrays_of_arrays
+ * [end config]
+ */
+#version 130
+#extension GL_ARB_arrays_of_arrays: enable
+
+out vec4 a[3][2];
+
+void main()
+{
+ a = vec4[3][2](vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)),
+ vec4[2](vec4(0.0), vec4(1.0)));
+
+ gl_Position = a[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 input-array-array-var.vert AMD: pass Nvida: pass Intel: crash input-array-var-array.vert AMD: pass Nvida: pass Intel: crash input-var-array-array.vert AMD: pass Nvida: pass Intel: crash output-array-array-var.frag AMD: pass Nvida: pass Intel: pass output-array-array-var.vert AMD: pass Nvida: pass Intel: pass output-array-var-array.frag AMD: pass Nvida: pass Intel: pass output-array-var-array.vert AMD: pass Nvida: pass Intel: pass output-var-array-array.frag AMD: pass Nvida: pass Intel: pass output-var-array-array.vert AMD: pass Nvida: pass Intel: pass Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> --- .../compiler/input-array-array-var.vert | 15 +++++++++++++++ .../compiler/input-array-var-array.vert | 15 +++++++++++++++ .../compiler/input-var-array-array.vert | 15 +++++++++++++++ .../compiler/output-array-array-var.frag | 17 +++++++++++++++++ .../compiler/output-array-array-var.vert | 19 +++++++++++++++++++ .../compiler/output-array-var-array.frag | 17 +++++++++++++++++ .../compiler/output-array-var-array.vert | 19 +++++++++++++++++++ .../compiler/output-var-array-array.frag | 17 +++++++++++++++++ .../compiler/output-var-array-array.vert | 19 +++++++++++++++++++ 9 files changed, 153 insertions(+) create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/input-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/input-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/input-var-array-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/output-array-array-var.frag create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/output-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/output-array-var-array.frag create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/output-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/output-var-array-array.frag create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/output-var-array-array.vert