On 16 May 2012 14:23, Ian Romanick <span dir="ltr">&lt;<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: Ian Romanick &lt;<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>&gt;<br>
<br>
Like the non-array structure tests, it was just impractical to<br>
generate these tests using scripts, so they are hand-written.<br>
However, these tests currently fail on Mesa.<br>
<br>
Signed-off-by: Ian Romanick &lt;<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>&gt;<br></blockquote><div><br>The rest of this series is<br><br>Reviewed-by: Paul Berry &lt;<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>&gt;<br>
 </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
---<br>
 .../fs-structure-array.shader_test                 |   48 ++++++++++++++++++++<br>
 .../vs-structure-array.shader_test                 |   48 ++++++++++++++++++++<br>
 2 files changed, 96 insertions(+), 0 deletions(-)<br>
 create mode 100644 tests/spec/glsl-1.20/execution/uniform-initializer/fs-structure-array.shader_test<br>
 create mode 100644 tests/spec/glsl-1.20/execution/uniform-initializer/vs-structure-array.shader_test<br>
<br>
diff --git a/tests/spec/glsl-1.20/execution/uniform-initializer/fs-structure-array.shader_test b/tests/spec/glsl-1.20/execution/uniform-initializer/fs-structure-array.shader_test<br>
new file mode 100644<br>
index 0000000..36f5644<br>
--- /dev/null<br>
+++ b/tests/spec/glsl-1.20/execution/uniform-initializer/fs-structure-array.shader_test<br>
@@ -0,0 +1,48 @@<br>
+[require]<br>
+GLSL &gt;= 1.20<br>
+<br>
+[vertex shader]<br>
+#version 120<br>
+<br>
+void main()<br>
+{<br>
+  gl_Position = gl_Vertex;<br>
+}<br>
+<br>
+[fragment shader]<br>
+#version 120<br>
+<br>
+struct S {<br>
+  int i;<br>
+  float f;<br>
+  vec4 v[2];<br>
+};<br>
+<br>
+uniform S s[2] = S[2](S(9, 33.3, vec4[2](vec4(1, 2, 3, 4),<br>
+                                        vec4(9, 8, 7, 6))),<br>
+                     S(7, 22.2, vec4[2](vec4(5, 6, 7, 8),<br>
+                                        vec4(3, 2, 1, 0))));<br>
+<br>
+void main()<br>
+{<br>
+  vec4 color;<br>
+<br>
+  if (s[0].i == 9<br>
+      &amp;&amp; s[0].f == 33.3<br>
+      &amp;&amp; s[0].v[0] == vec4(1, 2, 3, 4)<br>
+      &amp;&amp; s[0].v[1] == vec4(9, 8, 7, 6)<br>
+      &amp;&amp; s[1].i == 7<br>
+      &amp;&amp; s[1].f == 22.2<br>
+      &amp;&amp; s[1].v[0] == vec4(5, 6, 7, 8)<br>
+      &amp;&amp; s[1].v[1] == vec4(3, 2, 1, 0)) {<br>
+    color = vec4(0, 1, 0, 1);<br>
+  } else {<br>
+    color = vec4(1, 0, 0, 1);<br>
+  }<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/spec/glsl-1.20/execution/uniform-initializer/vs-structure-array.shader_test b/tests/spec/glsl-1.20/execution/uniform-initializer/vs-structure-array.shader_test<br>
new file mode 100644<br>
index 0000000..7b8bd50<br>
--- /dev/null<br>
+++ b/tests/spec/glsl-1.20/execution/uniform-initializer/vs-structure-array.shader_test<br>
@@ -0,0 +1,48 @@<br>
+[require]<br>
+GLSL &gt;= 1.20<br>
+<br>
+[vertex shader]<br>
+#version 120<br>
+<br>
+struct S {<br>
+  int i;<br>
+  float f;<br>
+  vec4 v[2];<br>
+};<br>
+<br>
+uniform S s[2] = S[2](S(9, 33.3, vec4[2](vec4(1, 2, 3, 4),<br>
+                                        vec4(9, 8, 7, 6))),<br>
+                     S(7, 22.2, vec4[2](vec4(5, 6, 7, 8),<br>
+                                        vec4(3, 2, 1, 0))));<br>
+varying vec4 color;<br>
+<br>
+void main()<br>
+{<br>
+  if (s[0].i == 9<br>
+      &amp;&amp; s[0].f == 33.3<br>
+      &amp;&amp; s[0].v[0] == vec4(1, 2, 3, 4)<br>
+      &amp;&amp; s[0].v[1] == vec4(9, 8, 7, 6)<br>
+      &amp;&amp; s[1].i == 7<br>
+      &amp;&amp; s[1].f == 22.2<br>
+      &amp;&amp; s[1].v[0] == vec4(5, 6, 7, 8)<br>
+      &amp;&amp; s[1].v[1] == vec4(3, 2, 1, 0)) {<br>
+    color = vec4(0, 1, 0, 1);<br>
+  } else {<br>
+    color = vec4(1, 0, 0, 1);<br>
+  }<br>
+<br>
+  gl_Position = gl_Vertex;<br>
+}<br>
+<br>
+[fragment shader]<br>
+#version 120<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>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.6.5<br>
<br>
_______________________________________________<br>
Piglit mailing list<br>
<a href="mailto:Piglit@lists.freedesktop.org">Piglit@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/piglit" target="_blank">http://lists.freedesktop.org/mailman/listinfo/piglit</a><br>
</font></span></blockquote></div><br>