| Index: src/effects/gradients/SkLinearGradient.cpp
|
| diff --git a/src/effects/gradients/SkLinearGradient.cpp b/src/effects/gradients/SkLinearGradient.cpp
|
| index a93235d31aace6a5d51502f06b6b057a6acd2a49..4bf5e3cc207d14b6363be495f3dda90784675c87 100644
|
| --- a/src/effects/gradients/SkLinearGradient.cpp
|
| +++ b/src/effects/gradients/SkLinearGradient.cpp
|
| @@ -341,6 +341,7 @@ SkShader::GradientType SkLinearGradient::asAGradient(GradientInfo* info) const {
|
|
|
| #if SK_SUPPORT_GPU
|
|
|
| +#include "GrColorSpaceXform.h"
|
| #include "glsl/GrGLSLCaps.h"
|
| #include "glsl/GrGLSLFragmentShaderBuilder.h"
|
| #include "SkGr.h"
|
| @@ -461,8 +462,11 @@ sk_sp<GrFragmentProcessor> SkLinearGradient::asFragmentProcessor(const AsFPArgs&
|
| }
|
| matrix.postConcat(fPtsToUnit);
|
|
|
| + sk_sp<GrColorSpaceXform> colorSpaceXform = GrColorSpaceXform::Make(fColorSpace.get(),
|
| + args.fDstColorSpace);
|
| sk_sp<GrFragmentProcessor> inner(GrLinearGradient::Make(
|
| - GrGradientEffect::CreateArgs(args.fContext, this, &matrix, fTileMode)));
|
| + GrGradientEffect::CreateArgs(args.fContext, this, &matrix, fTileMode,
|
| + std::move(colorSpaceXform), SkToBool(args.fDstColorSpace))));
|
| return GrFragmentProcessor::MulOutputByInputAlpha(std::move(inner));
|
| }
|
|
|
|
|