diff options
author | Matt Turner <mattst88@gmail.com> | 2013-09-24 09:03:04 -0700 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2013-10-04 13:26:25 -0700 |
commit | 0f6b3930cc4679bfbbd3751ec1aca3b5b6668e10 (patch) | |
tree | 610632d2b3234ff24a5295b2613705dcb61f0ed2 | |
parent | 027fdbaa69a6b712cc3069598b80d1926159bf0a (diff) |
arb_gpu_shader5: Add umulExtended fragment shader execution test.
-rw-r--r-- | tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-umulExtended.shader_test | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-umulExtended.shader_test b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-umulExtended.shader_test new file mode 100644 index 000000000..afc23f432 --- /dev/null +++ b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-umulExtended.shader_test @@ -0,0 +1,41 @@ +[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_msb, expected_lsb; + +void main() +{ + frag_color = vec4(0.0, 1.0, 0.0, 1.0); + + uvec4 msb, lsb; + umulExtended(x, y, msb, lsb); + + if (msb != expected_msb) + frag_color.r = 1.0; + if (lsb != expected_lsb) + frag_color.b = 1.0; +} + +[test] +uniform uvec4 x 1 1 1 1 +uniform uvec4 y 1 2 3 4 +uniform uvec4 expected_msb 0 0 0 0 +uniform uvec4 expected_lsb 1 2 3 4 +draw rect -1 -1 2 2 +probe all rgba 0.0 1.0 0.0 1.0 + +uniform uvec4 x 0x10000000 0x10000000 0xFFFFFFFF 0xFFFFFFFF +uniform uvec4 y 0x10 0x11 0x2 0xFFFFFFFF +uniform uvec4 expected_msb 0x1 0x1 0x1 0xFFFFFFFE +uniform uvec4 expected_lsb 0 0x10000000 0xFFFFFFFE 0x1 +draw rect -1 -1 2 2 +probe all rgba 0.0 1.0 0.0 1.0 |