1617a3babSopenharmony_ci#version 310 es
2617a3babSopenharmony_ci
3617a3babSopenharmony_ciprecision highp float;
4617a3babSopenharmony_ci
5617a3babSopenharmony_cilayout (local_size_x = 16, local_size_y = 32, local_size_z = 4) in;
6617a3babSopenharmony_ci
7617a3babSopenharmony_cishared float s;
8617a3babSopenharmony_cishared int i;
9617a3babSopenharmony_ci
10617a3babSopenharmony_cibuffer outb {
11617a3babSopenharmony_ci    float f;
12617a3babSopenharmony_ci    float g;
13617a3babSopenharmony_ci    float h;
14617a3babSopenharmony_ci    vec3 uns[];
15617a3babSopenharmony_ci} outbname;
16617a3babSopenharmony_ci
17617a3babSopenharmony_cibuffer outbna {
18617a3babSopenharmony_ci    int k;
19617a3babSopenharmony_ci    vec4 na;
20617a3babSopenharmony_ci} outbnamena;
21617a3babSopenharmony_ci
22617a3babSopenharmony_cibuffer outs {
23617a3babSopenharmony_ci    int s;
24617a3babSopenharmony_ci    vec4 va[];
25617a3babSopenharmony_ci} outnames;
26617a3babSopenharmony_ci
27617a3babSopenharmony_ci#extension GL_EXT_device_group : enable
28617a3babSopenharmony_ci
29617a3babSopenharmony_civoid main()
30617a3babSopenharmony_ci{
31617a3babSopenharmony_ci    barrier();
32617a3babSopenharmony_ci    outbname.f = s;
33617a3babSopenharmony_ci    outbnamena.na = vec4(s);
34617a3babSopenharmony_ci    s = outbname.uns[18].x;
35617a3babSopenharmony_ci    outbname.uns[17] = vec3(3.0);
36617a3babSopenharmony_ci    outbname.uns[i] = vec3(s);
37617a3babSopenharmony_ci    outnames.va[gl_LocalInvocationID.x] = vec4(s);
38617a3babSopenharmony_ci    outnames.s = outbname.uns.length();
39617a3babSopenharmony_ci    gl_DeviceIndex;
40617a3babSopenharmony_ci    memoryBarrierShared();
41617a3babSopenharmony_ci    groupMemoryBarrier();
42617a3babSopenharmony_ci}
43