aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeon Scroggins III <scroggo@google.com>2018-09-04 11:10:04 -0400
committerSkia Commit-Bot <skia-commit-bot@chromium.org>2018-09-04 15:32:34 +0000
commitd6832d047c24c7692d71909376d180ff4b58fd06 (patch)
tree3d2c89a997d703dfd6d14978eec5265692765f52
parent4621a0a0ac343bad5036270fbf5a5e93e4d58828 (diff)
downloadskqp-d6832d047c24c7692d71909376d180ff4b58fd06.tar.gz
Remove some references to defunct kIndex_8
Bug: skia:6828 Bug: skia:3338 Bug: skia:3339 The comment for five_reference_pixels seems to suggest removing the default case, but we already have new SkColorTypes, leaving the default seems like the right approach for now. Remove premultiply_if_necessary. We can now draw unpremultiplied bitmaps, so it's never necessary. Remove a TODO related to kIndex8 Change-Id: Iafdab22bb6453e4b5bba7278b12d27788cc7d037 Reviewed-on: https://skia-review.googlesource.com/151362 Commit-Queue: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
-rw-r--r--dm/DMSrcSink.cpp34
-rw-r--r--src/core/SkMipMap.cpp2
-rw-r--r--tests/ReadPixelsTest.cpp2
3 files changed, 1 insertions, 37 deletions
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index cd5822e82a..7ed158d769 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -334,39 +334,6 @@ static void swap_rb_if_necessary(SkBitmap& bitmap, CodecSrc::DstColorType dstCol
}
}
-// FIXME: Currently we cannot draw unpremultiplied sources. skbug.com/3338 and skbug.com/3339.
-// This allows us to still test unpremultiplied decodes.
-static void premultiply_if_necessary(SkBitmap& bitmap) {
- if (kUnpremul_SkAlphaType != bitmap.alphaType()) {
- return;
- }
-
- switch (bitmap.colorType()) {
- case kRGBA_F16_SkColorType: {
- SkJumper_MemoryCtx ctx = { bitmap.getAddr(0,0), bitmap.rowBytesAsPixels() };
- SkRasterPipeline_<256> p;
- p.append(SkRasterPipeline::load_f16, &ctx);
- p.append(SkRasterPipeline::premul);
- p.append(SkRasterPipeline::store_f16, &ctx);
- p.run(0,0, bitmap.width(), bitmap.height());
- }
- break;
- case kN32_SkColorType:
- for (int y = 0; y < bitmap.height(); y++) {
- uint32_t* row = (uint32_t*) bitmap.getAddr(0, y);
- SkOpts::RGBA_to_rgbA(row, row, bitmap.width());
- }
- break;
- default:
- // No need to premultiply kGray or k565 outputs.
- break;
- }
-
- // In the kIndex_8 case, the canvas won't even try to draw unless we mark the
- // bitmap as kPremul.
- bitmap.setAlphaType(kPremul_SkAlphaType);
-}
-
static bool get_decode_info(SkImageInfo* decodeInfo, SkColorType canvasColorType,
CodecSrc::DstColorType dstColorType, SkAlphaType dstAlphaType) {
switch (dstColorType) {
@@ -406,7 +373,6 @@ static void draw_to_canvas(SkCanvas* canvas, const SkImageInfo& info, void* pixe
SkScalar left = 0, SkScalar top = 0) {
SkBitmap bitmap;
bitmap.installPixels(info, pixels, rowBytes);
- premultiply_if_necessary(bitmap);
swap_rb_if_necessary(bitmap, dstColorType);
canvas->drawBitmap(bitmap, left, top);
canvas->flush();
diff --git a/src/core/SkMipMap.cpp b/src/core/SkMipMap.cpp
index 00a105750c..7dbe319026 100644
--- a/src/core/SkMipMap.cpp
+++ b/src/core/SkMipMap.cpp
@@ -381,8 +381,6 @@ SkMipMap* SkMipMap::Build(const SkPixmap& src, SkDiscardableFactoryProc fact) {
proc_3_3 = downsample_3_3<ColorTypeFilter_F16>;
break;
default:
- // TODO: We could build miplevels for kIndex8 if the levels were in 8888.
- // Means using more ram, but the quality would be fine.
return nullptr;
}
diff --git a/tests/ReadPixelsTest.cpp b/tests/ReadPixelsTest.cpp
index 4079a8c893..29e50ff201 100644
--- a/tests/ReadPixelsTest.cpp
+++ b/tests/ReadPixelsTest.cpp
@@ -600,7 +600,7 @@ static const void* five_reference_pixels(SkColorType colorType) {
case kRGBA_F16_SkColorType:
return f16;
default:
- return nullptr; // remove me when kIndex_8 is removed from the enum
+ return nullptr;
}
SkASSERT(false);