| Index: dm/DMSrcSink.cpp
|
| diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
|
| index e777815baabce71bcf5ac20ad74e2721dd52eda2..f09e8ff47888b470b9a1e10c122796a8fe76d0de 100644
|
| --- a/dm/DMSrcSink.cpp
|
| +++ b/dm/DMSrcSink.cpp
|
| @@ -11,7 +11,7 @@
|
| #include "SkCodec.h"
|
| #include "SkCodecImageGenerator.h"
|
| #include "SkColorSpace.h"
|
| -#include "SkColorSpace_Base.h"
|
| +#include "SkColorSpace_XYZTRC.h"
|
| #include "SkColorSpaceXform.h"
|
| #include "SkCommonFlags.h"
|
| #include "SkData.h"
|
| @@ -920,7 +920,9 @@ Error ColorCodecSrc::draw(SkCanvas* canvas) const {
|
| decodeInfo = decodeInfo.makeAlphaType(kPremul_SkAlphaType);
|
| }
|
| if (kRGBA_F16_SkColorType == fColorType) {
|
| - decodeInfo = decodeInfo.makeColorSpace(as_CSB(decodeInfo.colorSpace())->makeLinearGamma());
|
| + SkASSERT(as_CSB(decodeInfo.colorSpace())->toXYZD50());
|
| + SkColorSpace_XYZTRC* csXYZ = static_cast<SkColorSpace_XYZTRC*>(decodeInfo.colorSpace());
|
| + decodeInfo = decodeInfo.makeColorSpace(csXYZ->makeLinearGamma());
|
| }
|
|
|
| SkImageInfo bitmapInfo = decodeInfo;
|
|
|