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