Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: tools/flags/SkCommonFlagsConfig.cpp

Issue 2389983002: Refactored SkColorSpace and added in a Lab PCS GM (Closed)
Patch Set: Responding to comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/flags/SkCommonFlagsConfig.cpp
diff --git a/tools/flags/SkCommonFlagsConfig.cpp b/tools/flags/SkCommonFlagsConfig.cpp
index 0e911402fb41e08da47e03af0c4d9ee327744d21..26cbc5b8febaa6d095f17bcdf2f05bfc00eed267 100644
--- a/tools/flags/SkCommonFlagsConfig.cpp
+++ b/tools/flags/SkCommonFlagsConfig.cpp
@@ -281,7 +281,9 @@ static bool parse_option_gpu_color(const SkString& value,
}
// First, figure out color gamut that we'll work in (default to sRGB)
- sk_sp<SkColorSpace> colorSpace = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named);
+ const bool linearGamma = commands[0].equals("f16");
+ *outColorSpace = SkColorSpace::NewNamed(linearGamma ? SkColorSpace::kSRGBLinear_Named
+ : SkColorSpace::kSRGB_Named);
if (commands.count() == 2) {
if (commands[1].equals("srgb")) {
// sRGB gamut (which is our default)
@@ -294,8 +296,10 @@ static bool parse_option_gpu_color(const SkString& value,
};
SkMatrix44 wideGamutRGBMatrix(SkMatrix44::kUninitialized_Constructor);
wideGamutRGBMatrix.set3x3RowMajorf(gWideGamutRGB_toXYZD50);
- colorSpace = SkColorSpace::NewRGB(SkColorSpace::kSRGB_RenderTargetGamma,
- wideGamutRGBMatrix);
+ *outColorSpace = SkColorSpace::NewRGB(linearGamma
+ ? SkColorSpace::kLinear_RenderTargetGamma
+ : SkColorSpace::kSRGB_RenderTargetGamma,
+ wideGamutRGBMatrix);
} else {
// Unknown color gamut
return false;
@@ -305,12 +309,10 @@ static bool parse_option_gpu_color(const SkString& value,
// Now pick a color type
if (commands[0].equals("f16")) {
*outColorType = kRGBA_F16_SkColorType;
- *outColorSpace = as_CSB(colorSpace)->makeLinearGamma();
return true;
}
if (commands[0].equals("srgb")) {
*outColorType = kRGBA_8888_SkColorType;
- *outColorSpace = colorSpace;
return true;
}
return false;

Powered by Google App Engine
This is Rietveld 408576698