#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  texture2d<int, access::sample> t;
  sampler s;
};

fragment void tint_symbol(texture2d<int, access::sample> t [[texture(0)]], sampler s [[sampler(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.t=t, .s=s};
  int4 res = tint_module_vars.t.gather(tint_module_vars.s, float2(0.0f), int2(0), component::x);
}
