type Arr = [[stride(4)]] array<i32, 6u>;

struct sspp962805860buildInformationS {
  footprint : vec4<f32>;
  offset : vec4<f32>;
  essence : i32;
  orientation : Arr;
};

struct x_B4_BuildInformation {
  passthru : sspp962805860buildInformationS;
};

[[group(0), binding(2)]] var<storage, read> sspp962805860buildInformation : x_B4_BuildInformation;

fn main_1() {
  var orientation : array<i32, 6u>;
  let x_23 : Arr = sspp962805860buildInformation.passthru.orientation;
  orientation[0] = x_23[0u];
  orientation[1] = x_23[1u];
  orientation[2] = x_23[2u];
  orientation[3] = x_23[3u];
  orientation[4] = x_23[4u];
  orientation[5] = x_23[5u];
  return;
}

[[stage(fragment)]]
fn main() {
  main_1();
}
