[[block]] 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); }