blob: 0b676180b90fe4ed14b8ac3ce6111cad13919ddb [file] [log] [blame]
Antonio Maiorano268d7b82022-06-24 22:28:23 +00001#version 310 es
2
3struct S_atomic {
4 int x;
5 uint a;
6 uint b;
7};
8
9struct S {
10 int x;
11 uint a;
12 uint b;
13};
14
15uint local_invocation_index_1 = 0u;
16shared S_atomic wg;
17void compute_main_inner(uint local_invocation_index) {
18 wg.x = 0;
19 atomicExchange(wg.a, 0u);
20 atomicExchange(wg.b, 0u);
21 barrier();
22 atomicExchange(wg.a, 1u);
23 atomicExchange(wg.b, 2u);
24 return;
25}
26
27void compute_main_1() {
Antonio Maioranoe14a27b2022-09-19 14:05:21 +000028 uint x_39 = local_invocation_index_1;
29 compute_main_inner(x_39);
Antonio Maiorano268d7b82022-06-24 22:28:23 +000030 return;
31}
32
33void compute_main(uint local_invocation_index_1_param) {
34 {
35 wg.x = 0;
36 atomicExchange(wg.a, 0u);
37 atomicExchange(wg.b, 0u);
38 }
39 barrier();
40 local_invocation_index_1 = local_invocation_index_1_param;
41 compute_main_1();
42}
43
44layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
45void main() {
46 compute_main(gl_LocalInvocationIndex);
47 return;
48}