aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/fiddle/fiddle_main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/fiddle/fiddle_main.cpp')
-rw-r--r--tools/fiddle/fiddle_main.cpp19
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);