[Piglit] [PATCH] Reproduce one of the problems contributing to FDO bug 40865

Paul Berry stereotype441 at gmail.com
Thu Jan 19 18:27:12 PST 2012


See https://bugs.freedesktop.org/show_bug.cgi?id=40865#c9
---
 tests/all.tests                    |    1 +
 tests/bugs/fdo40865_c9.shader_test |   32 ++++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 0 deletions(-)
 create mode 100644 tests/bugs/fdo40865_c9.shader_test

diff --git a/tests/all.tests b/tests/all.tests
index a61d477..61cb88c 100644
--- a/tests/all.tests
+++ b/tests/all.tests
@@ -570,6 +570,7 @@ add_plain_test(bugs, 'r300-readcache')
 add_plain_test(bugs, 'tex1d-2dborder')
 add_plain_test(bugs, 'tri-tex-crash')
 add_plain_test(bugs, 'vbo-buffer-unmap')
+add_shader_test_dir(bugs, os.path.join(os.path.dirname(__file__), 'bugs'))
 
 glx = Group()
 add_plain_test(glx, 'glx-copy-sub-buffer')
diff --git a/tests/bugs/fdo40865_c9.shader_test b/tests/bugs/fdo40865_c9.shader_test
new file mode 100644
index 0000000..85a004b
--- /dev/null
+++ b/tests/bugs/fdo40865_c9.shader_test
@@ -0,0 +1,32 @@
+# This test reproduces the problem described in
+# https://bugs.freedesktop.org/show_bug.cgi?id=40865#c9, namely:
+# initializing an array of structures where the elements of the
+# structure do not all have the same vector size.  This was causing a
+# bogus assertion failure on the i965 vertex shader back-end.
+
+[require]
+GLSL >= 1.20
+
+[vertex shader]
+#version 120
+void main(void)
+{
+    float x = 3.0;
+    struct s { float f; vec3 v; };
+    s a[1]=s[](s(x,vec3(x)));
+    if (a[0].f==3.0)
+      gl_FrontColor = vec4(0.0, 1.0, 0.0, 1.0); // green
+    else
+      gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0); // red
+    gl_Position = gl_Vertex;
+}
+
+[fragment shader]
+void main(void)
+{
+    gl_FragColor = gl_Color;
+}
+
+[test]
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 1.0
-- 
1.7.6.5



More information about the Piglit mailing list