diff options
author | Leon Scroggins III <scroggo@google.com> | 2018-09-04 11:10:04 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-09-04 15:32:34 +0000 |
commit | d6832d047c24c7692d71909376d180ff4b58fd06 (patch) | |
tree | 3d2c89a997d703dfd6d14978eec5265692765f52 | |
parent | 4621a0a0ac343bad5036270fbf5a5e93e4d58828 (diff) | |
download | skqp-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.cpp | 34 | ||||
-rw-r--r-- | src/core/SkMipMap.cpp | 2 | ||||
-rw-r--r-- | tests/ReadPixelsTest.cpp | 2 |
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); |