diff options
Diffstat (limited to 'tools/fiddle/fiddle_main.cpp')
-rw-r--r-- | tools/fiddle/fiddle_main.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/tools/fiddle/fiddle_main.cpp b/tools/fiddle/fiddle_main.cpp index 9e39292912..2e3d37b08f 100644 --- a/tools/fiddle/fiddle_main.cpp +++ b/tools/fiddle/fiddle_main.cpp @@ -105,9 +105,19 @@ int main() { } } sk_sp<SkData> rasterData, gpuData, pdfData, skpData; + SkColorType colorType = kN32_SkColorType; + sk_sp<SkColorSpace> colorSpace = nullptr; + if (options.f16) { + SkASSERT(options.srgb); + colorType = kRGBA_F16_SkColorType; + colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); + } else if (options.srgb) { + colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); + } + SkImageInfo info = SkImageInfo::Make(options.size.width(), options.size.height(), colorType, + kPremul_SkAlphaType, colorSpace); if (options.raster) { - auto rasterSurface = - SkSurface::MakeRaster(SkImageInfo::MakeN32Premul(options.size)); + auto rasterSurface = SkSurface::MakeRaster(info); srand(0); draw(rasterSurface->getCanvas()); rasterData.reset(encode_snapshot(rasterSurface)); @@ -117,10 +127,7 @@ int main() { if (!grContext) { fputs("Unable to get GrContext.\n", stderr); } else { - auto surface = SkSurface::MakeRenderTarget( - grContext.get(), - SkBudgeted::kNo, - SkImageInfo::MakeN32Premul(options.size)); + auto surface = SkSurface::MakeRenderTarget(grContext.get(), SkBudgeted::kNo, info); if (!surface) { fputs("Unable to get render surface.\n", stderr); exit(1); |