| Index: src/core/SkColorSpaceXform.cpp | 
| diff --git a/src/core/SkColorSpaceXform.cpp b/src/core/SkColorSpaceXform.cpp | 
| index b1dda348177f0599cdc796e11c55bbe1e9d8e4e6..599adc90f959609062c6d9955ec01b0560428321 100644 | 
| --- a/src/core/SkColorSpaceXform.cpp | 
| +++ b/src/core/SkColorSpaceXform.cpp | 
| @@ -908,23 +908,8 @@ | 
| } | 
|  | 
| template <SwapRB kSwapRB> | 
| -static inline void store_f32(void* dst, const uint32_t* src, | 
| -                             Sk4f& dr, Sk4f& dg, Sk4f& db, Sk4f& da, | 
| -                             const uint8_t* const[3]) { | 
| -    Sk4f_store4(dst, dr, dg, db, da); | 
| -} | 
| - | 
| -template <SwapRB kSwapRB> | 
| -static inline void store_f32_1(void* dst, const uint32_t* src, | 
| -                               Sk4f& rgba, const Sk4f& a, | 
| -                               const uint8_t* const[3]) { | 
| -    rgba = Sk4f(rgba[0], rgba[1], rgba[2], a[3]); | 
| -    rgba.store((float*) dst); | 
| -} | 
| - | 
| -template <SwapRB kSwapRB> | 
| static inline void store_f16_opaque(void* dst, const uint32_t* src, | 
| -                                    Sk4f& dr, Sk4f& dg, Sk4f& db, Sk4f&, | 
| +                                    Sk4f& dr, Sk4f& dg, Sk4f& db, Sk4f& da, | 
| const uint8_t* const[3]) { | 
| Sk4h_store4(dst, SkFloatToHalf_finite_ftz(dr), | 
| SkFloatToHalf_finite_ftz(dg), | 
| @@ -934,7 +919,7 @@ | 
|  | 
| template <SwapRB kSwapRB> | 
| static inline void store_f16_1_opaque(void* dst, const uint32_t* src, | 
| -                                      Sk4f& rgba, const Sk4f&, | 
| +                                      Sk4f& rgba, const Sk4f& a, | 
| const uint8_t* const[3]) { | 
| uint64_t tmp; | 
| SkFloatToHalf_finite_ftz(rgba).store(&tmp); | 
| @@ -1104,7 +1089,6 @@ | 
| k8888_2Dot2_DstFormat, | 
| k8888_Table_DstFormat, | 
| kF16_Linear_DstFormat, | 
| -    kF32_Linear_DstFormat, | 
| }; | 
|  | 
| template <SrcFormat kSrc, | 
| @@ -1117,12 +1101,9 @@ | 
| const uint8_t* const dstTables[3]) { | 
| LoadFn load; | 
| Load1Fn load_1; | 
| -    static constexpr bool loadAlpha = (kPremul_SkAlphaType == kAlphaType) || | 
| -                                      (kF16_Linear_DstFormat == kDst) || | 
| -                                      (kF32_Linear_DstFormat == kDst); | 
| switch (kSrc) { | 
| case kRGBA_8888_Linear_SrcFormat: | 
| -            if (loadAlpha) { | 
| +            if (kPremul_SkAlphaType == kAlphaType || kF16_Linear_DstFormat == kDst) { | 
| load = load_rgba_linear; | 
| load_1 = load_rgba_linear_1; | 
| } else { | 
| @@ -1131,7 +1112,7 @@ | 
| } | 
| break; | 
| case kRGBA_8888_Table_SrcFormat: | 
| -            if (loadAlpha) { | 
| +            if (kPremul_SkAlphaType == kAlphaType || kF16_Linear_DstFormat == kDst) { | 
| load = load_rgba_from_tables; | 
| load_1 = load_rgba_from_tables_1; | 
| } else { | 
| @@ -1172,11 +1153,6 @@ | 
| store_f16_1<kSwapRB>; | 
| sizeOfDstPixel = 8; | 
| break; | 
| -        case kF32_Linear_DstFormat: | 
| -            store   = store_f32<kSwapRB>; | 
| -            store_1 = store_f32_1<kSwapRB>; | 
| -            sizeOfDstPixel = 16; | 
| -            break; | 
| } | 
|  | 
| do_color_xform<kAlphaType, kCSM> | 
| @@ -1269,7 +1245,7 @@ | 
|  | 
| template <SrcGamma kSrc, DstGamma kDst, ColorSpaceMatch kCSM> | 
| void SkColorSpaceXform_Base<kSrc, kDst, kCSM> | 
| -::apply(void* dst, const uint32_t* src, int len, ColorFormat dstColorFormat, SkAlphaType alphaType) | 
| +::apply(void* dst, const uint32_t* src, int len, SkColorType dstColorType, SkAlphaType alphaType) | 
| const | 
| { | 
| if (kFull_ColorSpaceMatch == kCSM) { | 
| @@ -1279,14 +1255,13 @@ | 
| // linear space. | 
| break; | 
| default: | 
| -                switch (dstColorFormat) { | 
| -                    case kRGBA_8888_ColorFormat: | 
| +                switch (dstColorType) { | 
| +                    case kRGBA_8888_SkColorType: | 
| return (void) memcpy(dst, src, len * sizeof(uint32_t)); | 
| -                    case kBGRA_8888_ColorFormat: | 
| +                    case kBGRA_8888_SkColorType: | 
| return SkOpts::RGBA_to_BGRA((uint32_t*) dst, src, len); | 
| -                    case kRGBA_F16_ColorFormat: | 
| -                    case kRGBA_F32_ColorFormat: | 
| -                        // There's still work to do to xform to linear floats. | 
| +                    case kRGBA_F16_SkColorType: | 
| +                        // There's still work to do to xform to linear F16. | 
| break; | 
| default: | 
| SkASSERT(false); | 
| @@ -1308,8 +1283,8 @@ | 
| src = (const uint32_t*) storage.get(); | 
| } | 
|  | 
| -    switch (dstColorFormat) { | 
| -        case kRGBA_8888_ColorFormat: | 
| +    switch (dstColorType) { | 
| +        case kRGBA_8888_SkColorType: | 
| switch (kDst) { | 
| case kLinear_DstGamma: | 
| return apply_set_src<kSrc, k8888_Linear_DstFormat, kCSM, kNo_SwapRB> | 
| @@ -1324,7 +1299,7 @@ | 
| return apply_set_src<kSrc, k8888_Table_DstFormat, kCSM, kNo_SwapRB> | 
| (dst, src, len, alphaType, fSrcGammaTables, fSrcToDst, fDstGammaTables); | 
| } | 
| -        case kBGRA_8888_ColorFormat: | 
| +        case kBGRA_8888_SkColorType: | 
| switch (kDst) { | 
| case kLinear_DstGamma: | 
| return apply_set_src<kSrc, k8888_Linear_DstFormat, kCSM, kYes_SwapRB> | 
| @@ -1339,7 +1314,7 @@ | 
| return apply_set_src<kSrc, k8888_Table_DstFormat, kCSM, kYes_SwapRB> | 
| (dst, src, len, alphaType, fSrcGammaTables, fSrcToDst, fDstGammaTables); | 
| } | 
| -        case kRGBA_F16_ColorFormat: | 
| +        case kRGBA_F16_SkColorType: | 
| switch (kDst) { | 
| case kLinear_DstGamma: | 
| return apply_set_src<kSrc, kF16_Linear_DstFormat, kCSM, kNo_SwapRB> | 
| @@ -1348,15 +1323,6 @@ | 
| SkASSERT(false); | 
| return; | 
| } | 
| -        case kRGBA_F32_ColorFormat: | 
| -            switch (kDst) { | 
| -                case kLinear_DstGamma: | 
| -                    return apply_set_src<kSrc, kF32_Linear_DstFormat, kCSM, kNo_SwapRB> | 
| -                            (dst, src, len, alphaType, fSrcGammaTables, fSrcToDst, nullptr); | 
| -                default: | 
| -                    SkASSERT(false); | 
| -                    return; | 
| -            } | 
| default: | 
| SkASSERT(false); | 
| return; | 
|  |