diff options
author | Matt Turner <mattst88@gmail.com> | 2013-09-19 14:20:44 -0700 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2013-10-04 13:26:24 -0700 |
commit | 8529fb3aaf836ff12d830543b9ab3ac34b79c8d9 (patch) | |
tree | 12d9f46f1a2132914cc6973c037a884ad8426fc4 | |
parent | c52ddab3923a33faef5111bd396a2cf33573659e (diff) |
arb_gpu_shader5: Add uaddCarry vertex shader execution test.
-rw-r--r-- | tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-uaddCarry.shader_test | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-uaddCarry.shader_test b/tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-uaddCarry.shader_test new file mode 100644 index 000000000..dc1bf08d4 --- /dev/null +++ b/tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-uaddCarry.shader_test @@ -0,0 +1,65 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader5 + +[vertex shader] +#extension GL_ARB_gpu_shader5 : enable + +in vec4 piglit_vertex; +out vec4 color; + +uniform uvec4 x, y; +uniform uvec4 expected_sum, expected_carry; + +void main() +{ + gl_Position = piglit_vertex; + + color = vec4(0.0, 1.0, 0.0, 1.0); + + uvec4 carry; + uvec4 sum = uaddCarry(x, y, carry); + + if (sum != expected_sum) + color.r = 1.0; + if (carry != expected_carry) + color.b = 1.0; +} + +[fragment shader] +in vec4 color; +out vec4 frag_color; + +void main() +{ + frag_color = color; +} + +[test] +uniform uvec4 x 0 1 2 3 +uniform uvec4 y 1 2 3 4 +uniform uvec4 expected_sum 1 3 5 7 +uniform uvec4 expected_carry 0 0 0 0 +draw rect -1 -1 2 2 +probe all rgba 0.0 1.0 0.0 1.0 + +uniform uvec4 x 0 1 1 2 +uniform uvec4 y 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFE +uniform uvec4 expected_sum 0xFFFFFFFF 0 0xFFFFFFFF 0 +uniform uvec4 expected_carry 0 1 0 1 +draw rect -1 -1 2 2 +probe all rgba 0.0 1.0 0.0 1.0 + +uniform uvec4 x 2 3 2 3 +uniform uvec4 y 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFE +uniform uvec4 expected_sum 1 2 0 1 +uniform uvec4 expected_carry 1 1 1 1 +draw rect -1 -1 2 2 +probe all rgba 0.0 1.0 0.0 1.0 + +uniform uvec4 x 0x80000000 0x80000000 0x80000000 0x80000001 +uniform uvec4 y 0x80000000 0x80000001 0x7FFFFFFF 0x7FFFFFFF +uniform uvec4 expected_sum 0 1 0xFFFFFFFF 0 +uniform uvec4 expected_carry 1 1 0 1 +draw rect -1 -1 2 2 +probe all rgba 0.0 1.0 0.0 1.0 |