diff options
author | brianosman <brianosman@google.com> | 2016-02-29 13:39:09 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-29 13:39:09 -0800 |
commit | eef980270d3385fee340eb1633962fe3ba8b7132 (patch) | |
tree | 5a05ca058744f35b15c32a850f462087447a6176 /src/gpu/SkGr.cpp | |
parent | 683ea9a08d43cc3a3a5ca7f1bc3452823a881f82 (diff) |
Progress on gamma-correctness in the GPU backend. Fixed conversion of color and profile type to pixel config, which makes many things "just work".
Added (color=8888|f16|srgb) option to gpu configurations, along with gpuf16, gpusrgb, and anglesrgb predefined configs. Runs the gpu backend in gamma-correct mode (with either FP16 linear or sRGB 8888 frambuffers).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1746253002
Review URL: https://codereview.chromium.org/1746253002
Diffstat (limited to 'src/gpu/SkGr.cpp')
-rw-r--r-- | src/gpu/SkGr.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index a3848c77e0..4106d494b1 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -370,12 +370,13 @@ GrPixelConfig SkImageInfo2GrPixelConfig(SkColorType ct, SkAlphaType, SkColorProf case kARGB_4444_SkColorType: return kRGBA_4444_GrPixelConfig; case kRGBA_8888_SkColorType: - //if (kSRGB_SkColorProfileType == pt) { - // return kSRGBA_8888_GrPixelConfig; - //} - return kRGBA_8888_GrPixelConfig; + return (kSRGB_SkColorProfileType == pt) + ? kSRGBA_8888_GrPixelConfig + : kRGBA_8888_GrPixelConfig; case kBGRA_8888_SkColorType: - return kBGRA_8888_GrPixelConfig; + return (kSRGB_SkColorProfileType == pt) + ? kSRGBA_8888_GrPixelConfig // Does not preserve byte order! + : kBGRA_8888_GrPixelConfig; case kIndex_8_SkColorType: return kIndex_8_GrPixelConfig; case kGray_8_SkColorType: |