Convert blitter over to new style from_srgb, to_srgb.
Every sRGB GM changes, none noticeably.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I632845aea0f40751639cccbcfde8fa270cae0301
Reviewed-on: https://skia-review.googlesource.com/5275
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp
index ca6313e..480a23c 100644
--- a/src/core/SkRasterPipelineBlitter.cpp
+++ b/src/core/SkRasterPipelineBlitter.cpp
@@ -159,36 +159,34 @@
SkASSERT(supported(fDst.info()));
switch (fDst.info().colorType()) {
- case kN32_SkColorType:
- if (fDst.info().gammaCloseToSRGB()) {
- p->append(SkRasterPipeline::load_d_srgb, &fDstPtr);
- }
- break;
- case kRGBA_F16_SkColorType:
- p->append(SkRasterPipeline::load_d_f16, &fDstPtr);
- break;
- case kRGB_565_SkColorType:
- p->append(SkRasterPipeline::load_d_565, &fDstPtr);
- break;
+ case kRGB_565_SkColorType: p->append(SkRasterPipeline::load_d_565, &fDstPtr); break;
+ case kBGRA_8888_SkColorType:
+ case kRGBA_8888_SkColorType: p->append(SkRasterPipeline::load_d_8888, &fDstPtr); break;
+ case kRGBA_F16_SkColorType: p->append(SkRasterPipeline::load_d_f16, &fDstPtr); break;
default: break;
}
+ if (fDst.info().colorType() == kBGRA_8888_SkColorType) {
+ p->append(SkRasterPipeline::swap_drdb);
+ }
+ if (fDst.info().gammaCloseToSRGB()) {
+ p->append(SkRasterPipeline::from_srgb_d);
+ }
}
void SkRasterPipelineBlitter::append_store(SkRasterPipeline* p) const {
SkASSERT(supported(fDst.info()));
+ if (fDst.info().gammaCloseToSRGB()) {
+ p->append(SkRasterPipeline::to_srgb);
+ }
+ if (fDst.info().colorType() == kBGRA_8888_SkColorType) {
+ p->append(SkRasterPipeline::swap_rb);
+ }
switch (fDst.info().colorType()) {
- case kN32_SkColorType:
- if (fDst.info().gammaCloseToSRGB()) {
- p->append(SkRasterPipeline::store_srgb, &fDstPtr);
- }
- break;
- case kRGBA_F16_SkColorType:
- p->append(SkRasterPipeline::store_f16, &fDstPtr);
- break;
- case kRGB_565_SkColorType:
- p->append(SkRasterPipeline::store_565, &fDstPtr);
- break;
+ case kRGB_565_SkColorType: p->append(SkRasterPipeline::store_565, &fDstPtr); break;
+ case kBGRA_8888_SkColorType:
+ case kRGBA_8888_SkColorType: p->append(SkRasterPipeline::store_8888, &fDstPtr); break;
+ case kRGBA_F16_SkColorType: p->append(SkRasterPipeline::store_f16, &fDstPtr); break;
default: break;
}
}
@@ -198,7 +196,9 @@
}
void SkRasterPipelineBlitter::maybe_clamp(SkRasterPipeline* p) const {
- if (SkBlendMode_CanOverflow(fBlend)) { p->append(SkRasterPipeline::clamp_a); }
+ if (SkBlendMode_CanOverflow(fBlend)) {
+ p->append(SkRasterPipeline::clamp_a);
+ }
}
void SkRasterPipelineBlitter::blitH(int x, int y, int w) {