struct tint_symbol {
  float4 value : SV_Position;
};

Texture2DArray arg_0 : register(t0, space1);

void ignore_c8a0ee() {
  arg_0;
}

tint_symbol vertex_main() {
  ignore_c8a0ee();
  const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
  return tint_symbol_1;
}

void fragment_main() {
  ignore_c8a0ee();
  return;
}

[numthreads(1, 1, 1)]
void compute_main() {
  ignore_c8a0ee();
  return;
}

