glslang/Test/spv.310.comp
John Kessenich 8297936dd6 SPV: Change barrier emission to conform to Khronos decisions.
The memory model group agreed to these definitions for how
to map GLSL barrier, memoryBarrier, etc. With HLSL following suit.
2017-12-16 00:30:10 -07:00

43 lines
709 B
Plaintext

#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();
}