| Index: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| diff --git a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| index 7cdb62dc44c516154b24dabacb83c4cddb77172f..d7b03840172164af52a5ed7d1f68f4a47230165b 100644
|
| --- a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| +++ b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| @@ -56,7 +56,6 @@
|
|
|
| // The radial gradient parameters can collapse to a linear (instead of quadratic) equation.
|
| bool isDegenerate() const { return SkScalarAbs(fDiffRadius) == SkScalarAbs(fCenterX1); }
|
| - bool isFlipped() const { return fIsFlipped; }
|
| SkScalar center() const { return fCenterX1; }
|
| SkScalar diffRadius() const { return fDiffRadius; }
|
| SkScalar radius() const { return fRadius0; }
|
| @@ -69,8 +68,7 @@
|
| return (INHERITED::onIsEqual(sBase) &&
|
| this->fCenterX1 == s.fCenterX1 &&
|
| this->fRadius0 == s.fRadius0 &&
|
| - this->fDiffRadius == s.fDiffRadius &&
|
| - this->fIsFlipped == s.fIsFlipped);
|
| + this->fDiffRadius == s.fDiffRadius);
|
| }
|
|
|
| Default2PtConicalEffect(GrContext* ctx,
|
| @@ -80,8 +78,7 @@
|
| : INHERITED(ctx, shader, matrix, tm),
|
| fCenterX1(shader.getCenterX1()),
|
| fRadius0(shader.getStartRadius()),
|
| - fDiffRadius(shader.getDiffRadius()),
|
| - fIsFlipped(shader.isFlippedGrad()) {
|
| + fDiffRadius(shader.getDiffRadius()) {
|
| // We pass the linear part of the quadratic as a varying.
|
| // float b = -2.0 * (fCenterX1 * x + fRadius0 * fDiffRadius * z)
|
| fBTransform = this->getCoordTransform();
|
| @@ -106,7 +103,6 @@
|
| SkScalar fCenterX1;
|
| SkScalar fRadius0;
|
| SkScalar fDiffRadius;
|
| - bool fIsFlipped;
|
|
|
| // @}
|
|
|
| @@ -136,7 +132,6 @@
|
| const char* fFSVaryingName;
|
|
|
| bool fIsDegenerate;
|
| - bool fIsFlipped;
|
|
|
| // @{
|
| /// Values last uploaded as uniforms
|
| @@ -199,7 +194,6 @@
|
|
|
| const Default2PtConicalEffect& data = drawEffect.castEffect<Default2PtConicalEffect>();
|
| fIsDegenerate = data.isDegenerate();
|
| - fIsFlipped = data.isFlipped();
|
| }
|
|
|
| void GLDefault2PtConicalEffect::emitCode(GrGLShaderBuilder* builder,
|
| @@ -287,14 +281,9 @@
|
| // Note: If there are two roots that both generate radius(t) > 0, the
|
| // Canvas spec says to choose the larger t.
|
|
|
| - // so we'll look at the larger one first (or smaller if flipped):
|
| - if (!fIsFlipped) {
|
| - builder->fsCodeAppendf("\t\tfloat %s = max(%s, %s);\n", tName.c_str(),
|
| - r0Name.c_str(), r1Name.c_str());
|
| - } else {
|
| - builder->fsCodeAppendf("\t\tfloat %s = min(%s, %s);\n", tName.c_str(),
|
| - r0Name.c_str(), r1Name.c_str());
|
| - }
|
| + // so we'll look at the larger one first:
|
| + builder->fsCodeAppendf("\t\tfloat %s = max(%s, %s);\n", tName.c_str(),
|
| + r0Name.c_str(), r1Name.c_str());
|
|
|
| // if r(t) > 0, then we're done; t will be our x coordinate
|
| builder->fsCodeAppendf("\t\tif (%s * %s + %s > 0.0) {\n", tName.c_str(),
|
| @@ -305,13 +294,8 @@
|
|
|
| // otherwise, if r(t) for the larger root was <= 0, try the other root
|
| builder->fsCodeAppend("\t\t} else {\n");
|
| - if (!fIsFlipped) {
|
| - builder->fsCodeAppendf("\t\t\t%s = min(%s, %s);\n", tName.c_str(),
|
| - r0Name.c_str(), r1Name.c_str());
|
| - } else {
|
| - builder->fsCodeAppendf("\t\t\t%s = max(%s, %s);\n", tName.c_str(),
|
| - r0Name.c_str(), r1Name.c_str());
|
| - }
|
| + builder->fsCodeAppendf("\t\t\t%s = min(%s, %s);\n", tName.c_str(),
|
| + r0Name.c_str(), r1Name.c_str());
|
|
|
| // if r(t) > 0 for the smaller root, then t will be our x coordinate
|
| builder->fsCodeAppendf("\t\t\tif (%s * %s + %s > 0.0) {\n",
|
| @@ -346,7 +330,6 @@
|
| INHERITED::setData(uman, drawEffect);
|
| const Default2PtConicalEffect& data = drawEffect.castEffect<Default2PtConicalEffect>();
|
| SkASSERT(data.isDegenerate() == fIsDegenerate);
|
| - SkASSERT(data.isFlipped() == fIsFlipped);
|
| SkScalar centerX1 = data.center();
|
| SkScalar radius0 = data.radius();
|
| SkScalar diffRadius = data.diffRadius();
|
| @@ -382,16 +365,12 @@
|
| const GrGLCaps&) {
|
| enum {
|
| kIsDegenerate = 1 << kBaseKeyBitCnt,
|
| - kIsFlipped = 1 << (kBaseKeyBitCnt + 1),
|
| };
|
|
|
| EffectKey key = GenBaseGradientKey(drawEffect);
|
| if (drawEffect.castEffect<Default2PtConicalEffect>().isDegenerate()) {
|
| key |= kIsDegenerate;
|
| }
|
| - if (drawEffect.castEffect<Default2PtConicalEffect>().isFlipped()) {
|
| - key |= kIsFlipped;
|
| - }
|
| return key;
|
| }
|
|
|
|
|