aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/textblobmixedsizes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/textblobmixedsizes.cpp')
-rw-r--r--gm/textblobmixedsizes.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/gm/textblobmixedsizes.cpp b/gm/textblobmixedsizes.cpp
index 82a0dbbd2a..6041e521fd 100644
--- a/gm/textblobmixedsizes.cpp
+++ b/gm/textblobmixedsizes.cpp
@@ -103,8 +103,12 @@ protected:
#if SK_SUPPORT_GPU
// Create a new Canvas to enable DFT
GrContext* ctx = inputCanvas->getGrContext();
- SkImageInfo info = SkImageInfo::MakeN32Premul(onISize());
- SkSurfaceProps props(SkSurfaceProps::kUseDeviceIndependentFonts_Flag,
+ SkImageInfo info = SkImageInfo::MakeN32Premul(onISize(),
+ inputCanvas->imageInfo().profileType());
+ SkSurfaceProps canvasProps(SkSurfaceProps::kLegacyFontHost_InitType);
+ uint32_t allowSRGBInputs = inputCanvas->getProps(&canvasProps)
+ ? canvasProps.flags() & SkSurfaceProps::kAllowSRGBInputs_Flag : 0;
+ SkSurfaceProps props(SkSurfaceProps::kUseDeviceIndependentFonts_Flag | allowSRGBInputs,
SkSurfaceProps::kLegacyFontHost_InitType);
surface = SkSurface::MakeRenderTarget(ctx, SkBudgeted::kNo, info, 0, &props);
canvas = surface.get() ? surface->getCanvas() : inputCanvas;