summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2013-09-25 22:30:51 -0700
committerMatt Turner <mattst88@gmail.com>2013-10-04 13:26:25 -0700
commit75add4e92a720d22264b34b96806aedaa43ea793 (patch)
treee992bfa7ed98d31dce5c022fda99dffea9582c44
parentea1886a522a7fa30132a51ae6feb395936d58b0f (diff)
arb_gpu_shader5: Add imulExtended fragment shader execution test.
-rw-r--r--tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-imulExtended.shader_test41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-imulExtended.shader_test b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-imulExtended.shader_test
new file mode 100644
index 000000000..beae50489
--- /dev/null
+++ b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-imulExtended.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 ivec4 x, y;
+uniform ivec4 expected_msb, expected_lsb;
+
+void main()
+{
+ frag_color = vec4(0.0, 1.0, 0.0, 1.0);
+
+ ivec4 msb, lsb;
+ imulExtended(x, y, msb, lsb);
+
+ if (msb != expected_msb)
+ frag_color.r = 1.0;
+ if (lsb != expected_lsb)
+ frag_color.b = 1.0;
+}
+
+[test]
+uniform ivec4 x 1 1 1 1
+uniform ivec4 y 1 2 3 4
+uniform ivec4 expected_msb 0 0 0 0
+uniform ivec4 expected_lsb 1 2 3 4
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 1.0
+
+uniform ivec4 x -1 2 -131072 -131073
+uniform ivec4 y 1 -2 131072 131073
+uniform ivec4 expected_msb -1 -1 4294967292 4294967291
+uniform ivec4 expected_lsb -1 -4 0 4294705151
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 1.0