From e578a95d3ab16544794b94da4e7ae13fc2ce6244 Mon Sep 17 00:00:00 2001 From: joshualitt Date: Thu, 14 May 2015 10:09:13 -0700 Subject: Remove viewmatrix from GrGeometryProcessor base class BUG=skia: Review URL: https://codereview.chromium.org/1127953003 --- src/gpu/effects/GrBezierEffect.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'src/gpu/effects/GrBezierEffect.cpp') diff --git a/src/gpu/effects/GrBezierEffect.cpp b/src/gpu/effects/GrBezierEffect.cpp index 9778dd2758..7948e94643 100644 --- a/src/gpu/effects/GrBezierEffect.cpp +++ b/src/gpu/effects/GrBezierEffect.cpp @@ -34,7 +34,8 @@ public: virtual void setData(const GrGLProgramDataManager& pdman, const GrPrimitiveProcessor& primProc, const GrBatchTracker& bt) override { - this->setUniformViewMatrix(pdman, primProc.viewMatrix()); + const GrConicEffect& ce = primProc.cast(); + this->setUniformViewMatrix(pdman, ce.viewMatrix()); const ConicBatchTracker& local = bt.cast(); if (kUniform_GrGPInput == local.fInputColorType && local.fColor != fColor) { @@ -170,7 +171,7 @@ void GrGLConicEffect::GenKey(const GrGeometryProcessor& gp, key |= kUniform_GrGPInput == local.fInputColorType ? 0x4 : 0x0; key |= 0xff != local.fCoverageScale ? 0x8 : 0x0; key |= local.fUsesLocalCoords && gp.localMatrix().hasPerspective() ? 0x10 : 0x0; - key |= ComputePosKey(gp.viewMatrix()) << 5; + key |= ComputePosKey(ce.viewMatrix()) << 5; b->add32(key); } @@ -191,8 +192,9 @@ GrGLPrimitiveProcessor* GrConicEffect::createGLInstance(const GrBatchTracker& bt GrConicEffect::GrConicEffect(GrColor color, const SkMatrix& viewMatrix, uint8_t coverage, GrPrimitiveEdgeType edgeType, const SkMatrix& localMatrix) - : INHERITED(viewMatrix, localMatrix) + : INHERITED(localMatrix) , fColor(color) + , fViewMatrix(viewMatrix) , fCoverageScale(coverage) , fEdgeType(edgeType) { this->initClassID(); @@ -253,7 +255,8 @@ public: virtual void setData(const GrGLProgramDataManager& pdman, const GrPrimitiveProcessor& primProc, const GrBatchTracker& bt) override { - this->setUniformViewMatrix(pdman, primProc.viewMatrix()); + const GrQuadEffect& qe = primProc.cast(); + this->setUniformViewMatrix(pdman, qe.viewMatrix()); const QuadBatchTracker& local = bt.cast(); if (kUniform_GrGPInput == local.fInputColorType && local.fColor != fColor) { @@ -375,7 +378,7 @@ void GrGLQuadEffect::GenKey(const GrGeometryProcessor& gp, key |= kUniform_GrGPInput == local.fInputColorType ? 0x4 : 0x0; key |= 0xff != local.fCoverageScale ? 0x8 : 0x0; key |= local.fUsesLocalCoords && gp.localMatrix().hasPerspective() ? 0x10 : 0x0; - key |= ComputePosKey(gp.viewMatrix()) << 5; + key |= ComputePosKey(ce.viewMatrix()) << 5; b->add32(key); } @@ -396,8 +399,9 @@ GrGLPrimitiveProcessor* GrQuadEffect::createGLInstance(const GrBatchTracker& bt, GrQuadEffect::GrQuadEffect(GrColor color, const SkMatrix& viewMatrix, uint8_t coverage, GrPrimitiveEdgeType edgeType, const SkMatrix& localMatrix) - : INHERITED(viewMatrix, localMatrix) + : INHERITED(localMatrix) , fColor(color) + , fViewMatrix(viewMatrix) , fCoverageScale(coverage) , fEdgeType(edgeType) { this->initClassID(); @@ -458,7 +462,8 @@ public: virtual void setData(const GrGLProgramDataManager& pdman, const GrPrimitiveProcessor& primProc, const GrBatchTracker& bt) override { - this->setUniformViewMatrix(pdman, primProc.viewMatrix()); + const GrCubicEffect& ce = primProc.cast(); + this->setUniformViewMatrix(pdman, ce.viewMatrix()); const CubicBatchTracker& local = bt.cast(); if (kUniform_GrGPInput == local.fInputColorType && local.fColor != fColor) { @@ -603,7 +608,7 @@ void GrGLCubicEffect::GenKey(const GrGeometryProcessor& gp, uint32_t key = ce.isAntiAliased() ? (ce.isFilled() ? 0x0 : 0x1) : 0x2; key |= kUniform_GrGPInput == local.fInputColorType ? 0x4 : 0x8; key |= local.fUsesLocalCoords && gp.localMatrix().hasPerspective() ? 0x10 : 0x0; - key |= ComputePosKey(gp.viewMatrix()) << 5; + key |= ComputePosKey(ce.viewMatrix()) << 5; b->add32(key); } @@ -624,8 +629,8 @@ GrGLPrimitiveProcessor* GrCubicEffect::createGLInstance(const GrBatchTracker& bt GrCubicEffect::GrCubicEffect(GrColor color, const SkMatrix& viewMatrix, GrPrimitiveEdgeType edgeType) - : INHERITED(viewMatrix) - , fColor(color) + : fColor(color) + , fViewMatrix(viewMatrix) , fEdgeType(edgeType) { this->initClassID(); fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertexAttribType)); -- cgit v1.2.3