[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