SPIRV-Cross/reference/shaders/comp/shared.comp

26 lines
528 B
Plaintext
Raw Normal View History

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[];
} _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;
memoryBarrierShared();
barrier();
_44.out_data[ident] = sShared[(4u - gl_LocalInvocationIndex) - 1u];
2016-03-02 17:09:16 +00:00
}