aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-07-18 14:36:43 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-19 21:04:56 +0000
commita76b7a9ded28ea36a00fc1a59d6e9aec5bd4f29c (patch)
tree2c2336a8d578f1eec32ae84fee78a856b7e8332f /tools
parent5191fd7555d34225ef771ad4cac65bcbbb50a89c (diff)
More color space improvements to DM
Added P3 configs (tagged surface and SkColorSpaceXformCanvas) Added logic to tag the output PNGs when using a xform canvas, so the images look correct in Chrome (and work correctly with skdiff). We don't use the gamma_correct tag for much in gold, but only set it for outputs with a linear transfer function. Change-Id: Iee713682e5010b0bd3212538a6dcb201ae4e8592 Reviewed-on: https://skia-review.googlesource.com/142170 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/flags/SkCommonFlagsConfig.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/flags/SkCommonFlagsConfig.cpp b/tools/flags/SkCommonFlagsConfig.cpp
index ffe3502fff..7eacb3fc86 100644
--- a/tools/flags/SkCommonFlagsConfig.cpp
+++ b/tools/flags/SkCommonFlagsConfig.cpp
@@ -55,6 +55,7 @@ static const struct {
{ "gl1010102", "gpu", "api=gl,color=1010102" },
{ "gles1010102", "gpu", "api=gles,color=1010102" },
{ "glsrgb", "gpu", "api=gl,color=srgb" },
+ { "glp3", "gpu", "api=gl,color=p3" },
{ "glesrgb", "gpu", "api=gl,color=esrgb" },
{ "glnarrow", "gpu", "api=gl,color=narrow" },
{ "glenarrow", "gpu", "api=gl,color=enarrow" },
@@ -305,6 +306,10 @@ static bool parse_option_gpu_color(const SkString& value,
} else if (value.equals("srgb")) {
*outColorType = kRGBA_8888_SkColorType;
*outColorSpace = SkColorSpace::MakeSRGB();
+ } else if (value.equals("p3")) {
+ *outColorType = kRGBA_8888_SkColorType;
+ *outColorSpace = SkColorSpace::MakeRGB(SkColorSpace::kSRGB_RenderTargetGamma,
+ SkColorSpace::kDCIP3_D65_Gamut);
} else if (value.equals("esrgb")) {
*outColorType = kRGBA_F16_SkColorType;
*outColorSpace = SkColorSpace::MakeSRGB();