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