struct v2f {
    vec4 pos;
    vec2 uv;
};
uniform sampler2D _MainTex;
uniform vec4 _MainTex_TexelSize;

vec2 maxMag (in vec2 a, in vec2 b)
{
    float ma;
    float mb;
    ma = dot(a, a);
    mb = dot(b, b);
    return mix (a, b, vec2(step(ma, mb)));
}
vec4 TileMax (in v2f i)
{
    vec2 uvCorner;
    vec2 mx;
    vec2 v;
    uvCorner = i.uv;
    mx = vec2(texture2D( _MainTex, uvCorner));
    int j = 0;
    for ( ; (j < 8); (j++))
    {
        int l = 0;
        for ( ; (l < 8); (l++))
        {
            v = texture2D (_MainTex, (uvCorner + (vec2(float(l),float(j)) * _MainTex_TexelSize.xy))).xy;
            mx = maxMag(mx, v);
        }
    }
    return vec4(mx, 0.0, 0.0);
}

varying vec2 xlv_TEXCOORD0;

void main()
{
    vec4 c;
    v2f ii;
    ii.pos = vec4(0.0);
    ii.uv = xlv_TEXCOORD0;
    c = TileMax(ii);
    gl_FragData[0] = c;
}
