aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2018-01-24 13:42:05 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-01-24 19:05:40 +0000
commit5340b3fc43119f16f6d69d1a83f6755826cfa8b3 (patch)
treebfd81b738b157832f21aaf15cc879c7a0e720bd0
parentbddcc95383250940fce5491576a1636f3087cba9 (diff)
allow 4444 sw surfaces
c.f. https://skia-review.googlesource.com/c/skia/+/92681 Change-Id: I0e73ee7fd7b6a6c122121fcaddb7abe2af0b8042 Reviewed-on: https://skia-review.googlesource.com/99301 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
-rw-r--r--dm/DM.cpp1
-rw-r--r--src/core/SkBitmapDevice.cpp2
-rw-r--r--src/image/SkSurface_Raster.cpp6
3 files changed, 9 insertions, 0 deletions
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 61a75951d1..754f035708 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -896,6 +896,7 @@ static Sink* create_sink(const GrContextOptions& grCtxOptions, const SkCommandLi
SINK("g8", RasterSink, kGray_8_SkColorType);
SINK("565", RasterSink, kRGB_565_SkColorType);
+ SINK("4444", RasterSink, kARGB_4444_SkColorType);
SINK("8888", RasterSink, kN32_SkColorType);
SINK("srgb", RasterSink, kN32_SkColorType, srgbColorSpace);
SINK("f16", RasterSink, kRGBA_F16_SkColorType, srgbLinearColorSpace);
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp
index 90b721a2f0..f49872cf7d 100644
--- a/src/core/SkBitmapDevice.cpp
+++ b/src/core/SkBitmapDevice.cpp
@@ -50,6 +50,8 @@ static bool valid_for_bitmap_device(const SkImageInfo& info,
case kRGB_565_SkColorType:
canonicalAlphaType = kOpaque_SkAlphaType;
break;
+ case kARGB_4444_SkColorType:
+ break;
case kN32_SkColorType:
break;
case kRGBA_F16_SkColorType:
diff --git a/src/image/SkSurface_Raster.cpp b/src/image/SkSurface_Raster.cpp
index 3611b30828..e55e5a751a 100644
--- a/src/image/SkSurface_Raster.cpp
+++ b/src/image/SkSurface_Raster.cpp
@@ -62,6 +62,12 @@ bool SkSurfaceValidateRasterInfo(const SkImageInfo& info, size_t rowBytes) {
}
shift = 1;
break;
+ case kARGB_4444_SkColorType:
+ if (info.colorSpace()) {
+ return false;
+ }
+ shift = 1;
+ break;
case kN32_SkColorType:
if (info.colorSpace() && !info.colorSpace()->gammaCloseToSRGB()) {
return false;