support gray8 destinations on CPU
- fill in a couple switches to allow software to rasterize gray8 - add a gray8 config to DM so we can test it - enable this config on some bots Today we draw gray8 using SkRasterPipeline, loading it as {g,g,g,1} and storing using the same fixed luma math as SkLumaColorFilter. One day it'd be nice to use the color space's luma vector if present. Can we support this on GPU? Change-Id: I4ee661c8bd5f33f5db2433ffb6e1bc2483af8397 Reviewed-on: https://skia-review.googlesource.com/92681 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
This commit is contained in:
parent
df2713c447
commit
515bda6811
@ -894,6 +894,7 @@ static Sink* create_sink(const GrContextOptions& grCtxOptions, const SkCommandLi
|
||||
auto srgbColorSpace = SkColorSpace::MakeSRGB();
|
||||
auto srgbLinearColorSpace = SkColorSpace::MakeSRGBLinear();
|
||||
|
||||
SINK("g8", RasterSink, kGray_8_SkColorType);
|
||||
SINK("565", RasterSink, kRGB_565_SkColorType);
|
||||
SINK("8888", RasterSink, kN32_SkColorType);
|
||||
SINK("srgb", RasterSink, kN32_SkColorType, srgbColorSpace);
|
||||
|
@ -165,6 +165,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -197,6 +198,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -164,6 +164,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -191,6 +192,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -236,6 +236,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -263,6 +264,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -170,6 +170,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -197,6 +198,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -165,6 +165,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -192,6 +193,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -234,6 +234,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -261,6 +262,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -232,6 +232,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -259,6 +260,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -232,6 +232,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -259,6 +260,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"serialize-8888",
|
||||
"gm",
|
||||
"_",
|
||||
|
@ -233,6 +233,7 @@
|
||||
"8888",
|
||||
"srgb",
|
||||
"pdf",
|
||||
"g8",
|
||||
"565",
|
||||
"f16",
|
||||
"sp-8888",
|
||||
@ -260,6 +261,14 @@
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"g8",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
"_",
|
||||
"image",
|
||||
"gen_platf",
|
||||
|
@ -94,6 +94,7 @@ def dm_flags(api, bot):
|
||||
configs.remove('pdf')
|
||||
|
||||
if '-GCE-' in bot:
|
||||
configs.extend(['g8'])
|
||||
configs.extend(['565'])
|
||||
configs.extend(['f16'])
|
||||
configs.extend(['sp-8888', '2ndpic-8888']) # Test niche uses of SkPicture.
|
||||
@ -267,6 +268,10 @@ def dm_flags(api, bot):
|
||||
blacklist('gbr-8888 image _ _')
|
||||
blacklist('gbr-8888 colorImage _ _')
|
||||
|
||||
# --src image --config g8 means "decode into Gray8", which isn't supported.
|
||||
blacklist('g8 image _ _')
|
||||
blacklist('g8 colorImage _ _')
|
||||
|
||||
if 'Valgrind' in bot:
|
||||
# These take 18+ hours to run.
|
||||
blacklist('pdf gm _ fontmgr_iter')
|
||||
|
@ -44,6 +44,9 @@ static bool valid_for_bitmap_device(const SkImageInfo& info,
|
||||
switch (info.colorType()) {
|
||||
case kAlpha_8_SkColorType:
|
||||
break;
|
||||
case kGray_8_SkColorType:
|
||||
canonicalAlphaType = kOpaque_SkAlphaType;
|
||||
break;
|
||||
case kRGB_565_SkColorType:
|
||||
canonicalAlphaType = kOpaque_SkAlphaType;
|
||||
break;
|
||||
|
@ -50,6 +50,12 @@ bool SkSurfaceValidateRasterInfo(const SkImageInfo& info, size_t rowBytes) {
|
||||
}
|
||||
shift = 0;
|
||||
break;
|
||||
case kGray_8_SkColorType:
|
||||
if (info.colorSpace()) {
|
||||
return false;
|
||||
}
|
||||
shift = 0;
|
||||
break;
|
||||
case kRGB_565_SkColorType:
|
||||
if (info.colorSpace()) {
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user