<p dir="ltr">While these tests are good, they are not testing arrays of arrays. I'm thinking of vec4[5][5].</p>
<div class="gmail_quote">On May 9, 2016 7:09 AM, "Juan A. Suarez Romero" <<a href="mailto:jasuarez@igalia.com">jasuarez@igalia.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">---<br>
 ...vs-inout-index-inout-mat2-col-array.shader_test | 35 +++++++++++++++++++++<br>
 ...ndex-inout-vec4-array-element-array.shader_test | 36 ++++++++++++++++++++++<br>
 2 files changed, 71 insertions(+)<br>
 create mode 100644 tests/shaders/out-parameter-indexing/vs-inout-index-inout-mat2-col-array.shader_test<br>
 create mode 100644 tests/shaders/out-parameter-indexing/vs-inout-index-inout-vec4-array-element-array.shader_test<br>
<br>
diff --git a/tests/shaders/out-parameter-indexing/vs-inout-index-inout-mat2-col-array.shader_test b/tests/shaders/out-parameter-indexing/vs-inout-index-inout-mat2-col-array.shader_test<br>
new file mode 100644<br>
index 0000000..14c5142<br>
--- /dev/null<br>
+++ b/tests/shaders/out-parameter-indexing/vs-inout-index-inout-mat2-col-array.shader_test<br>
@@ -0,0 +1,35 @@<br>
+[require]<br>
+GLSL >= 1.20<br>
+<br>
+[vertex shader]<br>
+uniform int u = 1;<br>
+varying vec4 color;<br>
+<br>
+void func(inout int i, inout float f)<br>
+{<br>
+  i = 0;<br>
+  f = 1.;<br>
+}<br>
+<br>
+void main()<br>
+{<br>
+  mat2 m = mat2(0.);<br>
+  ivec4[] n = ivec4[](ivec4(0, 1, 1, 1), ivec4(1, 0, 0, 0));<br>
+  int i = u;<br>
+<br>
+  func(i, m[n[i].x][1]);<br>
+  color = vec4(m[1].x, m[1].y, m[0].x, m[0].y);<br>
+  gl_Position = gl_Vertex;<br>
+}<br>
+<br>
+[fragment shader]<br>
+varying vec4 color;<br>
+<br>
+void main()<br>
+{<br>
+  gl_FragColor = color;<br>
+}<br>
+<br>
+[test]<br>
+draw rect -1 -1 2 2<br>
+probe all rgb 0. 1. 0.<br>
diff --git a/tests/shaders/out-parameter-indexing/vs-inout-index-inout-vec4-array-element-array.shader_test b/tests/shaders/out-parameter-indexing/vs-inout-index-inout-vec4-array-element-array.shader_test<br>
new file mode 100644<br>
index 0000000..162ed51<br>
--- /dev/null<br>
+++ b/tests/shaders/out-parameter-indexing/vs-inout-index-inout-vec4-array-element-array.shader_test<br>
@@ -0,0 +1,36 @@<br>
+[require]<br>
+GLSL >= 1.20<br>
+<br>
+[vertex shader]<br>
+<br>
+uniform int u = 1;<br>
+varying vec4 color;<br>
+<br>
+void func(inout int i, inout float f)<br>
+{<br>
+  i = 0;<br>
+  f = 1.;<br>
+}<br>
+<br>
+void main()<br>
+{<br>
+  vec4 v[] = vec4[](vec4(0.), vec4(0.));<br>
+  int w[] = int[](1, 0, 0, 0);<br>
+  int i = u;<br>
+<br>
+  func(i, v[1][w[i]]);<br>
+  color = v[1];<br>
+  gl_Position = gl_Vertex;<br>
+}<br>
+<br>
+[fragment shader]<br>
+varying vec4 color;<br>
+<br>
+void main()<br>
+{<br>
+  gl_FragColor = color;<br>
+}<br>
+<br>
+[test]<br>
+draw rect -1 -1 2 2<br>
+probe all rgb 1. 0. 0.<br>
--<br>
2.5.5<br>
<br>
_______________________________________________<br>
Piglit mailing list<br>
<a href="mailto:Piglit@lists.freedesktop.org">Piglit@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/piglit" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/piglit</a><br>
</blockquote></div>