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); |