uniform float4x4 colorXform;
layout(binding=0) 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));
}
