Files
armorpaint/base/tools/iris.c/iris_vulkan_add.comp
T

17 lines
541 B
Plaintext
Raw Normal View History

2026-06-17 17:44:40 +02:00
#version 450
/* Element-wise add: out = a + b. In-place safe (out may alias a or b). */
layout(local_size_x = 256) in;
layout(std430, binding = 0) readonly buffer A { float a[]; };
layout(std430, binding = 1) readonly buffer B { float bb[]; };
layout(std430, binding = 2) writeonly buffer Out { float outp[]; };
layout(push_constant) uniform PC { uint n; } pc;
void main() {
uint stride_g = gl_NumWorkGroups.x * 256u;
for (uint i = gl_GlobalInvocationID.x; i < pc.n; i += stride_g) {
outp[i] = a[i] + bb[i];
}
}