diff options
author | msarett <msarett@google.com> | 2016-08-15 08:10:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-15 08:10:44 -0700 |
commit | 200877eecaba782e56a1dd9e13a92f36d7b1ba12 (patch) | |
tree | f63a5343e187612b2f7798bfcbe50f07fe51a446 /src/core/SkColorSpaceXform.h | |
parent | a95d46b4ac8e41c9beb2b750cd389b1c6ebaf0a7 (diff) |
Optimize color xforms when src and dst are matching
Useful when:
(1) Client does not realize src and dst match (calls color
xform anyway).
(2) Client wants half floats, src and dst have matching
gamuts
(3) Client wants premul (done correctly in linear space),
src and dst have matching gamuts.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206403003
Review-Url: https://codereview.chromium.org/2206403003
Diffstat (limited to 'src/core/SkColorSpaceXform.h')
-rw-r--r-- | src/core/SkColorSpaceXform.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/SkColorSpaceXform.h b/src/core/SkColorSpaceXform.h index 91dbf54295..8f1c24cac1 100644 --- a/src/core/SkColorSpaceXform.h +++ b/src/core/SkColorSpaceXform.h @@ -36,7 +36,13 @@ public: virtual ~SkColorSpaceXform() {} }; -template <SkColorSpace::GammaNamed kDst> +enum ColorSpaceMatch { + kNone_ColorSpaceMatch, + kGamut_ColorSpaceMatch, + kFull_ColorSpaceMatch, +}; + +template <SkColorSpace::GammaNamed kDst, ColorSpaceMatch kCSM> class SkColorSpaceXform_Base : public SkColorSpaceXform { public: |