uniform float4x4 colorXform;
uniform sampler2D sampler;

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