| 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;
|
|
|