aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/skiaserve
diff options
context:
space:
mode:
Diffstat (limited to 'tools/skiaserve')
-rw-r--r--tools/skiaserve/Request.cpp14
1 files changed, 8 insertions, 6 deletions
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,