bevy_gpu_test 0.2.2

A test harness for running GPU compute shaders in Bevy and reading back results for CPU-side assertions
// Basic math test — reads (a, b) pairs, writes (sum, product, max, min).

struct Input {
    a: f32,
    b: f32,
    _pad1: f32,
    _pad2: f32,
}

struct Output {
    sum: f32,
    product: f32,
    max_val: f32,
    min_val: f32,
}

@group(0) @binding(0) var<storage, read> inputs: array<Input>;
@group(0) @binding(1) var<storage, read_write> outputs: array<Output>;

@compute @workgroup_size(64)
fn main(@builtin(global_invocation_id) id: vec3<u32>) {
    let i = id.x;
    if i >= arrayLength(&inputs) {
        return;
    }

    let input = inputs[i];
    outputs[i] = Output(
        input.a + input.b,
        input.a * input.b,
        max(input.a, input.b),
        min(input.a, input.b),
    );
}