ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / mesa_shader_integer_functions / execution / built-in-functions / vs-bitCount.shader_test
blob1d82ce499f10df56ed931bf209bc4529c399ab10
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 ivec4 bits;
12 uniform ivec4 iinput;
13 uniform uvec4 uinput;
15 void main() {
16         gl_Position = piglit_vertex;
18         /* Green if both pass. */
19         color = vec4(0.0, 1.0, 0.0, 1.0);
21         if (bits != bitCount(iinput))
22                 /* Red if bitCount(ivec4) fails. */
23                 color = vec4(1.0, 0.0, 0.0, 1.0);
24         else if (bits != bitCount(uinput))
25                 /* Blue if bitCount(uvec4) fails. */
26                 color = vec4(0.0, 0.0, 1.0, 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 ivec4 bits 0 0 0 0
40 uniform ivec4 iinput 0 0 0 0
41 uniform uvec4 uinput 0 0 0 0
42 draw rect -1 -1 2 2
43 probe all rgba 0.0 1.0 0.0 1.0
45 uniform ivec4 bits 1 1 1 1
46 uniform ivec4 iinput 1 2 4 8
47 uniform uvec4 uinput 1 2 4 8
48 draw rect -1 -1 2 2
49 probe all rgba 0.0 1.0 0.0 1.0
51 uniform ivec4 bits 1 2 3 4
52 uniform ivec4 iinput 1 3 7 15
53 uniform uvec4 uinput 1 3 7 15
54 draw rect -1 -1 2 2
55 probe all rgba 0.0 1.0 0.0 1.0
57 uniform ivec4 bits 6 6 3 5
58 uniform ivec4 iinput 783 111 385 484
59 uniform uvec4 uinput 783 111 385 484
60 draw rect -1 -1 2 2
61 probe all rgba 0.0 1.0 0.0 1.0
63 uniform ivec4 bits 32 31 31 30
64 uniform ivec4 iinput -1 -2 -3 -4
65 uniform uvec4 uinput 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFD 0xFFFFFFFC
66 draw rect -1 -1 2 2
67 probe all rgba 0.0 1.0 0.0 1.0