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