diff options
author | 2017-03-14 16:42:05 +0000 | |
---|---|---|
committer | 2017-03-14 16:42:21 +0000 | |
commit | 8f7d9b9784fc22b809ef1d2fa301b7b95efd2a90 (patch) | |
tree | 8bd9d3379cc4326ebefdf412e0b2648307f24e14 /src/image | |
parent | 73e627074839bc00569117235eb4e7d4fc3cc39f (diff) |
Revert "Begin implementation of SkImage_Base::makeColorSpace"
This reverts commit 98629efdde9236e444d7b3fa644eaab3a1301566.
Reason for revert: unittest failures
Failures:
../../../tests/ImageTest.cpp:1099 0x28 == SkGetPackedR32(*p3Bitmap.getAddr32(0, 0))
../../../tests/ImageTest.cpp:1100 0x40 == SkGetPackedG32(*p3Bitmap.getAddr32(0, 0))
../../../tests/ImageTest.cpp:1101 0x5E == SkGetPackedB32(*p3Bitmap.getAddr32(0, 0))
Original change's description:
> Begin implementation of SkImage_Base::makeColorSpace
>
> BUG=skia:
>
> Change-Id: Idf946faa64dad32a28070a430926a8225dbf6e5a
> Reviewed-on: https://skia-review.googlesource.com/9622
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
>
TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Change-Id: I6ce2a28ca581f7d01322588c2435133d8c6a2435
Reviewed-on: https://skia-review.googlesource.com/9649
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/image')
-rw-r--r-- | src/image/SkImage.cpp | 13 | ||||
-rw-r--r-- | src/image/SkImage_Base.h | 12 | ||||
-rw-r--r-- | src/image/SkImage_Generator.cpp | 18 | ||||
-rw-r--r-- | src/image/SkImage_Raster.cpp | 20 |
4 files changed, 4 insertions, 59 deletions
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index 2513e844d1..d76276be1f 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -312,19 +312,6 @@ bool SkImage::isAlphaOnly() const { return as_IB(this)->onImageInfo().colorType() == kAlpha_8_SkColorType; } -sk_sp<SkImage> SkImage_Base::makeColorSpace(sk_sp<SkColorSpace> target) const { - SkColorSpaceTransferFn fn; - if (!target || !target->isNumericalTransferFn(&fn)) { - return nullptr; - } - - if (SkColorSpace::Equals(this->colorSpace(), target.get())) { - return sk_ref_sp(const_cast<SkImage_Base*>(this)); - } - - return this->onMakeColorSpace(std::move(target)); -} - ////////////////////////////////////////////////////////////////////////////////////// #if !SK_SUPPORT_GPU diff --git a/src/image/SkImage_Base.h b/src/image/SkImage_Base.h index 284af0d1a6..e08d7610f7 100644 --- a/src/image/SkImage_Base.h +++ b/src/image/SkImage_Base.h @@ -81,18 +81,14 @@ public: fAddedToCache.store(true); } - // Transforms image into the input color space. - sk_sp<SkImage> makeColorSpace(sk_sp<SkColorSpace> target) const; + virtual sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>) { + // TODO: Implement this. + return sk_ref_sp(this); + } virtual bool onPinAsTexture(GrContext*) const { return false; } virtual void onUnpinAsTexture(GrContext*) const {} -protected: - virtual sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>) const { - // TODO: Make this pure virtual. - return sk_ref_sp(const_cast<SkImage_Base*>(this)); - } - private: // Set true by caches when they cache content that's derived from the current pixels. mutable SkAtomic<bool> fAddedToCache; diff --git a/src/image/SkImage_Generator.cpp b/src/image/SkImage_Generator.cpp index fb80767999..ae3f9f83f4 100644 --- a/src/image/SkImage_Generator.cpp +++ b/src/image/SkImage_Generator.cpp @@ -40,7 +40,6 @@ public: GrTexture* asTextureRef(GrContext*, const GrSamplerParams&, SkColorSpace*, sk_sp<SkColorSpace>*, SkScalar scaleAdjust[2]) const override; bool onIsLazyGenerated() const override { return true; } - sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>) const override; private: mutable SkImageCacherator fCache; @@ -116,23 +115,6 @@ sk_sp<SkImage> SkImage_Generator::onMakeSubset(const SkIRect& subset) const { return validator ? sk_sp<SkImage>(new SkImage_Generator(&validator)) : nullptr; } -sk_sp<SkImage> SkImage_Generator::onMakeColorSpace(sk_sp<SkColorSpace> target) const { - SkBitmap dst; - SkImageInfo dstInfo = fCache.info().makeColorSpace(target); - if (kIndex_8_SkColorType == dstInfo.colorType() || - kGray_8_SkColorType == dstInfo.colorType()) { - dstInfo = dstInfo.makeColorType(kN32_SkColorType); - } - dst.allocPixels(dstInfo); - - if (!fCache.directGeneratePixels(dstInfo, dst.getPixels(), dst.rowBytes(), 0, 0)) { - return nullptr; - } - - dst.setImmutable(); - return SkImage::MakeFromBitmap(dst); -} - sk_sp<SkImage> SkImage::MakeFromGenerator(std::unique_ptr<SkImageGenerator> generator, const SkIRect* subset) { SkImageCacherator::Validator validator( diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp index 782093e27b..220cc01b11 100644 --- a/src/image/SkImage_Raster.cpp +++ b/src/image/SkImage_Raster.cpp @@ -120,8 +120,6 @@ public: return fBitmap.pixelRef() && fBitmap.pixelRef()->isLazyGenerated(); } - sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>) const override; - #if SK_SUPPORT_GPU sk_sp<GrTexture> refPinnedTexture(uint32_t* uniqueID) const override; bool onPinAsTexture(GrContext*) const override; @@ -367,21 +365,3 @@ bool SkImage_Raster::onAsLegacyBitmap(SkBitmap* bitmap, LegacyBitmapMode mode) c } return this->INHERITED::onAsLegacyBitmap(bitmap, mode); } - -sk_sp<SkImage> SkImage_Raster::onMakeColorSpace(sk_sp<SkColorSpace> target) const { - SkBitmap dst; - SkImageInfo dstInfo = fBitmap.info().makeColorSpace(target); - if (kIndex_8_SkColorType == dstInfo.colorType() || - kGray_8_SkColorType == dstInfo.colorType()) - { - dstInfo = dstInfo.makeColorType(kN32_SkColorType); - } - dst.allocPixels(dstInfo); - - SkPixmap src; - SkAssertResult(this->onPeekPixels(&src)); - - SkAssertResult(dst.writePixels(src)); - dst.setImmutable(); - return SkImage::MakeFromBitmap(dst); -} |