only create new instance if needed for colorspacexformer

just an experiment to address performance when imagefilters are cached.

Bug: skia:
Change-Id: Ic1033c897d0a569b46a339fb3ae7f8f961882953
Reviewed-on: https://skia-review.googlesource.com/21395
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/src/effects/SkImageSource.cpp b/src/effects/SkImageSource.cpp
index e051160..cd2fb51 100644
--- a/src/effects/SkImageSource.cpp
+++ b/src/effects/SkImageSource.cpp
@@ -135,7 +135,11 @@
 sk_sp<SkImageFilter> SkImageSource::onMakeColorSpace(SkColorSpaceXformer* xformer) const {
     SkASSERT(0 == this->countInputs());
 
-    return SkImageSource::Make(xformer->apply(fImage.get()), fSrcRect, fDstRect, fFilterQuality);
+    auto image = xformer->apply(fImage.get());
+    if (image != fImage) {
+        return SkImageSource::Make(image, fSrcRect, fDstRect, fFilterQuality);
+    }
+    return this->refMe();
 }
 
 SkRect SkImageSource::computeFastBounds(const SkRect& src) const {