From 0118e9756d92d3c56b9e05842d7c828f37f68159 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Tue, 13 Mar 2018 11:14:33 -0400 Subject: Remove calls to computeOutputColor- Type and Space Bug: b/70846442 Test: I5110881203c000474116a94a48f2afc9a9b62001 These methods were already called by the client. The client may have further overridden the SkColorType (and therefore the SkColorSpace), so respect their final decision on both. Change-Id: Iddcf618e474784b0a000fd516250c44285dacc6b Reviewed-on: https://skia-review.googlesource.com/114062 Commit-Queue: Leon Scroggins Reviewed-by: Derek Sollenberger --- dm/DMSrcSink.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'dm/DMSrcSink.cpp') diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp index 9f7814f21f..26698bf56a 100644 --- a/dm/DMSrcSink.cpp +++ b/dm/DMSrcSink.cpp @@ -170,12 +170,13 @@ Error BRDSrc::draw(SkCanvas* canvas) const { return Error::Nonfatal(SkStringPrintf("Could not create brd for %s.", fPath.c_str())); } - if (kRGB_565_SkColorType == colorType) { - auto recommendedCT = brd->computeOutputColorType(colorType); - if (recommendedCT != colorType) { - return Error::Nonfatal("Skip decoding non-opaque to 565."); - } + auto recommendedCT = brd->computeOutputColorType(colorType); + if (kRGB_565_SkColorType == colorType && recommendedCT != colorType) { + return Error::Nonfatal("Skip decoding non-opaque to 565."); } + colorType = recommendedCT; + + auto colorSpace = brd->computeOutputColorSpace(colorType, nullptr); const uint32_t width = brd->width(); const uint32_t height = brd->height(); @@ -187,7 +188,7 @@ Error BRDSrc::draw(SkCanvas* canvas) const { case kFullImage_Mode: { SkBitmap bitmap; if (!brd->decodeRegion(&bitmap, nullptr, SkIRect::MakeXYWH(0, 0, width, height), - fSampleSize, colorType, false, SkColorSpace::MakeSRGB())) { + fSampleSize, colorType, false, colorSpace)) { return "Cannot decode (full) region."; } alpha8_to_gray8(&bitmap); @@ -243,7 +244,7 @@ Error BRDSrc::draw(SkCanvas* canvas) const { SkBitmap bitmap; if (!brd->decodeRegion(&bitmap, nullptr, SkIRect::MakeXYWH(decodeLeft, decodeTop, decodeWidth, decodeHeight), fSampleSize, colorType, false, - SkColorSpace::MakeSRGB())) { + colorSpace)) { return "Cannot decode region."; } -- cgit v1.2.3