| Index: src/effects/gradients/SkGradientShader.cpp
|
| diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp
|
| index d25873b438502c84bd3a880f84524ed6bff21df0..7999b9c75447cc1761f67007ec31cb741a35ee79 100644
|
| --- a/src/effects/gradients/SkGradientShader.cpp
|
| +++ b/src/effects/gradients/SkGradientShader.cpp
|
| @@ -1217,12 +1217,13 @@ bool GrGradientEffect::onIsEqual(const GrProcessor& processor) const {
|
| return false;
|
| }
|
|
|
| -void GrGradientEffect::getConstantColorComponents(GrColor* color, uint32_t* validFlags) const {
|
| - if (fIsOpaque && (kA_GrColorComponentFlag & *validFlags) && 0xff == GrColorUnpackA(*color)) {
|
| - *validFlags = kA_GrColorComponentFlag;
|
| +void GrGradientEffect::onComputeInvarientOutput(InvarientOutput* invarientOutput) const {
|
| + if (fIsOpaque && invarientOutput->hasOpaqueAlpha()) {
|
| + invarientOutput->validFlags = kA_GrColorComponentFlag;
|
| } else {
|
| - *validFlags = 0;
|
| + invarientOutput->validFlags = 0;
|
| }
|
| + invarientOutput->isSingleComponent = false;
|
| }
|
|
|
| int GrGradientEffect::RandomGradientParams(SkRandom* random,
|
|
|