type Arr = 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();
}
