Chromium Code Reviews| Index: src/gpu/GrDefaultGeoProcFactory.cpp |
| diff --git a/src/gpu/GrDefaultGeoProcFactory.cpp b/src/gpu/GrDefaultGeoProcFactory.cpp |
| index 9f5eb37319299851d17763a114a78efb229f0456..4ceeca94b667ec11a8fb7ddcb0c9d20f22190c7b 100644 |
| --- a/src/gpu/GrDefaultGeoProcFactory.cpp |
| +++ b/src/gpu/GrDefaultGeoProcFactory.cpp |
| @@ -39,6 +39,7 @@ public: |
| const Attribute* inLocalCoords() const { return fInLocalCoords; } |
| const Attribute* inCoverage() const { return fInCoverage; } |
| GrColor color() const { return fColor; } |
| + const SkMatrix& viewMatrix() const { return fViewMatrix; } |
| uint8_t coverage() const { return fCoverage; } |
| void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const override { |
| @@ -121,14 +122,15 @@ public: |
| uint32_t key = def.fFlags; |
| key |= local.fInputColorType << 8 | local.fInputCoverageType << 16; |
| key |= local.fUsesLocalCoords && gp.localMatrix().hasPerspective() ? 0x1 << 24 : 0x0; |
| - key |= ComputePosKey(gp.viewMatrix()) << 25; |
| + key |= ComputePosKey(def.viewMatrix()) << 25; |
| b->add32(key); |
| } |
| virtual void setData(const GrGLProgramDataManager& pdman, |
| const GrPrimitiveProcessor& gp, |
| const GrBatchTracker& bt) override { |
| - this->setUniformViewMatrix(pdman, gp.viewMatrix()); |
| + const DefaultGeoProc& dgp = gp.cast<DefaultGeoProc>(); |
| + this->setUniformViewMatrix(pdman, dgp.viewMatrix()); |
| const BatchTracker& local = bt.cast<BatchTracker>(); |
| if (kUniform_GrGPInput == local.fInputColorType && local.fColor != fColor) { |
| @@ -169,12 +171,13 @@ private: |
| const SkMatrix& viewMatrix, |
| const SkMatrix& localMatrix, |
| uint8_t coverage) |
| - : INHERITED(viewMatrix, localMatrix) |
| + : INHERITED(localMatrix) |
| , fInPosition(NULL) |
| , fInColor(NULL) |
| , fInLocalCoords(NULL) |
| , fInCoverage(NULL) |
| , fColor(color) |
| + , fViewMatrix(viewMatrix) |
| , fCoverage(coverage) |
| , fFlags(gpTypeFlags) { |
| this->initClassID<DefaultGeoProc>(); |
| @@ -209,6 +212,7 @@ private: |
| const Attribute* fInLocalCoords; |
| const Attribute* fInCoverage; |
| GrColor fColor; |
|
robertphillips
2015/05/14 16:35:24
Can this be const?
|
| + SkMatrix fViewMatrix; |
| uint8_t fCoverage; |
| uint32_t fFlags; |