blob: b7e88062a0497b835cdbbd531a25dc2d52c03dc7 [file] [log] [blame]
#version 450
#extension GL_EXT_buffer_reference : require
layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
layout(buffer_reference) buffer RO;
layout(buffer_reference) buffer RW;
layout(buffer_reference) buffer WO;
layout(buffer_reference, buffer_reference_align = 16, std430) readonly buffer RO
{
vec4 v[];
};
layout(buffer_reference, buffer_reference_align = 16, std430) restrict buffer RW
{
vec4 v[];
};
layout(buffer_reference, buffer_reference_align = 16, std430) coherent writeonly buffer WO
{
vec4 v[];
};
layout(push_constant, std430) uniform Registers
{
RO ro;
RW rw;
WO wo;
} registers;
void main()
{
registers.rw.v[gl_GlobalInvocationID.x] = registers.ro.v[gl_GlobalInvocationID.x];
registers.wo.v[gl_GlobalInvocationID.x] = registers.ro.v[gl_GlobalInvocationID.x];
}