Index: src/gpu/GrDrawState.cpp |
diff --git a/src/gpu/GrDrawState.cpp b/src/gpu/GrDrawState.cpp |
index 4ec39e7005a327d5470fafebfd40c61efa209f6d..db703935ca7105515c5367c4eccc188435db8d8f 100644 |
--- a/src/gpu/GrDrawState.cpp |
+++ b/src/gpu/GrDrawState.cpp |
@@ -14,36 +14,18 @@ |
#include "GrXferProcessor.h" |
#include "effects/GrPorterDuffXferProcessor.h" |
-bool GrDrawState::isEqual(const GrDrawState& that, bool explicitLocalCoords) const { |
- if (this->getRenderTarget() != that.getRenderTarget() || |
- this->fColorStages.count() != that.fColorStages.count() || |
- this->fCoverageStages.count() != that.fCoverageStages.count() || |
- this->fFlagBits != that.fFlagBits || |
- this->fStencilSettings != that.fStencilSettings || |
- this->fDrawFace != that.fDrawFace) { |
- return false; |
- } |
- |
- if (!this->getXPFactory()->isEqual(*that.getXPFactory())) { |
- return false; |
- } |
- |
- for (int i = 0; i < this->numColorStages(); i++) { |
- if (this->getColorStage(i) != that.getColorStage(i)) { |
- return false; |
- } |
- } |
- for (int i = 0; i < this->numCoverageStages(); i++) { |
- if (this->getCoverageStage(i) != that.getCoverageStage(i)) { |
- return false; |
- } |
- } |
- |
- return true; |
+GrDrawState::GrDrawState() |
+ : fFlagBits(0x0) |
+ , fDrawFace(kBoth_DrawFace) |
+ , fColorProcInfoValid(false) |
+ , fCoverageProcInfoValid(false) |
+ , fColorCache(GrColor_ILLEGAL) |
+ , fCoverageCache(GrColor_ILLEGAL) |
+ , fColorPrimProc(NULL) |
+ , fCoveragePrimProc(NULL) { |
+ SkDEBUGCODE(fBlockEffectRemovalCnt = 0;) |
} |
-////////////////////////////////////////////////////////////////////////////// |
- |
GrDrawState& GrDrawState::operator=(const GrDrawState& that) { |
fRenderTarget.reset(SkSafeRef(that.fRenderTarget.get())); |
fFlagBits = that.fFlagBits; |
@@ -68,28 +50,6 @@ GrDrawState& GrDrawState::operator=(const GrDrawState& that) { |
return *this; |
} |
-void GrDrawState::onReset() { |
- SkASSERT(0 == fBlockEffectRemovalCnt || 0 == this->numFragmentStages()); |
- fRenderTarget.reset(NULL); |
- |
- fXPFactory.reset(GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode)); |
- fColorStages.reset(); |
- fCoverageStages.reset(); |
- |
- fFlagBits = 0x0; |
- fStencilSettings.setDisabled(); |
- fDrawFace = kBoth_DrawFace; |
- |
- fColorProcInfoValid = false; |
- fCoverageProcInfoValid = false; |
- |
- fColorCache = GrColor_ILLEGAL; |
- fCoverageCache = GrColor_ILLEGAL; |
- |
- fColorPrimProc = NULL; |
- fCoveragePrimProc = NULL; |
-} |
- |
void GrDrawState::setFromPaint(const GrPaint& paint, GrRenderTarget* rt) { |
SkASSERT(0 == fBlockEffectRemovalCnt || 0 == this->numFragmentStages()); |
@@ -142,13 +102,13 @@ bool GrDrawState::canUseFracCoveragePrimProc(GrColor color, const GrDrawTargetCa |
// TODO we want to cache the result of this call, but we can probably clean up the interface |
// so we don't have to pass in a seemingly known coverage |
this->calcCoverageInvariantOutput(GrColor_WHITE); |
- return fXPFactory->canApplyCoverage(fColorProcInfo, fCoverageProcInfo); |
+ return this->getXPFactory()->canApplyCoverage(fColorProcInfo, fCoverageProcInfo); |
} |
//////////////////////////////////////////////////////////////////////////////s |
bool GrDrawState::willEffectReadDstColor() const { |
- return fXPFactory->willReadDst(); |
+ return this->getXPFactory()->willReadDst(); |
} |
void GrDrawState::AutoRestoreEffects::set(GrDrawState* ds) { |
@@ -179,7 +139,7 @@ void GrDrawState::AutoRestoreEffects::set(GrDrawState* ds) { |
// Some blend modes allow folding a fractional coverage value into the color's alpha channel, while |
// others will blend incorrectly. |
bool GrDrawState::canTweakAlphaForCoverage() const { |
- return fXPFactory->canTweakAlphaForCoverage(); |
+ return this->getXPFactory()->canTweakAlphaForCoverage(); |
} |
//////////////////////////////////////////////////////////////////////////////// |