diff options
author | Eric Boren <borenet@google.com> | 2017-03-17 11:18:17 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-03-17 11:52:14 +0000 |
commit | 73e21af21390c2806eb1350253233903808edd6b (patch) | |
tree | e917327a738134cbf0936f4788da6c05509aaf1f | |
parent | 14583e11fd622c686993b741499060a6f3527055 (diff) |
Revert "Add color spin test for SkColorSpaceXformCanvas"
This reverts commit cb01aec63bcb3dee52afcf3605bcd64166b873c0.
Reason for revert: Breaks Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE
Original change's description:
> Add color spin test for SkColorSpaceXformCanvas
>
> Also changes behavior to treat nullptr srcs as sRGB.
>
> Testing locally, it looks like 353 gms have no diffs from 8888.
> There are 269 diffs - some are fine (gms that do color space stuff)
> and some are bugs.
>
> BUG=skia:
>
> Change-Id: I55c2825f4f4b857e0b0a0ec050c6db82ac881492
> Reviewed-on: https://skia-review.googlesource.com/9738
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>
TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=skia:
Change-Id: I70bb69f747b863d267494e37a60888a51ab0184c
Reviewed-on: https://skia-review.googlesource.com/9823
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
19 files changed, 18 insertions, 167 deletions
@@ -14,7 +14,6 @@ #include "SkCodec.h" #include "SkColorPriv.h" #include "SkColorSpace.h" -#include "SkColorSpacePriv.h" #include "SkCommonFlags.h" #include "SkCommonFlagsConfig.h" #include "SkCommonFlagsPathRenderer.h" @@ -896,26 +895,9 @@ static sk_sp<SkColorSpace> adobe_rgb() { SkColorSpace::kAdobeRGB_Gamut); } -static sk_sp<SkColorSpace> rgb_to_gbr() { - float gbr[9]; - gbr[0] = gSRGB_toXYZD50[1]; - gbr[1] = gSRGB_toXYZD50[2]; - gbr[2] = gSRGB_toXYZD50[0]; - gbr[3] = gSRGB_toXYZD50[4]; - gbr[4] = gSRGB_toXYZD50[5]; - gbr[5] = gSRGB_toXYZD50[3]; - gbr[6] = gSRGB_toXYZD50[7]; - gbr[7] = gSRGB_toXYZD50[8]; - gbr[8] = gSRGB_toXYZD50[6]; - SkMatrix44 toXYZD50(SkMatrix44::kUninitialized_Constructor); - toXYZD50.set3x3RowMajorf(gbr); - return SkColorSpace::MakeRGB(SkColorSpace::kSRGB_RenderTargetGamma, toXYZD50); -} - static Sink* create_via(const SkString& tag, Sink* wrapped) { #define VIA(t, via, ...) if (tag.equals(t)) { return new via(__VA_ARGS__); } - VIA("adobe", ViaCSXform, wrapped, adobe_rgb(), false); - VIA("gbr", ViaCSXform, wrapped, rgb_to_gbr(), true); + VIA("adobe", ViaCSXform, wrapped, adobe_rgb()); VIA("lite", ViaLite, wrapped); VIA("pipe", ViaPipe, wrapped); VIA("twice", ViaTwice, wrapped); diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp index 14d5552789..4f5cd43af8 100644 --- a/dm/DMSrcSink.cpp +++ b/dm/DMSrcSink.cpp @@ -1842,41 +1842,13 @@ Error ViaLite::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream, SkStrin /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ -ViaCSXform::ViaCSXform(Sink* sink, sk_sp<SkColorSpace> cs, bool colorSpin) - : Via(sink) - , fCS(std::move(cs)) - , fColorSpin(colorSpin) {} +ViaCSXform::ViaCSXform(Sink* sink, sk_sp<SkColorSpace> cs) : Via(sink), fCS(std::move(cs)) {} Error ViaCSXform::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream, SkString* log) const { return draw_to_canvas(fSink.get(), bitmap, stream, log, src.size(), [&](SkCanvas* canvas) -> Error { auto proxy = SkCreateColorSpaceXformCanvas(canvas, fCS); - Error err = src.draw(proxy.get()); - if (!err.isEmpty()) { - return err; - } - - // Undo the color spin, so we can look at the pixels in Gold. - if (fColorSpin) { - SkBitmap pixels; - pixels.allocPixels(canvas->imageInfo()); - canvas->readPixels(&pixels, 0, 0); - for (int y = 0; y < pixels.height(); y++) { - for (int x = 0; x < pixels.width(); x++) { - uint32_t pixel = *pixels.getAddr32(x, y); - uint8_t r = SkGetPackedR32(pixel); - uint8_t g = SkGetPackedG32(pixel); - uint8_t b = SkGetPackedB32(pixel); - uint8_t a = SkGetPackedA32(pixel); - *pixels.getAddr32(x, y) = - SkSwizzle_RGBA_to_PMColor(b << 0 | r << 8 | g << 16 | a << 24); - } - } - - canvas->writePixels(pixels, 0, 0); - } - - return ""; + return src.draw(proxy.get()); }); } diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h index b6e1b5955c..c973e3b393 100644 --- a/dm/DMSrcSink.h +++ b/dm/DMSrcSink.h @@ -496,11 +496,10 @@ public: class ViaCSXform : public Via { public: - explicit ViaCSXform(Sink*, sk_sp<SkColorSpace>, bool colorSpin); + explicit ViaCSXform(Sink*, sk_sp<SkColorSpace>); Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; private: sk_sp<SkColorSpace> fCS; - bool fColorSpin; }; } // namespace DM diff --git a/gm/imagemasksubset.cpp b/gm/imagemasksubset.cpp index 2d0d12038c..80282787da 100644 --- a/gm/imagemasksubset.cpp +++ b/gm/imagemasksubset.cpp @@ -34,12 +34,7 @@ public: return false; } - SkImageInfo surfaceInfo = info; - if (kAlpha_8_SkColorType == info.colorType()) { - surfaceInfo = surfaceInfo.makeColorSpace(nullptr); - } - - make_mask(SkSurface::MakeRasterDirect(surfaceInfo, pixels, rowBytes)); + make_mask(SkSurface::MakeRasterDirect(info, pixels, rowBytes)); return true; } diff --git a/infra/bots/recipe_modules/sktest/api.py b/infra/bots/recipe_modules/sktest/api.py index d3916019cf..d458183baa 100644 --- a/infra/bots/recipe_modules/sktest/api.py +++ b/infra/bots/recipe_modules/sktest/api.py @@ -50,7 +50,7 @@ def dm_flags(bot): configs.extend(['f16']) configs.extend(['sp-8888', '2ndpic-8888']) # Test niche uses of SkPicture. configs.extend(['lite-8888']) # Experimental display list. - configs.extend(['gbr-8888']) + configs.extend(['srgbnl']) if '-TSAN' not in bot: if ('TegraK1' in bot or @@ -129,10 +129,6 @@ def dm_flags(bot): # of 8888. blacklist('8888 image _ _') - # Not any point to running these. - blacklist('gbr-8888 image _ _') - blacklist('gbr-8888 colorImage _ _') - if 'Valgrind' in bot: # These take 18+ hours to run. blacklist('pdf gm _ fontmgr_iter') diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json index 904da2eaa1..a618500c14 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json @@ -228,7 +228,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -251,14 +251,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN.json index 1b2eda0049..33f2c83ada 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN.json +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN.json @@ -118,7 +118,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -141,14 +141,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN.json index f30ab68e2a..ccc6ea30c7 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN.json +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN.json @@ -118,7 +118,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -141,14 +141,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json index bc225af4a3..64a3497596 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json @@ -226,7 +226,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -249,14 +249,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Shared.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Shared.json index 62e89a39f1..9a234e4d18 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Shared.json +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Shared.json @@ -228,7 +228,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -251,14 +251,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN.json index 88cb4fc875..71b209897b 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN.json +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN.json @@ -118,7 +118,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -141,14 +141,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/failed_dm.json b/infra/bots/recipe_modules/sktest/example.expected/failed_dm.json index d84da51608..dea19a0a9b 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/failed_dm.json +++ b/infra/bots/recipe_modules/sktest/example.expected/failed_dm.json @@ -226,7 +226,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -249,14 +249,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/nobuildbot.json b/infra/bots/recipe_modules/sktest/example.expected/nobuildbot.json index b8f8c0f622..5d166e8bd9 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/nobuildbot.json +++ b/infra/bots/recipe_modules/sktest/example.expected/nobuildbot.json @@ -266,7 +266,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -289,14 +289,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipe_modules/sktest/example.expected/recipe_with_gerrit_patch.json b/infra/bots/recipe_modules/sktest/example.expected/recipe_with_gerrit_patch.json index 64cc6a8b81..b55dcd9104 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/recipe_with_gerrit_patch.json +++ b/infra/bots/recipe_modules/sktest/example.expected/recipe_with_gerrit_patch.json @@ -232,7 +232,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -255,14 +255,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/infra/bots/recipes/swarm_test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json b/infra/bots/recipes/swarm_test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json index 2b18bc67f4..4171ec83c5 100644 --- a/infra/bots/recipes/swarm_test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json +++ b/infra/bots/recipes/swarm_test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json @@ -228,7 +228,7 @@ "sp-8888", "2ndpic-8888", "lite-8888", - "gbr-8888", + "srgbnl", "serialize-8888", "tiles_rt-8888", "pic-8888", @@ -251,14 +251,6 @@ "image", "_", "_", - "gbr-8888", - "image", - "_", - "_", - "gbr-8888", - "colorImage", - "_", - "_", "serialize-8888", "gm", "_", diff --git a/src/core/SkColorSpace.cpp b/src/core/SkColorSpace.cpp index b953ffa53d..8ffff5edf3 100644 --- a/src/core/SkColorSpace.cpp +++ b/src/core/SkColorSpace.cpp @@ -578,10 +578,6 @@ sk_sp<SkColorSpace> SkColorSpace::Deserialize(const void* data, size_t length) { } bool SkColorSpace_Base::EqualsIgnoreFlags(SkColorSpace* src, SkColorSpace* dst) { - if (!src || !dst) { - return src == dst; - } - return SkColorSpace::Equals(as_CSB(src)->makeWithoutFlags().get(), as_CSB(dst)->makeWithoutFlags().get()); } diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index 99b0be161b..2a83eaf0ed 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -8,7 +8,6 @@ #include "SkBitmap.h" #include "SkBitmapCache.h" #include "SkCanvas.h" -#include "SkColorSpace_Base.h" #include "SkCrossContextImageData.h" #include "SkData.h" #include "SkImageEncoder.h" @@ -319,9 +318,7 @@ sk_sp<SkImage> SkImage_Base::makeColorSpace(sk_sp<SkColorSpace> target) const { return nullptr; } - // Be sure to treat nullptr srcs as "equal to" sRGB. - if ((!this->colorSpace() && target->isSRGB()) || - SkColorSpace_Base::EqualsIgnoreFlags(this->colorSpace(), target.get())) { + if (!this->colorSpace() || SkColorSpace::Equals(this->colorSpace(), target.get())) { return sk_ref_sp(const_cast<SkImage_Base*>(this)); } diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp index 10a8c0d7ef..b8d9dea951 100644 --- a/src/image/SkImage_Gpu.cpp +++ b/src/image/SkImage_Gpu.cpp @@ -848,8 +848,7 @@ sk_sp<SkImage> SkImage::MakeTextureFromMipMap(GrContext* ctx, const SkImageInfo& } sk_sp<SkImage> SkImage_Gpu::onMakeColorSpace(sk_sp<SkColorSpace> colorSpace) const { - sk_sp<SkColorSpace> srcSpace = fColorSpace ? fColorSpace : SkColorSpace::MakeSRGB(); - auto xform = GrNonlinearColorSpaceXformEffect::Make(srcSpace.get(), colorSpace.get()); + auto xform = GrNonlinearColorSpaceXformEffect::Make(fColorSpace.get(), colorSpace.get()); if (!xform) { return sk_ref_sp(const_cast<SkImage_Gpu*>(this)); } diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp index be825c64a7..40bb825839 100644 --- a/src/image/SkImage_Raster.cpp +++ b/src/image/SkImage_Raster.cpp @@ -382,11 +382,6 @@ sk_sp<SkImage> SkImage_Raster::onMakeColorSpace(sk_sp<SkColorSpace> target) cons SkPixmap src; SkAssertResult(this->onPeekPixels(&src)); - // Treat nullptr srcs as sRGB. - if (!src.colorSpace()) { - src.setColorSpace(SkColorSpace::MakeSRGB()); - } - SkAssertResult(dst.writePixels(src)); dst.setImmutable(); return SkImage::MakeFromBitmap(dst); |