diff options
author | Brian Osman <brianosman@google.com> | 2018-06-14 11:44:02 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-14 17:02:07 +0000 |
commit | 653f34da95f3717d048b1961760f09dc28138321 (patch) | |
tree | 3140ad390554d377b57015cefe961f6893a1b2e9 /src/gpu/GrColorSpaceXform.h | |
parent | 5538c1390649811eb6498eeca53cc1db00877503 (diff) |
Remove GrPixelConfig argument to GrColorSpaceXform[Effect]::Make
This was for sRGB configs, which are no longer treated special.
Pulling this out of https://skia-review.googlesource.com/c/skia/+/132090
to land separately.
Change-Id: Id04c4e82ad4ffe375cfd384490839b0488e54d44
Reviewed-on: https://skia-review.googlesource.com/134843
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/gpu/GrColorSpaceXform.h')
-rw-r--r-- | src/gpu/GrColorSpaceXform.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/gpu/GrColorSpaceXform.h b/src/gpu/GrColorSpaceXform.h index b3e0587eca..b925fb2b87 100644 --- a/src/gpu/GrColorSpaceXform.h +++ b/src/gpu/GrColorSpaceXform.h @@ -21,10 +21,14 @@ class GrColorSpaceXform : public SkRefCnt { public: GrColorSpaceXform(const SkColorSpaceTransferFn&, const SkMatrix44&, uint32_t); - static sk_sp<GrColorSpaceXform> Make(SkColorSpace* src, GrPixelConfig srcConfig, - SkColorSpace* dst); + static sk_sp<GrColorSpaceXform> Make(SkColorSpace* src, SkColorSpace* dst); static sk_sp<GrColorSpaceXform> MakeGamutXform(SkColorSpace* src, SkColorSpace* dst) { - auto result = Make(src, kUnknown_GrPixelConfig, dst); + sk_sp<SkColorSpace> linearSrc = sk_ref_sp(src); + if (!linearSrc) { + linearSrc = SkColorSpace::MakeSRGBLinear(); + } + linearSrc = linearSrc->makeLinearGamma(); + auto result = Make(linearSrc.get(), dst); SkASSERT(!result || 0 == (result->fFlags & ~kApplyGamutXform_Flag)); return result; } @@ -76,8 +80,7 @@ public: * the color space of the output from src to dst. */ static std::unique_ptr<GrFragmentProcessor> Make(std::unique_ptr<GrFragmentProcessor> child, - SkColorSpace* src, GrPixelConfig srcConfig, - SkColorSpace* dst); + SkColorSpace* src, SkColorSpace* dst); const char* name() const override { return "ColorSpaceXform"; } std::unique_ptr<GrFragmentProcessor> clone() const override; |