#version 450 // Example compute kernel for eve.Gpgpu — scale float SSBO by push-constant data[0]. // // squirrel: // local s = gpgpu.newShader(file text or string) // local b = gpgpu.newBuffer(n * 4, "storage") // s.bindBuffer(0, b) // s.setFloat(0, 2.0) // gpgpu.dispatch(s, (n + 63) / 64, 1, 1) layout(local_size_x = 64) in; layout(set = 0, binding = 0) buffer Data { float values[]; } data; layout(push_constant) uniform PC { float data[32]; } pc; void main() { uint i = gl_GlobalInvocationID.x; data.values[i] *= pc.data[0]; }