4739d16e98
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.
26 lines
511 B
Plaintext
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)];
|
|
}
|
|
|