aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2011-11-29 16:22:12 -0800
committerEric Anholt <eric@anholt.net>2011-12-12 15:05:49 -0800
commita3650e2455c3264ee602d6f5f4c2a74dd710d4c6 (patch)
tree01a3fc355778e4df91e39ec9c3b3e36150650dda
parentba64eef4063f41228dec243d92416c0c97ccc9b0 (diff)
ARB_fragment_program/kil-swizzle: Convert kil-swizzle.fp to shader_runner.
I almost faithfully copied the old test, except for adding some comments, and changing the last test where there appeared to be an extra copy-and-pasted -1 instead of a 1 in the series of "make sure that a single -1 in each possible component that could cause a kill does kill" tests, and making the didn't-kill color green instead of red.
-rw-r--r--tests/shaders/generic/kil-swizzle.fp48
-rw-r--r--tests/spec/arb_fragment_program/kil-swizzle.shader_test60
2 files changed, 60 insertions, 48 deletions
diff --git a/tests/shaders/generic/kil-swizzle.fp b/tests/shaders/generic/kil-swizzle.fp
deleted file mode 100644
index 916dbcd3..00000000
--- a/tests/shaders/generic/kil-swizzle.fp
+++ /dev/null
@@ -1,48 +0,0 @@
-6 2 0
-tc
- -1 -1 -1 -1
- -1 -1 -1 -1
-tex
-expected
- 0 0 1 0
-
-tc
- 1 1 -1 -1
- -1 -1 1 1
-tex
-expected
- 1 0 0 0
-
-tc
- 1 1 -1 -1
- -1 -1 -1 1
-tex
-expected
- 0 0 1 0
-
-tc
- 1 1 -1 -1
- -1 -1 1 -1
-tex
-expected
- 0 0 1 0
-
-tc
- 1 -1 -1 -1
- -1 -1 1 1
-tex
-expected
- 0 0 1 0
-
-tc
- -1 1 -1 -1
- -1 -1 -1 1
-tex
-expected
- 0 0 1 0
-
-!!ARBfp1.0
-KIL fragment.texcoord[0].xxyy;
-KIL fragment.texcoord[1].zwwz;
-MOV result.color, { 1.0, 0.0, 0.0, 0.0 };
-END
diff --git a/tests/spec/arb_fragment_program/kil-swizzle.shader_test b/tests/spec/arb_fragment_program/kil-swizzle.shader_test
new file mode 100644
index 00000000..4a873d82
--- /dev/null
+++ b/tests/spec/arb_fragment_program/kil-swizzle.shader_test
@@ -0,0 +1,60 @@
+[vertex program]
+!!ARBvp1.0
+MOV result.position, vertex.position;
+MOV result.texcoord[0], program.env[0];
+MOV result.texcoord[1], program.env[1];
+END
+
+[fragment program]
+!!ARBfp1.0
+KIL fragment.texcoord[0].xxyy;
+KIL fragment.texcoord[1].zwwz;
+
+# green will be neither of the kills occurring, otherwise
+# we'll get the blue clear color.
+MOV result.color, { 0.0, 1.0, 0.0, 0.0 };
+END
+
+[test]
+clear color 0 0 1 0
+# both kill
+parameter env_vp 0 (-1.0, -1.0, -1.0, -1.0)
+parameter env_vp 1 (-1.0, -1.0, -1.0, -1.0)
+clear
+draw rect -1 -1 2 2
+probe all rgba 0 0 1 0
+
+# neither kill
+parameter env_vp 0 ( 1.0, 1.0, -1.0, -1.0)
+parameter env_vp 1 (-1.0, -1.0, 1.0, 1.0)
+clear
+draw rect -1 -1 2 2
+probe all rgba 0 1 0 0
+
+# second kills
+parameter env_vp 0 ( 1.0, 1.0, -1.0, -1.0)
+parameter env_vp 1 (-1.0, -1.0, -1.0, 1.0)
+clear
+draw rect -1 -1 2 2
+probe all rgba 0 0 1 0
+
+# second kills
+parameter env_vp 0 ( 1.0, 1.0, -1.0, -1.0)
+parameter env_vp 1 (-1.0, -1.0, 1.0, -1.0)
+clear
+draw rect -1 -1 2 2
+probe all rgba 0 0 1 0
+
+# first kills
+parameter env_vp 0 ( 1.0, -1.0, -1.0, -1.0)
+parameter env_vp 1 (-1.0, -1.0, 1.0, 1.0)
+clear
+draw rect -1 -1 2 2
+probe all rgba 0 0 1 0
+
+# first kills
+parameter env_vp 0 (-1.0, 1.0, -1.0, -1.0)
+parameter env_vp 1 (-1.0, -1.0, 1.0, 1.0)
+clear
+draw rect -1 -1 2 2
+probe all rgba 0 0 1 0