Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: src/core/SkColorSpaceXform.cpp

Issue 2347473007: Revert of Support Float32 output from SkColorSpaceXform (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkColorSpaceXform.h ('k') | src/core/SkNx.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « src/core/SkColorSpaceXform.h ('k') | src/core/SkNx.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698