1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
#version 310 es
precision highp float;
layout (local_size_x = 16, local_size_y = 32, local_size_z = 4) in;
shared float s;
shared int i;
buffer outb {
float f;
float g;
float h;
vec3 uns[];
} outbname;
buffer outbna {
int k;
vec4 na;
} outbnamena;
buffer outs {
int s;
vec4 va[];
} outnames;
#extension GL_EXT_device_group : enable
void main()
{
barrier();
outbname.f = s;
outbnamena.na = vec4(s);
s = outbname.uns[18].x;
outbname.uns[17] = vec3(3.0);
outbname.uns[i] = vec3(s);
outnames.va[gl_LocalInvocationID.x] = vec4(s);
outnames.s = outbname.uns.length();
gl_DeviceIndex;
memoryBarrierShared();
groupMemoryBarrier();
}
|