#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  array<texture2d<float, access::sample>, 4> sampled_textures;
};

void do_texture_load(array<texture2d<float, access::sample>, 4> ts) {
  uint const v = min(uint(0), (ts[0].get_num_mip_levels() - 1u));
  uint2 const v_1 = (uint2(ts[0].get_width(v), ts[0].get_height(v)) - uint2(1u));
  float4 const texture_load = ts[0].read(min(uint2(int2(0)), v_1), v);
}

fragment void fs(array<texture2d<float, access::sample>, 4> sampled_textures [[texture(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sampled_textures=sampled_textures};
  (do_texture_load(tint_module_vars.sampled_textures));
}
