struct Result { | |
values : array<f32>; | |
} | |
let width : u32 = 128u; | |
@group(0) @binding(0) var tex : texture_depth_2d; | |
@group(0) @binding(1) var<storage, read_write> result : Result; | |
@stage(compute) @workgroup_size(1) | |
fn main(@builtin(global_invocation_id) GlobalInvocationId : vec3<u32>) { | |
result.values[((GlobalInvocationId.y * width) + GlobalInvocationId.x)] = textureLoad(tex, vec2<i32>(i32(GlobalInvocationId.x), i32(GlobalInvocationId.y)), 0); | |
} |