#version 450
layout(local_size_x = 256) in;
layout(set = 0, binding = 0) readonly buffer InputA { float a[]; };
layout(set = 0, binding = 1) readonly buffer InputB { float b[]; };
layout(set = 0, binding = 2) writeonly buffer Output { float result[]; };
layout(push_constant) uniform Params {
int n;
};
void main() {
uint idx = gl_GlobalInvocationID.x;
if (idx < n) {
result[idx] = a[idx] + b[idx];
}
}