aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrColorSpaceXform.h
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-06-14 11:44:02 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-14 17:02:07 +0000
commit653f34da95f3717d048b1961760f09dc28138321 (patch)
tree3140ad390554d377b57015cefe961f6893a1b2e9 /src/gpu/GrColorSpaceXform.h
parent5538c1390649811eb6498eeca53cc1db00877503 (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.h13
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;