Fix correctness issue with SkImageImageFilter and unpremul images

Unpremul images passed to SkImageImageFilter draw incorrectly, when an intermediate SurfaceContext is not used.
For repro steps see
CL fixes SkSpecialImage::MakeFromImage to not hardcode premul alpha type, but read alpha type from the source SkImage.
CL fixes SkImageImageFilter to generate correct fragment shader for unpremul images: e.g. color.rgb *= color.a.

Bug: skia:14045
Change-Id: I3b27849d64294efc783bebcc62d66ff59e164a15
Commit-Queue: Robert Phillips <>
Reviewed-by: Michael Ludwig <>
Reviewed-by: Brian Salomon <>
3 files changed