aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkColorSpaceXform.h
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-08-15 08:10:44 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-15 08:10:44 -0700
commit200877eecaba782e56a1dd9e13a92f36d7b1ba12 (patch)
treef63a5343e187612b2f7798bfcbe50f07fe51a446 /src/core/SkColorSpaceXform.h
parenta95d46b4ac8e41c9beb2b750cd389b1c6ebaf0a7 (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.h8
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: