aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-01-07 22:04:51 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-07 22:05:05 +0000
commit86d55b312a2649d80890ccf75f24571ada0265f1 (patch)
tree8e25adaa99e9dfb8f7d0f88cc4c00099b7b04e8a /src/core
parentc3063e54cb1274359f36d9720d4c1b3acf37c203 (diff)
Revert "Retry "SkRasterPipelineBlitter: support A8"..."
This reverts commit f55ea6a1deb21120944d406124a2984b5009260a. Reason for revert: crbug.com/679147 Original change's description: > Retry "SkRasterPipelineBlitter: support A8"... > > ...preferring SkA8_Coverage_Blitter over SkRasterPipelineBlitter. > > I think we could make this work with SkRasterPipelineBlitter (tell it, draw white in Src mode with this mask), but the existing blitter is pretty hard to beat in efficiency and correctness. > > CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD > > > Change-Id: I72df9995c63f3334d8111c59711818cb5ed1e63c > Reviewed-on: https://skia-review.googlesource.com/6627 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,brianosman@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I6a36b4c087a52e54f4d591ded40e6a202fb77068 Reviewed-on: https://skia-review.googlesource.com/6760 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkBlitter.cpp13
-rw-r--r--src/core/SkRasterPipeline.h1
-rw-r--r--src/core/SkRasterPipelineBlitter.cpp5
3 files changed, 6 insertions, 13 deletions
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp
index 86c49d08ae..c97956c20f 100644
--- a/src/core/SkBlitter.cpp
+++ b/src/core/SkBlitter.cpp
@@ -857,12 +857,6 @@ SkBlitter* SkBlitter::Choose(const SkPixmap& device,
p->setColor(0);
}
- if (kAlpha_8_SkColorType == device.colorType() && drawCoverage) {
- SkASSERT(nullptr == shader);
- SkASSERT(paint->isSrcOver());
- return allocator->createT<SkA8_Coverage_Blitter>(device, *paint);
- }
-
if (SkBlitter* blitter = SkCreateRasterPipelineBlitter(device, *paint, matrix, allocator)) {
return blitter;
}
@@ -919,8 +913,11 @@ SkBlitter* SkBlitter::Choose(const SkPixmap& device,
SkBlitter* blitter = nullptr;
switch (device.colorType()) {
case kAlpha_8_SkColorType:
- SkASSERT(!drawCoverage); // Handled above.
- if (shader) {
+ if (drawCoverage) {
+ SkASSERT(nullptr == shader);
+ SkASSERT(paint->isSrcOver());
+ blitter = allocator->createT<SkA8_Coverage_Blitter>(device, *paint);
+ } else if (shader) {
blitter = allocator->createT<SkA8_Shader_Blitter>(device, *paint, shaderContext);
} else {
blitter = allocator->createT<SkA8_Blitter>(device, *paint);
diff --git a/src/core/SkRasterPipeline.h b/src/core/SkRasterPipeline.h
index b73f62631d..d235b43bd7 100644
--- a/src/core/SkRasterPipeline.h
+++ b/src/core/SkRasterPipeline.h
@@ -65,7 +65,6 @@
M(from_srgb) M(to_srgb) \
M(from_2dot2) M(to_2dot2) \
M(constant_color) M(store_f32) \
- M(load_a8) M(store_a8) \
M(load_565) M(store_565) \
M(load_f16) M(store_f16) \
M(load_8888) M(store_8888) \
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp
index 4d21b19bf0..9fad0b4752 100644
--- a/src/core/SkRasterPipelineBlitter.cpp
+++ b/src/core/SkRasterPipelineBlitter.cpp
@@ -79,10 +79,9 @@ SkBlitter* SkCreateRasterPipelineBlitter(const SkPixmap& dst,
static bool supported(const SkImageInfo& info) {
switch (info.colorType()) {
- case kAlpha_8_SkColorType: return true;
- case kRGB_565_SkColorType: return true;
case kN32_SkColorType: return info.gammaCloseToSRGB();
case kRGBA_F16_SkColorType: return true;
+ case kRGB_565_SkColorType: return true;
default: return false;
}
}
@@ -189,7 +188,6 @@ void SkRasterPipelineBlitter::append_load_d(SkRasterPipeline* p) const {
p->append(SkRasterPipeline::move_src_dst);
switch (fDst.info().colorType()) {
- case kAlpha_8_SkColorType: p->append(SkRasterPipeline::load_a8, &fDstPtr); break;
case kRGB_565_SkColorType: p->append(SkRasterPipeline::load_565, &fDstPtr); break;
case kBGRA_8888_SkColorType:
case kRGBA_8888_SkColorType: p->append(SkRasterPipeline::load_8888, &fDstPtr); break;
@@ -215,7 +213,6 @@ void SkRasterPipelineBlitter::append_store(SkRasterPipeline* p) const {
SkASSERT(supported(fDst.info()));
switch (fDst.info().colorType()) {
- case kAlpha_8_SkColorType: p->append(SkRasterPipeline::store_a8, &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;