mirror of
https://github.com/libretro/SPIRV-Cross.git
synced 2026-11-09 11:41:26 -10:00
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)];
|
|
}
|
|
|