diff options
author | Mike Klein <mtklein@chromium.org> | 2018-05-10 11:29:15 -0400 |
---|---|---|
committer | Mike Klein <mtklein@chromium.org> | 2018-05-10 18:26:22 +0000 |
commit | ce4cf72e3487f661e53f6d0c3416c9b58da4fd00 (patch) | |
tree | 5e8a5b884c787a095ea25ea93070569731e937a1 /src/core/SkColorSpace_XYZ.h | |
parent | 024615e9752d93c842ad3cad597fd65382ddb678 (diff) |
non-linear blending first steps
Code:
- Add a non-linear blending bit and makeNonlinearBlending()
to SkColorSpace
- remove enough F16=linear checks to make it possible to
create surfaces and encode pngs with nonlinear F16
Testing:
- add "esrgb" software config to DM, run it
- add "srgbnl" software config, run it
- deemphasize importance of "srgb" config on bots
- update unit tests to reflect relaxed F16 constraints
- add a new unit test file with _really_ basic tests,
and a new unit test that's not working yet
Bug: skia:7942
Change-Id: I8ac042bdf9f3d791765393b68fd9256375184d83
Reviewed-on: https://skia-review.googlesource.com/127325
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkColorSpace_XYZ.h')
-rw-r--r-- | src/core/SkColorSpace_XYZ.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/SkColorSpace_XYZ.h b/src/core/SkColorSpace_XYZ.h index 2ad2e38b1b..d0984ecd1e 100644 --- a/src/core/SkColorSpace_XYZ.h +++ b/src/core/SkColorSpace_XYZ.h @@ -23,12 +23,14 @@ public: bool onGammaCloseToSRGB() const override; bool onGammaIsLinear() const override; bool onIsNumericalTransferFn(SkColorSpaceTransferFn* coeffs) const override; + bool nonlinearBlending() const override { return fNonlinearBlending; } const SkData* onProfileData() const override { return fProfileData.get(); } sk_sp<SkColorSpace> makeLinearGamma() const override; sk_sp<SkColorSpace> makeSRGBGamma() const override; sk_sp<SkColorSpace> makeColorSpin() const override; + sk_sp<SkColorSpace> makeNonlinearBlending() const override; SkGammaNamed onGammaNamed() const override { return fGammaNamed; } @@ -56,6 +58,8 @@ private: mutable const uint8_t* fToDstGammaTables[3]; mutable SkOnce fToDstGammaOnce; + bool fNonlinearBlending = false; + friend class SkColorSpace; friend class ColorSpaceXformTest; }; |