| Index: tools/skiaserve/Request.cpp
|
| diff --git a/tools/skiaserve/Request.cpp b/tools/skiaserve/Request.cpp
|
| index c3eaaff387a3f90e45b497876372c26f87c05401..756f70e24d97640d53a8139c5ebad3684a8cf705 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,
|
|
|