2016-03-02 17:09:16 +00:00
|
|
|
#version 310 es
|
|
|
|
layout(local_size_x = 4, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
|
2017-01-21 09:07:38 +00:00
|
|
|
layout(binding = 0, std430) readonly buffer SSBO
|
2016-03-02 17:09:16 +00:00
|
|
|
{
|
|
|
|
float in_data[];
|
|
|
|
} _22;
|
|
|
|
|
2017-01-21 09:07:38 +00:00
|
|
|
layout(binding = 1, std430) writeonly buffer SSBO2
|
2016-03-02 17:09:16 +00:00
|
|
|
{
|
|
|
|
float out_data[];
|
2017-01-21 11:53:17 +00:00
|
|
|
} _44;
|
2016-03-02 17:09:16 +00:00
|
|
|
|
|
|
|
shared float sShared[4];
|
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
uint ident = gl_GlobalInvocationID.x;
|
|
|
|
float idata = _22.in_data[ident];
|
|
|
|
sShared[gl_LocalInvocationIndex] = idata;
|
2018-01-09 11:07:07 +00:00
|
|
|
memoryBarrierShared();
|
2016-03-02 17:09:16 +00:00
|
|
|
barrier();
|
2017-01-21 11:53:17 +00:00
|
|
|
_44.out_data[ident] = sShared[(4u - gl_LocalInvocationIndex) - 1u];
|
2016-03-02 17:09:16 +00:00
|
|
|
}
|
|
|
|
|