| Index: src/gpu/effects/GrDistanceFieldGeoProc.cpp
|
| diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
|
| index f6c41cbf1924621a0718a02e1d1ebe5ceade3e7e..3c55a9fb0baa4553c5f3d1591a09e2c09323c64b 100644
|
| --- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp
|
| +++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
|
| @@ -57,12 +57,7 @@ public:
|
|
|
| // Setup pass through color
|
| if (!dfTexEffect.colorIgnored()) {
|
| - if (dfTexEffect.hasVertexColor()) {
|
| - varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
|
| - } else {
|
| - this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor,
|
| - &fColorUniform);
|
| - }
|
| + varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
|
| }
|
|
|
| // Setup position
|
| @@ -174,13 +169,6 @@ public:
|
| GrGLSLGetMatrix<3>(viewMatrix, fViewMatrix);
|
| pdman.setMatrix3f(fViewMatrixUniform, viewMatrix);
|
| }
|
| -
|
| - if (dfa8gp.color() != fColor && !dfa8gp.hasVertexColor()) {
|
| - float c[4];
|
| - GrColorToRGBAFloat(dfa8gp.color(), c);
|
| - pdman.set4fv(fColorUniform, 1, c);
|
| - fColor = dfa8gp.color();
|
| - }
|
| }
|
|
|
| static inline void GenKey(const GrGeometryProcessor& gp,
|
| @@ -188,8 +176,7 @@ public:
|
| GrProcessorKeyBuilder* b) {
|
| const GrDistanceFieldA8TextGeoProc& dfTexEffect = gp.cast<GrDistanceFieldA8TextGeoProc>();
|
| uint32_t key = dfTexEffect.getFlags();
|
| - key |= dfTexEffect.hasVertexColor() << 16;
|
| - key |= dfTexEffect.colorIgnored() << 17;
|
| + key |= dfTexEffect.colorIgnored() << 16;
|
| key |= ComputePosKey(dfTexEffect.viewMatrix()) << 25;
|
| b->add32(key);
|
|
|
| @@ -204,7 +191,6 @@ public:
|
| private:
|
| SkMatrix fViewMatrix;
|
| GrColor fColor;
|
| - UniformHandle fColorUniform;
|
| UniformHandle fViewMatrixUniform;
|
| #ifdef SK_GAMMA_APPLY_TO_A8
|
| float fDistanceAdjust;
|
| @@ -238,9 +224,7 @@ GrDistanceFieldA8TextGeoProc::GrDistanceFieldA8TextGeoProc(GrColor color,
|
| this->initClassID<GrDistanceFieldA8TextGeoProc>();
|
| fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertexAttribType,
|
| kHigh_GrSLPrecision));
|
| - if (flags & kColorAttr_DistanceFieldEffectFlag) {
|
| - fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexAttribType));
|
| - }
|
| + fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexAttribType));
|
| fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
|
| kVec2s_GrVertexAttribType));
|
| this->addTextureAccess(&fTextureAccess);
|
| @@ -313,12 +297,7 @@ public:
|
|
|
| // setup pass through color
|
| if (!dfTexEffect.colorIgnored()) {
|
| - if (dfTexEffect.hasVertexColor()) {
|
| - varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
|
| - } else {
|
| - this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor,
|
| - &fColorUniform);
|
| - }
|
| + varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
|
| }
|
| vertBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoords()->fName);
|
|
|
| @@ -415,13 +394,6 @@ public:
|
| GrGLSLGetMatrix<3>(viewMatrix, fViewMatrix);
|
| pdman.setMatrix3f(fViewMatrixUniform, viewMatrix);
|
| }
|
| -
|
| - if (dfpgp.color() != fColor && !dfpgp.hasVertexColor()) {
|
| - float c[4];
|
| - GrColorToRGBAFloat(dfpgp.color(), c);
|
| - pdman.set4fv(fColorUniform, 1, c);
|
| - fColor = dfpgp.color();
|
| - }
|
| }
|
|
|
| static inline void GenKey(const GrGeometryProcessor& gp,
|
| @@ -431,13 +403,11 @@ public:
|
|
|
| uint32_t key = dfTexEffect.getFlags();
|
| key |= dfTexEffect.colorIgnored() << 16;
|
| - key |= dfTexEffect.hasVertexColor() << 17;
|
| key |= ComputePosKey(dfTexEffect.viewMatrix()) << 25;
|
| b->add32(key);
|
| }
|
|
|
| private:
|
| - UniformHandle fColorUniform;
|
| UniformHandle fTextureSizeUni;
|
| UniformHandle fViewMatrixUniform;
|
| SkMatrix fViewMatrix;
|
| @@ -466,9 +436,7 @@ GrDistanceFieldPathGeoProc::GrDistanceFieldPathGeoProc(
|
| this->initClassID<GrDistanceFieldPathGeoProc>();
|
| fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertexAttribType,
|
| kHigh_GrSLPrecision));
|
| - if (flags & kColorAttr_DistanceFieldEffectFlag) {
|
| - fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexAttribType));
|
| - }
|
| + fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexAttribType));
|
| fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
|
| kVec2f_GrVertexAttribType));
|
| this->addTextureAccess(&fTextureAccess);
|
| @@ -535,12 +503,7 @@ public:
|
|
|
| // setup pass through color
|
| if (!dfTexEffect.colorIgnored()) {
|
| - if (dfTexEffect.hasVertexColor()) {
|
| - varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
|
| - } else {
|
| - this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor,
|
| - &fColorUniform);
|
| - }
|
| + varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
|
| }
|
|
|
| // Setup position
|
| @@ -700,13 +663,6 @@ public:
|
| GrGLSLGetMatrix<3>(viewMatrix, fViewMatrix);
|
| pdman.setMatrix3f(fViewMatrixUniform, viewMatrix);
|
| }
|
| -
|
| - if (dflcd.color() != fColor && !dflcd.hasVertexColor()) {
|
| - float c[4];
|
| - GrColorToRGBAFloat(dflcd.color(), c);
|
| - pdman.set4fv(fColorUniform, 1, c);
|
| - fColor = dflcd.color();
|
| - }
|
| }
|
|
|
| static inline void GenKey(const GrGeometryProcessor& gp,
|
| @@ -755,9 +711,7 @@ GrDistanceFieldLCDTextGeoProc::GrDistanceFieldLCDTextGeoProc(
|
| this->initClassID<GrDistanceFieldLCDTextGeoProc>();
|
| fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertexAttribType,
|
| kHigh_GrSLPrecision));
|
| - if (flags & kColorAttr_DistanceFieldEffectFlag) {
|
| - fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexAttribType));
|
| - }
|
| + fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexAttribType));
|
| fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
|
| kVec2s_GrVertexAttribType));
|
| this->addTextureAccess(&fTextureAccess);
|
|
|