diff options
Diffstat (limited to 'src/image')
-rw-r--r-- | src/image/SkImage.cpp | 8 | ||||
-rw-r--r-- | src/image/SkImage_Base.h | 3 | ||||
-rw-r--r-- | src/image/SkImage_Gpu.cpp | 8 | ||||
-rw-r--r-- | src/image/SkImage_Gpu.h | 3 | ||||
-rw-r--r-- | src/image/SkImage_Lazy.cpp | 6 | ||||
-rw-r--r-- | src/image/SkImage_Raster.cpp | 8 |
6 files changed, 11 insertions, 25 deletions
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index 128e693ad2..53add0e9d3 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -295,7 +295,7 @@ bool SkImage::isAlphaOnly() const { } sk_sp<SkImage> SkImage::makeColorSpace(sk_sp<SkColorSpace> target, - SkTransferFunctionBehavior premulBehavior) const { + SkTransferFunctionBehavior) const { SkColorSpaceTransferFn fn; if (!target || !target->isNumericalTransferFn(&fn)) { return nullptr; @@ -309,13 +309,11 @@ sk_sp<SkImage> SkImage::makeColorSpace(sk_sp<SkColorSpace> target, return sk_ref_sp(const_cast<SkImage*>(this)); } + // TODO: Re-visit this! Keep existing color type? SkColorType targetColorType = kN32_SkColorType; - if (SkTransferFunctionBehavior::kRespect == premulBehavior && target->gammaIsLinear()) { - targetColorType = kRGBA_F16_SkColorType; - } // TODO: We might consider making this a deferred conversion? - return as_IB(this)->onMakeColorSpace(std::move(target), targetColorType, premulBehavior); + return as_IB(this)->onMakeColorSpace(std::move(target), targetColorType); } sk_sp<SkImage> SkImage::makeNonTextureImage() const { diff --git a/src/image/SkImage_Base.h b/src/image/SkImage_Base.h index 0d54a39471..6a048ba51f 100644 --- a/src/image/SkImage_Base.h +++ b/src/image/SkImage_Base.h @@ -95,8 +95,7 @@ public: virtual bool onPinAsTexture(GrContext*) const { return false; } virtual void onUnpinAsTexture(GrContext*) const {} - virtual sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType, - SkTransferFunctionBehavior) const = 0; + virtual sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType) const = 0; protected: SkImage_Base(int width, int height, uint32_t uniqueID); diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp index 359782f745..0fcc01f0f0 100644 --- a/src/image/SkImage_Gpu.cpp +++ b/src/image/SkImage_Gpu.cpp @@ -950,13 +950,7 @@ bool SkImage::MakeBackendTextureFromSkImage(GrContext* ctx, /////////////////////////////////////////////////////////////////////////////////////////////////// -sk_sp<SkImage> SkImage_Gpu::onMakeColorSpace(sk_sp<SkColorSpace> target, SkColorType, - SkTransferFunctionBehavior premulBehavior) const { - if (SkTransferFunctionBehavior::kRespect == premulBehavior) { - // TODO: Implement this. - return nullptr; - } - +sk_sp<SkImage> SkImage_Gpu::onMakeColorSpace(sk_sp<SkColorSpace> target, SkColorType) const { sk_sp<SkColorSpace> srcSpace = fColorSpace; if (!fColorSpace) { if (target->isSRGB()) { diff --git a/src/image/SkImage_Gpu.h b/src/image/SkImage_Gpu.h index c79e5295be..57c38c10fd 100644 --- a/src/image/SkImage_Gpu.h +++ b/src/image/SkImage_Gpu.h @@ -60,8 +60,7 @@ public: sk_sp<SkColorSpace> refColorSpace() { return fColorSpace; } - sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType, - SkTransferFunctionBehavior) const override; + sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType) const override; typedef ReleaseContext TextureContext; typedef void (*TextureFulfillProc)(TextureContext textureContext, GrBackendTexture* outTexture); diff --git a/src/image/SkImage_Lazy.cpp b/src/image/SkImage_Lazy.cpp index 8d8e95219d..402acf5d73 100644 --- a/src/image/SkImage_Lazy.cpp +++ b/src/image/SkImage_Lazy.cpp @@ -94,8 +94,7 @@ public: bool getROPixels(SkBitmap*, SkColorSpace* dstColorSpace, CachingHint) const override; bool onIsLazyGenerated() const override { return true; } bool onCanLazyGenerateOnGPU() const override; - sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType, - SkTransferFunctionBehavior) const override; + sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType) const override; bool onIsValid(GrContext*) const override; @@ -451,8 +450,7 @@ sk_sp<SkImage> SkImage_Lazy::onMakeSubset(const SkIRect& subset) const { } sk_sp<SkImage> SkImage_Lazy::onMakeColorSpace(sk_sp<SkColorSpace> target, - SkColorType targetColorType, - SkTransferFunctionBehavior premulBehavior) const { + SkColorType targetColorType) const { SkAutoExclusive autoAquire(fOnMakeColorSpaceMutex); if (target && fOnMakeColorSpaceTarget && SkColorSpace::Equals(target.get(), fOnMakeColorSpaceTarget.get())) { diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp index ca01780d36..859014f398 100644 --- a/src/image/SkImage_Raster.cpp +++ b/src/image/SkImage_Raster.cpp @@ -110,8 +110,7 @@ public: SkASSERT(bitmapMayBeMutable || fBitmap.isImmutable()); } - sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType, - SkTransferFunctionBehavior) const override; + sk_sp<SkImage> onMakeColorSpace(sk_sp<SkColorSpace>, SkColorType) const override; bool onIsValid(GrContext* context) const override { return true; } @@ -343,8 +342,7 @@ bool SkImage_Raster::onAsLegacyBitmap(SkBitmap* bitmap) const { /////////////////////////////////////////////////////////////////////////////// sk_sp<SkImage> SkImage_Raster::onMakeColorSpace(sk_sp<SkColorSpace> target, - SkColorType targetColorType, - SkTransferFunctionBehavior premulBehavior) const { + SkColorType targetColorType) const { SkPixmap src; SkAssertResult(fBitmap.peekPixels(&src)); @@ -361,7 +359,7 @@ sk_sp<SkImage> SkImage_Raster::onMakeColorSpace(sk_sp<SkColorSpace> target, SkBitmap dst; dst.allocPixels(dstInfo); - SkAssertResult(dst.writePixels(src, 0, 0, premulBehavior)); + SkAssertResult(dst.writePixels(src, 0, 0)); dst.setImmutable(); return SkImage::MakeFromBitmap(dst); } |