summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2013-09-17 23:25:22 -0700
committerMatt Turner <mattst88@gmail.com>2013-10-04 13:26:24 -0700
commit381879f80531486d30708093afb0b5d529fe58ec (patch)
tree723779e4d29385772c7295f7800ff4ed953a9d97
parent0cea4615dcc03749075c9f2898c7fa4c863d87ea (diff)
arb_gpu_shader5: Add usubBorrow fragment shader execution test.
-rw-r--r--tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-usubBorrow.shader_test48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-usubBorrow.shader_test b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-usubBorrow.shader_test
new file mode 100644
index 000000000..1fb4e6b06
--- /dev/null
+++ b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-usubBorrow.shader_test
@@ -0,0 +1,48 @@
+[require]
+GLSL >= 1.50
+GL_ARB_gpu_shader5
+
+[vertex shader passthrough]
+
+[fragment shader]
+#extension GL_ARB_gpu_shader5 : enable
+
+out vec4 frag_color;
+
+uniform uvec4 x, y;
+uniform uvec4 expected_diff, expected_borrow;
+
+void main()
+{
+ frag_color = vec4(0.0, 1.0, 0.0, 1.0);
+
+ uvec4 borrow;
+ uvec4 diff = usubBorrow(x, y, borrow);
+
+ if (diff != expected_diff)
+ frag_color.r = 1.0;
+ if (borrow != expected_borrow)
+ frag_color.b = 1.0;
+}
+
+[test]
+uniform uvec4 x 1 2 3 4
+uniform uvec4 y 0 1 2 3
+uniform uvec4 expected_diff 1 1 1 1
+uniform uvec4 expected_borrow 0 0 0 0
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 1.0
+
+uniform uvec4 x 4 3 2 1
+uniform uvec4 y 4 4 4 4
+uniform uvec4 expected_diff 0 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFD
+uniform uvec4 expected_borrow 0 1 1 1
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 1.0
+
+uniform uvec4 x 0xFFFFFFFE 0xFFFFFFFF 0x80000000 0
+uniform uvec4 y 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0
+uniform uvec4 expected_diff 0xFFFFFFFF 0 0x80000001 0
+uniform uvec4 expected_borrow 1 0 1 0
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 1.0