Revision control
Copy as Markdown
#version 440
layout (local_size_x = 256) in;
struct Stuff {
vec2 a;
vec2 b;
};
layout(std140, binding = 0) buffer StuffSsbo
{
vec4 whatever;
Stuff stuff[];
} buf;
void main()
{
uint index = gl_GlobalInvocationID.x;
vec2 a = buf.stuff[index].a;
vec2 b = buf.stuff[index].b;
a.x += 1.0;
buf.stuff[index].a = a;
b.y += 1.0;
buf.stuff[index].b = b;
}