ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / mesa_shader_integer_functions / execution / built-in-functions / vs-uaddCarry.shader_test
blob1d2cc2ebad9ce3b1c72323a0040e16eff9deacaa
1 [require]
2 GLSL >= 1.30
3 GL_MESA_shader_integer_functions
5 [vertex shader]
6 #extension GL_MESA_shader_integer_functions : enable
8 in vec4 piglit_vertex;
9 out vec4 color;
11 uniform uvec4 x, y;
12 uniform uvec4 expected_sum, expected_carry;
14 void main()
16         gl_Position = piglit_vertex;
18         color = vec4(0.0, 1.0, 0.0, 1.0);
20         uvec4 carry;
21         uvec4 sum = uaddCarry(x, y, carry);
23         if (sum != expected_sum)
24                 color.r = 1.0;
25         if (carry != expected_carry)
26                 color.b = 1.0;
29 [fragment shader]
30 in vec4 color;
31 out vec4 frag_color;
33 void main()
35         frag_color = color;
38 [test]
39 uniform uvec4 x 0 1 2 3
40 uniform uvec4 y 1 2 3 4
41 uniform uvec4 expected_sum 1 3 5 7
42 uniform uvec4 expected_carry 0 0 0 0
43 draw rect -1 -1 2 2
44 probe all rgba 0.0 1.0 0.0 1.0
46 uniform uvec4 x 0 1 1 2
47 uniform uvec4 y 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFE
48 uniform uvec4 expected_sum 0xFFFFFFFF 0 0xFFFFFFFF 0
49 uniform uvec4 expected_carry 0 1 0 1
50 draw rect -1 -1 2 2
51 probe all rgba 0.0 1.0 0.0 1.0
53 uniform uvec4 x 2 3 2 3
54 uniform uvec4 y 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFE
55 uniform uvec4 expected_sum 1 2 0 1
56 uniform uvec4 expected_carry 1 1 1 1
57 draw rect -1 -1 2 2
58 probe all rgba 0.0 1.0 0.0 1.0
60 uniform uvec4 x 0x80000000 0x80000000 0x80000000 0x80000001
61 uniform uvec4 y 0x80000000 0x80000001 0x7FFFFFFF 0x7FFFFFFF
62 uniform uvec4 expected_sum 0 1 0xFFFFFFFF 0
63 uniform uvec4 expected_carry 1 1 0 1
64 draw rect -1 -1 2 2
65 probe all rgba 0.0 1.0 0.0 1.0