From b109b8c5ec40a7dd85a0a2951a1f98fa63b805aa Mon Sep 17 00:00:00 2001 From: brianosman Date: Thu, 16 Jun 2016 13:03:24 -0700 Subject: Lots of progress on switching to SkColorSpace rather than SkColorProfileType Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002 Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170 Review-Url: https://codereview.chromium.org/2069173002 --- tools/skiaserve/Request.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'tools/skiaserve') diff --git a/tools/skiaserve/Request.cpp b/tools/skiaserve/Request.cpp index c3eaaff387..756f70e24d 100644 --- a/tools/skiaserve/Request.cpp +++ b/tools/skiaserve/Request.cpp @@ -159,14 +159,14 @@ namespace { struct ColorAndProfile { SkColorType fColorType; - SkColorProfileType fProfileType; + bool fSRGB; bool fGammaCorrect; }; ColorAndProfile ColorModes[] = { - { kN32_SkColorType, kLinear_SkColorProfileType, false }, - { kN32_SkColorType, kSRGB_SkColorProfileType, true }, - { kRGBA_F16_SkColorType, kLinear_SkColorProfileType, true }, + { kN32_SkColorType, false, false }, + { kN32_SkColorType, true, true }, + { kRGBA_F16_SkColorType, false, true }, }; } @@ -174,8 +174,9 @@ ColorAndProfile ColorModes[] = { SkSurface* Request::createCPUSurface() { SkIRect bounds = this->getBounds(); ColorAndProfile cap = ColorModes[fColorMode]; + auto srgbColorSpace = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named); SkImageInfo info = SkImageInfo::Make(bounds.width(), bounds.height(), cap.fColorType, - kPremul_SkAlphaType, cap.fProfileType); + kPremul_SkAlphaType, cap.fSRGB ? srgbColorSpace : nullptr); uint32_t flags = cap.fGammaCorrect ? SkSurfaceProps::kGammaCorrect_Flag : 0; SkSurfaceProps props(flags, SkSurfaceProps::kLegacyFontHost_InitType); return SkSurface::MakeRaster(info, &props).release(); @@ -185,8 +186,9 @@ SkSurface* Request::createGPUSurface() { GrContext* context = this->getContext(); SkIRect bounds = this->getBounds(); ColorAndProfile cap = ColorModes[fColorMode]; + auto srgbColorSpace = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named); SkImageInfo info = SkImageInfo::Make(bounds.width(), bounds.height(), cap.fColorType, - kPremul_SkAlphaType, cap.fProfileType); + kPremul_SkAlphaType, cap.fSRGB ? srgbColorSpace : nullptr); uint32_t flags = cap.fGammaCorrect ? SkSurfaceProps::kGammaCorrect_Flag : 0; SkSurfaceProps props(flags, SkSurfaceProps::kLegacyFontHost_InitType); SkSurface* surface = SkSurface::MakeRenderTarget(context, SkBudgeted::kNo, info, 0, -- cgit v1.2.3