summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2013-09-25 22:49:21 -0700
committerMatt Turner <mattst88@gmail.com>2013-09-25 22:56:58 -0700
commit18f47746028bded0c393dbf0baf8319037569669 (patch)
treea4c2a7b6f92e66245ea2c903580ff5cebd621414
parent012b030b19791d90908e5d88770d6528b11b742b (diff)
arb_gpu_shader5: Test using only the msb from imulExtended in the vs.arb_gpu_shader5
-rw-r--r--tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-imulExtended-only-msb.shader_test48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-imulExtended-only-msb.shader_test b/tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-imulExtended-only-msb.shader_test
new file mode 100644
index 000000000..f608cf18c
--- /dev/null
+++ b/tests/spec/arb_gpu_shader5/execution/built-in-functions/vs-imulExtended-only-msb.shader_test
@@ -0,0 +1,48 @@
+[require]
+GLSL >= 1.50
+GL_ARB_gpu_shader5
+
+[vertex shader]
+#extension GL_ARB_gpu_shader5 : enable
+
+in vec4 piglit_vertex;
+out vec4 color;
+
+uniform ivec4 x, y;
+uniform ivec4 expected_msb;
+
+
+void main()
+{
+ gl_Position = piglit_vertex;
+
+ color = vec4(0.0, 1.0, 0.0, 1.0);
+
+ ivec4 msb, lsb;
+ imulExtended(x, y, msb, lsb);
+
+ if (msb != expected_msb)
+ color.r = 1.0;
+}
+
+[fragment shader]
+in vec4 color;
+out vec4 frag_color;
+
+void main()
+{
+ frag_color = color;
+}
+
+[test]
+uniform ivec4 x 1 1 1 1
+uniform ivec4 y 1 2 3 4
+uniform ivec4 expected_msb 0 0 0 0
+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
+draw rect -1 -1 2 2
+probe all rgba 0.0 1.0 0.0 1.0