| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "GrDrawState.h" | 8 #include "GrDrawState.h" |
| 9 | 9 |
| 10 #include "GrBlend.h" | 10 #include "GrBlend.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 this->fStencilSettings != that.fStencilSettings || | 23 this->fStencilSettings != that.fStencilSettings || |
| 24 this->fDrawFace != that.fDrawFace) { | 24 this->fDrawFace != that.fDrawFace) { |
| 25 return false; | 25 return false; |
| 26 } | 26 } |
| 27 | 27 |
| 28 if (!this->getXPFactory()->isEqual(*that.getXPFactory())) { | 28 if (!this->getXPFactory()->isEqual(*that.getXPFactory())) { |
| 29 return false; | 29 return false; |
| 30 } | 30 } |
| 31 | 31 |
| 32 for (int i = 0; i < this->numColorStages(); i++) { | 32 for (int i = 0; i < this->numColorStages(); i++) { |
| 33 if (!GrFragmentStage::AreCompatible(this->getColorStage(i), that.getColo
rStage(i), | 33 if (this->getColorStage(i) != that.getColorStage(i)) { |
| 34 explicitLocalCoords)) { | |
| 35 return false; | 34 return false; |
| 36 } | 35 } |
| 37 } | 36 } |
| 38 for (int i = 0; i < this->numCoverageStages(); i++) { | 37 for (int i = 0; i < this->numCoverageStages(); i++) { |
| 39 if (!GrFragmentStage::AreCompatible(this->getCoverageStage(i), that.getC
overageStage(i), | 38 if (this->getCoverageStage(i) != that.getCoverageStage(i)) { |
| 40 explicitLocalCoords)) { | |
| 41 return false; | 39 return false; |
| 42 } | 40 } |
| 43 } | 41 } |
| 44 | 42 |
| 45 return true; | 43 return true; |
| 46 } | 44 } |
| 47 | 45 |
| 48 //////////////////////////////////////////////////////////////////////////////s | 46 ////////////////////////////////////////////////////////////////////////////// |
| 49 | |
| 50 GrDrawState::GrDrawState(const GrDrawState& state, const SkMatrix& preConcatMatr
ix) { | |
| 51 SkDEBUGCODE(fBlockEffectRemovalCnt = 0;) | |
| 52 *this = state; | |
| 53 if (!preConcatMatrix.isIdentity()) { | |
| 54 for (int i = 0; i < this->numColorStages(); ++i) { | |
| 55 fColorStages[i].localCoordChange(preConcatMatrix); | |
| 56 } | |
| 57 for (int i = 0; i < this->numCoverageStages(); ++i) { | |
| 58 fCoverageStages[i].localCoordChange(preConcatMatrix); | |
| 59 } | |
| 60 } | |
| 61 } | |
| 62 | 47 |
| 63 GrDrawState& GrDrawState::operator=(const GrDrawState& that) { | 48 GrDrawState& GrDrawState::operator=(const GrDrawState& that) { |
| 64 fRenderTarget.reset(SkSafeRef(that.fRenderTarget.get())); | 49 fRenderTarget.reset(SkSafeRef(that.fRenderTarget.get())); |
| 65 fViewMatrix = that.fViewMatrix; | 50 fViewMatrix = that.fViewMatrix; |
| 66 fFlagBits = that.fFlagBits; | 51 fFlagBits = that.fFlagBits; |
| 67 fStencilSettings = that.fStencilSettings; | 52 fStencilSettings = that.fStencilSettings; |
| 68 fDrawFace = that.fDrawFace; | 53 fDrawFace = that.fDrawFace; |
| 69 fXPFactory.reset(SkRef(that.getXPFactory())); | 54 fXPFactory.reset(SkRef(that.getXPFactory())); |
| 70 fColorStages = that.fColorStages; | 55 fColorStages = that.fColorStages; |
| 71 fCoverageStages = that.fCoverageStages; | 56 fCoverageStages = that.fCoverageStages; |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 void GrDrawState::calcCoverageInvariantOutput(GrColor coverage) const { | 241 void GrDrawState::calcCoverageInvariantOutput(GrColor coverage) const { |
| 257 if (!fCoverageProcInfoValid || coverage != fCoverageCache) { | 242 if (!fCoverageProcInfoValid || coverage != fCoverageCache) { |
| 258 GrColorComponentFlags flags = kRGBA_GrColorComponentFlags; | 243 GrColorComponentFlags flags = kRGBA_GrColorComponentFlags; |
| 259 fCoverageProcInfo.calcWithInitialValues(fCoverageStages.begin(), | 244 fCoverageProcInfo.calcWithInitialValues(fCoverageStages.begin(), |
| 260 this->numCoverageStages(), cover
age, flags, | 245 this->numCoverageStages(), cover
age, flags, |
| 261 true); | 246 true); |
| 262 fCoverageProcInfoValid = true; | 247 fCoverageProcInfoValid = true; |
| 263 fCoverageCache = coverage; | 248 fCoverageCache = coverage; |
| 264 } | 249 } |
| 265 } | 250 } |
| OLD | NEW |