#version 450

layout(binding = 0) uniform sampler2D uSampler;

layout(location = 0) out vec4 FragColor;
layout(location = 0) in vec4 vInput;

void main()
{
    FragColor = vInput;
    vec4 t = texture(uSampler, vInput.xy);
    vec4 d0 = dFdx(vInput);
    vec4 d1 = dFdy(vInput);
    vec4 d2 = fwidth(vInput);
    vec4 d3 = dFdxCoarse(vInput);
    vec4 d4 = dFdyCoarse(vInput);
    vec4 d5 = fwidthCoarse(vInput);
    vec4 d6 = dFdxFine(vInput);
    vec4 d7 = dFdyFine(vInput);
    vec4 d8 = fwidthFine(vInput);
    vec2 lod = textureQueryLod(uSampler, vInput.zw);
    if (vInput.y > 10.0)
    {
        FragColor += t;
        FragColor += d0;
        FragColor += d1;
        FragColor += d2;
        FragColor += d3;
        FragColor += d4;
        FragColor += d5;
        FragColor += d6;
        FragColor += d7;
        FragColor += d8;
        FragColor += lod.xyxy;
    }
}

