#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  const constant uint* index;
  array<texture2d<float, access::sample>, 4> sampled_textures;
};

fragment void fs(const constant uint* index [[buffer(0)]], array<texture2d<float, access::sample>, 4> sampled_textures [[texture(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.index=index, .sampled_textures=sampled_textures};
  texture2d<float, access::sample> const v = tint_module_vars.sampled_textures[(*tint_module_vars.index)];
  uint const v_1 = min(uint(0), (v.get_num_mip_levels() - 1u));
  uint2 const v_2 = (uint2(v.get_width(v_1), v.get_height(v_1)) - uint2(1u));
  float4 const texture_load = v.read(min(uint2(int2(0)), v_2), v_1);
}
