#version 450 #extension GL_EXT_buffer_reference : require layout(local_size_x = 1) in; layout(buffer_reference, buffer_reference_align = 4) buffer Block { float v; }; layout(std140, set = 0, binding = 0) uniform UBO { Block blocks[4]; } ubo; void main() { Block blocks[4]; blocks[0] = ubo.blocks[0]; blocks[1] = ubo.blocks[1]; blocks[2] = ubo.blocks[2]; blocks[3] = ubo.blocks[3]; blocks[gl_WorkGroupID.x].v = 20.0; }