aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image/SkImage_Lazy.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-06-27 14:24:11 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-28 13:05:16 +0000
commitbfc33e5ad8a7cbec631703f3a1942abce91af539 (patch)
treeca03022fd5ceac2ca1ed860f6e4415b9525a096c /src/image/SkImage_Lazy.cpp
parent385804514edf602f978975c825b78692a044c6b9 (diff)
Revert "Revert "Temporary fix for SkImage_Lazy handling of color spaces""
This reverts commit e269310a09646c7df63039392782a078cc5256c6. Now guarded to avoid breaking Chrome. Bug: skia: Change-Id: I5d98b227c0388a730ad9b5e2e77adbb27dd445b8 Reviewed-on: https://skia-review.googlesource.com/137894 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/image/SkImage_Lazy.cpp')
-rw-r--r--src/image/SkImage_Lazy.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/image/SkImage_Lazy.cpp b/src/image/SkImage_Lazy.cpp
index d4d1c028be..5d978e7951 100644
--- a/src/image/SkImage_Lazy.cpp
+++ b/src/image/SkImage_Lazy.cpp
@@ -297,6 +297,7 @@ struct CacheCaps {
SkImageCacherator::CachedFormat SkImage_Lazy::chooseCacheFormat(SkColorSpace* dstColorSpace,
const GrCaps* grCaps) const {
+#ifdef SK_SUPPORT_LEGACY_LAZY_IMAGE_DECODE_BEHAVIOR
SkColorSpace* cs = fInfo.colorSpace();
if (!cs || !dstColorSpace) {
return kLegacy_CachedFormat;
@@ -390,10 +391,12 @@ SkImageCacherator::CachedFormat SkImage_Lazy::chooseCacheFormat(SkColorSpace* ds
}
}
SkDEBUGFAIL("Unreachable");
+#endif
return kLegacy_CachedFormat;
}
SkImageInfo SkImage_Lazy::buildCacheInfo(CachedFormat format) const {
+#ifdef SK_SUPPORT_LEGACY_LAZY_IMAGE_DECODE_BEHAVIOR
switch (format) {
case kLegacy_CachedFormat:
return fInfo.makeColorSpace(nullptr);
@@ -422,6 +425,13 @@ SkImageInfo SkImage_Lazy::buildCacheInfo(CachedFormat format) const {
SkDEBUGFAIL("Invalid cached format");
return fInfo;
}
+#else
+ if (kGray_8_SkColorType == fInfo.colorType()) {
+ return fInfo.makeColorSpace(nullptr);
+ } else {
+ return fInfo;
+ }
+#endif
}
//////////////////////////////////////////////////////////////////////////////////////////////////
@@ -602,6 +612,7 @@ bool SkImage_Lazy::onCanLazyGenerateOnGPU() const {
}
SkTransferFunctionBehavior SkImage_Lazy::getGeneratorBehaviorAndInfo(SkImageInfo* generatorImageInfo) const {
+#ifdef SK_SUPPORT_LEGACY_LAZY_IMAGE_DECODE_BEHAVIOR
if (generatorImageInfo->colorSpace()) {
return SkTransferFunctionBehavior::kRespect;
}
@@ -616,6 +627,7 @@ SkTransferFunctionBehavior SkImage_Lazy::getGeneratorBehaviorAndInfo(SkImageInfo
default:
break;
}
+#endif
return SkTransferFunctionBehavior::kIgnore;
}