<div dir="auto">It's traditional for green to mean good, red to mean bad. You have those flipped here.</div><div class="gmail_extra"><br><div class="gmail_quote">On Oct 10, 2017 2:58 AM, "Timothy Arceri" <<a href="mailto:tarceri@itsqueeze.com">tarceri@itsqueeze.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This test causes an assert to be thrown on i965 currently.<br>
---<br>
...fs-array-interleave-single-<wbr>location.shader_test | 93 ++++++++++++++++++++++<br>
1 file changed, 93 insertions(+)<br>
create mode 100644 tests/spec/arb_enhanced_<wbr>layouts/execution/component-<wbr>layout/vs-to-fs-array-<wbr>interleave-single-location.<wbr>shader_test<br>
<br>
diff --git a/tests/spec/arb_enhanced_<wbr>layouts/execution/component-<wbr>layout/vs-to-fs-array-<wbr>interleave-single-location.<wbr>shader_test b/tests/spec/arb_enhanced_<wbr>layouts/execution/component-<wbr>layout/vs-to-fs-array-<wbr>interleave-single-location.<wbr>shader_test<br>
new file mode 100644<br>
index 000000000..43b6a05e8<br>
--- /dev/null<br>
+++ b/tests/spec/arb_enhanced_<wbr>layouts/execution/component-<wbr>layout/vs-to-fs-array-<wbr>interleave-single-location.<wbr>shader_test<br>
@@ -0,0 +1,93 @@<br>
+# Test for successful interleaving of components in arrays with a single float<br>
+# between vertex and fragment shaders.<br>
+<br>
+[require]<br>
+GLSL >= 1.40<br>
+GL_ARB_enhanced_layouts<br>
+GL_ARB_separate_shader_<wbr>objects<br>
+<br>
+[vertex shader]<br>
+#version 140<br>
+#extension GL_ARB_enhanced_layouts: require<br>
+#extension GL_ARB_separate_shader_<wbr>objects: require<br>
+<br>
+// consume X/Y/Z components of 6 vectors<br>
+layout(location = 0) out vec3 a[6];<br>
+<br>
+// consumes W component of 6 vectors<br>
+layout(location = 0, component = 3) out float b;<br>
+layout(location = 1, component = 3) out float c;<br>
+layout(location = 2, component = 3) out float d;<br>
+layout(location = 3, component = 3) out float e;<br>
+layout(location = 4, component = 3) out float f;<br>
+layout(location = 5, component = 3) out float g;<br>
+<br>
+in vec4 piglit_vertex;<br>
+<br>
+void main()<br>
+{<br>
+ a[0] = vec3(0.0);<br>
+ a[1] = vec3(1.0);<br>
+ a[2] = vec3(2.0);<br>
+ a[3] = vec3(3.0);<br>
+ a[4] = vec3(4.0);<br>
+ a[5] = vec3(5.0);<br>
+ b = 6.0;<br>
+ c = 7.0;<br>
+ d = 8.0;<br>
+ e = 9.0;<br>
+ f = 10.0;<br>
+ g = 11.0;<br>
+<br>
+ gl_Position = piglit_vertex;<br>
+}<br>
+<br>
+[fragment shader]<br>
+#version 140<br>
+#extension GL_ARB_enhanced_layouts: require<br>
+#extension GL_ARB_separate_shader_<wbr>objects: require<br>
+<br>
+out vec4 color;<br>
+<br>
+// consume X/Y/Z components of 6 vectors<br>
+layout(location = 0) in vec3 a[6];<br>
+<br>
+// consumes W component of 6 vectors<br>
+layout(location = 0, component = 3) in float b;<br>
+layout(location = 1, component = 3) in float c;<br>
+layout(location = 2, component = 3) in float d;<br>
+layout(location = 3, component = 3) in float e;<br>
+layout(location = 4, component = 3) in float f;<br>
+layout(location = 5, component = 3) in float g;<br>
+<br>
+void main()<br>
+{<br>
+ color = vec4(1, 0, 0, 1);<br>
+<br>
+ for (int i = 0; i < 6; i++) {<br>
+ if (a[i] != vec3(float(i)))<br>
+ color = vec4(0, 1, 0, 1);<br>
+ }<br>
+<br>
+ if (b != 6.0)<br>
+ color = vec4(0, 1, 0, 1);<br>
+<br>
+ if (c != 7.0)<br>
+ color = vec4(0, 1, 0, 1);<br>
+<br>
+ if (d != 8.0)<br>
+ color = vec4(0, 1, 0, 1);<br>
+<br>
+ if (e != 9.0)<br>
+ color = vec4(0, 1, 0, 1);<br>
+<br>
+ if (f != 10.0)<br>
+ color = vec4(0, 1, 0, 1);<br>
+<br>
+ if (g != 11.0)<br>
+ color = vec4(0, 1, 0, 1);<br>
+}<br>
+<br>
+[test]<br>
+draw rect -1 -1 2 2<br>
+probe all rgb 1 0 0<br>
--<br>
2.13.6<br>
<br>
______________________________<wbr>_________________<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/<wbr>mailman/listinfo/piglit</a><br>
</blockquote></div></div>