SPIRV-Cross/reference/shaders/comp/shared.comp
Hans-Kristian Arntzen 4739d16e98 Remove workaround for overly conservative memory barriers.
This is now fixed in ESSL 3.10 backend of glslang, so we can remove the old workaround
of dropping full memory barriers.

Also fixes unrelated issue which newer glslang detects.
2016-05-28 11:46:33 +02:00

26 lines
511 B
Plaintext

#version 310 es
layout(local_size_x = 4, local_size_y = 1, local_size_z = 1) in;
layout(binding = 0, std430) buffer SSBO
{
float in_data[];
} _22;
layout(binding = 1, std430) buffer SSBO2
{
float out_data[];
} _43;
shared float sShared[4];
void main()
{
uint ident = gl_GlobalInvocationID.x;
float idata = _22.in_data[ident];
sShared[gl_LocalInvocationIndex] = idata;
memoryBarrierShared();
barrier();
_43.out_data[ident] = sShared[((4u - gl_LocalInvocationIndex) - 1u)];
}