aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effects')
-rw-r--r--src/gpu/effects/GrBezierEffect.cpp11
-rw-r--r--src/gpu/effects/GrBezierEffect.h2
-rw-r--r--src/gpu/effects/GrBitmapTextGeoProc.cpp33
-rw-r--r--src/gpu/effects/GrBitmapTextGeoProc.h1
-rw-r--r--src/gpu/effects/GrDistanceFieldGeoProc.cpp21
-rw-r--r--src/gpu/effects/GrDistanceFieldGeoProc.h3
-rwxr-xr-xsrc/gpu/effects/GrShadowGeoProc.h1
7 files changed, 22 insertions, 50 deletions
diff --git a/src/gpu/effects/GrBezierEffect.cpp b/src/gpu/effects/GrBezierEffect.cpp
index 8db60acec8..cb0e0c5a0c 100644
--- a/src/gpu/effects/GrBezierEffect.cpp
+++ b/src/gpu/effects/GrBezierEffect.cpp
@@ -84,9 +84,7 @@ void GrGLConicEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) {
GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
// Setup pass through color
- if (!gp.colorIgnored()) {
- this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor, &fColorUniform);
- }
+ this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor, &fColorUniform);
// Setup position
this->setupPosition(vertBuilder,
@@ -222,7 +220,6 @@ void GrGLConicEffect::GenKey(const GrGeometryProcessor& gp,
GrProcessorKeyBuilder* b) {
const GrConicEffect& ce = gp.cast<GrConicEffect>();
uint32_t key = ce.isAntiAliased() ? (ce.isFilled() ? 0x0 : 0x1) : 0x2;
- key |= GrColor_ILLEGAL != ce.color() ? 0x4 : 0x0;
key |= 0xff != ce.coverageScale() ? 0x8 : 0x0;
key |= ce.usesLocalCoords() && ce.localMatrix().hasPerspective() ? 0x10 : 0x0;
key |= ComputePosKey(ce.viewMatrix()) << 5;
@@ -346,9 +343,7 @@ void GrGLQuadEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) {
GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
// Setup pass through color
- if (!gp.colorIgnored()) {
- this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor, &fColorUniform);
- }
+ this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor, &fColorUniform);
// Setup position
this->setupPosition(vertBuilder,
@@ -426,7 +421,6 @@ void GrGLQuadEffect::GenKey(const GrGeometryProcessor& gp,
GrProcessorKeyBuilder* b) {
const GrQuadEffect& ce = gp.cast<GrQuadEffect>();
uint32_t key = ce.isAntiAliased() ? (ce.isFilled() ? 0x0 : 0x1) : 0x2;
- key |= ce.color() != GrColor_ILLEGAL ? 0x4 : 0x0;
key |= ce.coverageScale() != 0xff ? 0x8 : 0x0;
key |= ce.usesLocalCoords() && ce.localMatrix().hasPerspective() ? 0x10 : 0x0;
key |= ComputePosKey(ce.viewMatrix()) << 5;
@@ -656,7 +650,6 @@ void GrGLCubicEffect::GenKey(const GrGeometryProcessor& gp,
GrProcessorKeyBuilder* b) {
const GrCubicEffect& ce = gp.cast<GrCubicEffect>();
uint32_t key = ce.isAntiAliased() ? (ce.isFilled() ? 0x0 : 0x1) : 0x2;
- key |= ce.color() != GrColor_ILLEGAL ? 0x4 : 0x8;
key |= ComputePosKey(ce.viewMatrix()) << 5;
b->add32(key);
}
diff --git a/src/gpu/effects/GrBezierEffect.h b/src/gpu/effects/GrBezierEffect.h
index edb14080d4..824883c9e6 100644
--- a/src/gpu/effects/GrBezierEffect.h
+++ b/src/gpu/effects/GrBezierEffect.h
@@ -100,7 +100,6 @@ public:
inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
GrColor color() const { return fColor; }
- bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
const SkMatrix& viewMatrix() const { return fViewMatrix; }
const SkMatrix& localMatrix() const { return fLocalMatrix; }
bool usesLocalCoords() const { return fUsesLocalCoords; }
@@ -183,7 +182,6 @@ public:
inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
GrColor color() const { return fColor; }
- bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
const SkMatrix& viewMatrix() const { return fViewMatrix; }
const SkMatrix& localMatrix() const { return fLocalMatrix; }
bool usesLocalCoords() const { return fUsesLocalCoords; }
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.cpp b/src/gpu/effects/GrBitmapTextGeoProc.cpp
index 8be4c2951a..3c4566ea7c 100644
--- a/src/gpu/effects/GrBitmapTextGeoProc.cpp
+++ b/src/gpu/effects/GrBitmapTextGeoProc.cpp
@@ -41,13 +41,11 @@ public:
GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
// Setup pass through color
- if (!cte.colorIgnored()) {
- if (cte.hasVertexColor()) {
- varyingHandler->addPassThroughAttribute(cte.inColor(), args.fOutputColor);
- } else {
- this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor,
- &fColorUniform);
- }
+ if (cte.hasVertexColor()) {
+ varyingHandler->addPassThroughAttribute(cte.inColor(), args.fOutputColor);
+ } else {
+ this->setupUniformColor(fragBuilder, uniformHandler, args.fOutputColor,
+ &fColorUniform);
}
// Setup position
@@ -63,15 +61,13 @@ public:
args.fFPCoordTransformHandler);
if (cte.maskFormat() == kARGB_GrMaskFormat) {
- if (!cte.colorIgnored()) {
- fragBuilder->codeAppendf("%s = ", args.fOutputColor);
- fragBuilder->appendTextureLookupAndModulate(args.fOutputColor,
- args.fTexSamplers[0],
- v.fsIn(),
- kVec2f_GrSLType);
- fragBuilder->codeAppend(";");
- fragBuilder->codeAppendf("%s = vec4(1);", args.fOutputCoverage);
- }
+ fragBuilder->codeAppendf("%s = ", args.fOutputColor);
+ fragBuilder->appendTextureLookupAndModulate(args.fOutputColor,
+ args.fTexSamplers[0],
+ v.fsIn(),
+ kVec2f_GrSLType);
+ fragBuilder->codeAppend(";");
+ fragBuilder->codeAppendf("%s = vec4(1);", args.fOutputCoverage);
} else {
fragBuilder->codeAppendf("%s = ", args.fOutputCoverage);
fragBuilder->appendTextureLookup(args.fTexSamplers[0], v.fsIn(), kVec2f_GrSLType);
@@ -102,9 +98,8 @@ public:
GrProcessorKeyBuilder* b) {
const GrBitmapTextGeoProc& gp = proc.cast<GrBitmapTextGeoProc>();
uint32_t key = 0;
- key |= gp.usesLocalCoords() && gp.localMatrix().hasPerspective() ? 0x1 : 0x0;
- key |= gp.colorIgnored() ? 0x2 : 0x0;
- key |= gp.maskFormat() << 3;
+ key |= (gp.usesLocalCoords() && gp.localMatrix().hasPerspective()) ? 0x1 : 0x0;
+ key |= gp.maskFormat() << 1;
b->add32(key);
// Currently we hardcode numbers to convert atlas coordinates to normalized floating point
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.h b/src/gpu/effects/GrBitmapTextGeoProc.h
index bf7f08febd..f15de47cf4 100644
--- a/src/gpu/effects/GrBitmapTextGeoProc.h
+++ b/src/gpu/effects/GrBitmapTextGeoProc.h
@@ -37,7 +37,6 @@ public:
const Attribute* inTextureCoords() const { return fInTextureCoords; }
GrMaskFormat maskFormat() const { return fMaskFormat; }
GrColor color() const { return fColor; }
- bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
bool hasVertexColor() const { return SkToBool(fInColor); }
const SkMatrix& localMatrix() const { return fLocalMatrix; }
bool usesLocalCoords() const { return fUsesLocalCoords; }
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
index 9d90ac9986..ee28760b11 100644
--- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp
+++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
@@ -53,9 +53,7 @@ public:
#endif
// Setup pass through color
- if (!dfTexEffect.colorIgnored()) {
- varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
- }
+ varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
// Setup position
this->setupPosition(vertBuilder,
@@ -201,8 +199,7 @@ public:
GrProcessorKeyBuilder* b) {
const GrDistanceFieldA8TextGeoProc& dfTexEffect = gp.cast<GrDistanceFieldA8TextGeoProc>();
uint32_t key = dfTexEffect.getFlags();
- key |= dfTexEffect.colorIgnored() << 16;
- key |= ComputePosKey(dfTexEffect.viewMatrix()) << 25;
+ key |= ComputePosKey(dfTexEffect.viewMatrix()) << 16;
b->add32(key);
// Currently we hardcode numbers to convert atlas coordinates to normalized floating point
@@ -323,9 +320,7 @@ public:
varyingHandler->addVarying("TextureCoords", &v, kHigh_GrSLPrecision);
// setup pass through color
- if (!dfTexEffect.colorIgnored()) {
- varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
- }
+ varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
vertBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoords()->fName);
// Setup position
@@ -457,8 +452,7 @@ public:
const GrDistanceFieldPathGeoProc& dfTexEffect = gp.cast<GrDistanceFieldPathGeoProc>();
uint32_t key = dfTexEffect.getFlags();
- key |= dfTexEffect.colorIgnored() << 16;
- key |= ComputePosKey(dfTexEffect.viewMatrix()) << 25;
+ key |= ComputePosKey(dfTexEffect.viewMatrix()) << 16;
b->add32(key);
}
@@ -561,9 +555,7 @@ public:
GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
// setup pass through color
- if (!dfTexEffect.colorIgnored()) {
- varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
- }
+ varyingHandler->addPassThroughAttribute(dfTexEffect.inColor(), args.fOutputColor);
// Setup position
this->setupPosition(vertBuilder,
@@ -752,8 +744,7 @@ public:
const GrDistanceFieldLCDTextGeoProc& dfTexEffect = gp.cast<GrDistanceFieldLCDTextGeoProc>();
uint32_t key = dfTexEffect.getFlags();
- key |= dfTexEffect.colorIgnored() << 16;
- key |= ComputePosKey(dfTexEffect.viewMatrix()) << 25;
+ key |= ComputePosKey(dfTexEffect.viewMatrix()) << 16;
b->add32(key);
// Currently we hardcode numbers to convert atlas coordinates to normalized floating point
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.h b/src/gpu/effects/GrDistanceFieldGeoProc.h
index a0bfdd9dde..4355e8dd20 100644
--- a/src/gpu/effects/GrDistanceFieldGeoProc.h
+++ b/src/gpu/effects/GrDistanceFieldGeoProc.h
@@ -74,7 +74,6 @@ public:
const Attribute* inColor() const { return fInColor; }
const Attribute* inTextureCoords() const { return fInTextureCoords; }
GrColor color() const { return fColor; }
- bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
const SkMatrix& viewMatrix() const { return fViewMatrix; }
bool usesLocalCoords() const { return fUsesLocalCoords; }
#ifdef SK_GAMMA_APPLY_TO_A8
@@ -135,7 +134,6 @@ public:
const Attribute* inColor() const { return fInColor; }
const Attribute* inTextureCoords() const { return fInTextureCoords; }
GrColor color() const { return fColor; }
- bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
const SkMatrix& viewMatrix() const { return fViewMatrix; }
uint32_t getFlags() const { return fFlags; }
bool usesLocalCoords() const { return fUsesLocalCoords; }
@@ -204,7 +202,6 @@ public:
const Attribute* inTextureCoords() const { return fInTextureCoords; }
DistanceAdjust getDistanceAdjust() const { return fDistanceAdjust; }
GrColor color() const { return fColor; }
- bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
const SkMatrix& viewMatrix() const { return fViewMatrix; }
uint32_t getFlags() const { return fFlags; }
bool usesLocalCoords() const { return fUsesLocalCoords; }
diff --git a/src/gpu/effects/GrShadowGeoProc.h b/src/gpu/effects/GrShadowGeoProc.h
index dc6872e701..b0631efd9e 100755
--- a/src/gpu/effects/GrShadowGeoProc.h
+++ b/src/gpu/effects/GrShadowGeoProc.h
@@ -31,7 +31,6 @@ public:
const Attribute* inColor() const { return fInColor; }
const Attribute* inShadowParams() const { return fInShadowParams; }
GrColor color() const { return fColor; }
- bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
const SkMatrix& localMatrix() const { return fLocalMatrix; }
void getGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const override;