#version 450 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(binding = 1, std430) readonly buffer ssbo { uint _data[]; } ssbo_1; void Load(uint size) { int byteAddrTemp = int(size >> uint(2)); uvec4 data = uvec4(ssbo_1._data[byteAddrTemp], ssbo_1._data[byteAddrTemp + 1], ssbo_1._data[byteAddrTemp + 2], ssbo_1._data[byteAddrTemp + 3]); } void _main(uvec3 id) { uint param = 4u; Load(param); } void main() { uvec3 id = gl_GlobalInvocationID; uvec3 param = id; _main(param); }