ARB_ubo/referenced-by-shader: pass if shader compiler moves UBOs between shaders
[piglit.git] / tests / spec / arb_compute_shader / execution / basic-group-id-y.shader_test
blobb91ba867a3ad304cf6ab129006d58edb6a6bb135
1 [require]
2 GL >= 3.3
3 GLSL >= 3.30
4 GL_ARB_compute_shader
5 GL_ARB_shader_atomic_counters
7 [compute shader]
8 #version 330
9 #extension GL_ARB_compute_shader: enable
10 #extension GL_ARB_shader_atomic_counters: require
12 layout(binding = 0) uniform atomic_uint a0;
13 layout(binding = 0) uniform atomic_uint a1;
14 layout(binding = 0) uniform atomic_uint a2;
15 layout(binding = 0) uniform atomic_uint a3;
16 layout(binding = 0) uniform atomic_uint a4;
17 layout(binding = 0) uniform atomic_uint a5;
18 layout(binding = 0) uniform atomic_uint a6;
19 layout(binding = 0) uniform atomic_uint a7;
21 layout(local_size_x = 1) in;
23 void main()
25     int n = int(gl_WorkGroupID.y);
27     if (n == 0)
28         atomicCounterIncrement(a0);
29     if (n == 1)
30         atomicCounterIncrement(a1);
31     if (n == 2)
32         atomicCounterIncrement(a2);
33     if (n == 3)
34         atomicCounterIncrement(a3);
35     if (n == 4)
36         atomicCounterIncrement(a4);
37     if (n == 5)
38         atomicCounterIncrement(a5);
39     if (n == 6)
40         atomicCounterIncrement(a6);
41     if (n == 7)
42         atomicCounterIncrement(a7);
45 [test]
46 atomic counters 8
48 compute 1 8 1
49 probe atomic counter 0 == 1
50 probe atomic counter 1 == 1
51 probe atomic counter 2 == 1
52 probe atomic counter 3 == 1
53 probe atomic counter 4 == 1
54 probe atomic counter 5 == 1
55 probe atomic counter 6 == 1
56 probe atomic counter 7 == 1