summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2011-08-11 16:37:27 -0700
committerEric Anholt <eric@anholt.net>2011-08-28 20:49:25 -0700
commit08f059a00d79da2750d9ad2061efac396d23bf9a (patch)
tree578f55dd6dff42ddbf13dc0b777eb60a4231fb67
parent7093c41fe8ea7ca7870dcf4cbe6062024bf83be3 (diff)
Add some tests of source modifiers on VS attributes.
I managed to drop them in the i965 VS backend.
-rw-r--r--tests/shaders/glsl-vs-abs-attribute.shader_test26
-rw-r--r--tests/shaders/glsl-vs-neg-attribute.shader_test26
2 files changed, 52 insertions, 0 deletions
diff --git a/tests/shaders/glsl-vs-abs-attribute.shader_test b/tests/shaders/glsl-vs-abs-attribute.shader_test
new file mode 100644
index 000000000..89cce21f7
--- /dev/null
+++ b/tests/shaders/glsl-vs-abs-attribute.shader_test
@@ -0,0 +1,26 @@
+[require]
+GLSL >= 1.10
+
+[vertex shader]
+varying vec4 color;
+
+void main()
+{
+ gl_Position = gl_Vertex;
+ if (abs(gl_Vertex).x < 0.0)
+ color = vec4(1.0, 0.0, 0.0, 0.0);
+ else
+ color = vec4(0.0, 1.0, 0.0, 0.0);
+}
+
+[fragment shader]
+varying vec4 color;
+
+void main()
+{
+ gl_FragColor = color;
+}
+
+[test]
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 0.0
diff --git a/tests/shaders/glsl-vs-neg-attribute.shader_test b/tests/shaders/glsl-vs-neg-attribute.shader_test
new file mode 100644
index 000000000..db2c4669d
--- /dev/null
+++ b/tests/shaders/glsl-vs-neg-attribute.shader_test
@@ -0,0 +1,26 @@
+[require]
+GLSL >= 1.10
+
+[vertex shader]
+varying vec4 color;
+
+void main()
+{
+ gl_Position = gl_Vertex;
+ color = -gl_Vertex;
+}
+
+[fragment shader]
+varying vec4 color;
+
+void main()
+{
+ gl_FragColor = color;
+}
+
+[test]
+draw rect -1 -1 2 2
+relative probe rgba (0.0, 0.0) (1.0, 1.0, 0.0, 0.0)
+relative probe rgba (1.0, 0.0) (0.0, 1.0, 0.0, 0.0)
+relative probe rgba (0.0, 1.0) (1.0, 0.0, 0.0, 0.0)
+relative probe rgba (1.0, 1.0) (0.0, 0.0, 0.0, 0.0)