uniform float4x4 colorXform;
layout(binding=0) uniform sampler2D s;

void main() {
    float4 tmpColor;
    sk_FragColor =
            half4(1.0) *
            (tmpColor = sample(s, float2(1)),
             half4(colorXform != float4x4(1.0)
                           ? float4(clamp((float4x4(colorXform) * float4(tmpColor.xyz, 1.0)).xyz,
                                          0.0, tmpColor.w),
                                    tmpColor.w)
                           : tmpColor));
}
