Index: src/gpu/GrDrawState.cpp |
diff --git a/src/gpu/GrDrawState.cpp b/src/gpu/GrDrawState.cpp |
index d1d6c5813ef50d8a466de2faefe8c08945277058..ef04c8dd223192fd131f67f8c79be3e21023bd9e 100644 |
--- a/src/gpu/GrDrawState.cpp |
+++ b/src/gpu/GrDrawState.cpp |
@@ -27,17 +27,17 @@ bool GrDrawState::setIdentityViewMatrix() { |
} |
void GrDrawState::setFromPaint(const GrPaint& paint, const SkMatrix& vm, GrRenderTarget* rt) { |
- SkASSERT(0 == fBlockEffectRemovalCnt || 0 == this->numTotalStages()); |
+ SkASSERT(0 == fBlockEffectRemovalCnt || 0 == this->totalStageCount()); |
fColorStages.reset(); |
fCoverageStages.reset(); |
for (int i = 0; i < paint.numColorStages(); ++i) { |
- fColorStages.push_back(paint.getColorStage(i)); |
+ fColorStages.appendStage(paint.getColorStage(i)); |
} |
for (int i = 0; i < paint.numCoverageStages(); ++i) { |
- fCoverageStages.push_back(paint.getCoverageStage(i)); |
+ fCoverageStages.appendStage(paint.getCoverageStage(i)); |
} |
this->setRenderTarget(rt); |
@@ -59,7 +59,6 @@ void GrDrawState::setFromPaint(const GrPaint& paint, const SkMatrix& vm, GrRende |
this->setState(GrDrawState::kHWAntialias_StateBit, paint.isAntiAlias()); |
this->setBlendFunc(paint.getSrcBlendCoeff(), paint.getDstBlendCoeff()); |
- this->setColorFilter(paint.getColorFilterColor(), paint.getColorFilterMode()); |
this->setCoverage(paint.getCoverage()); |
} |
@@ -219,13 +218,6 @@ bool GrDrawState::srcAlphaWillBeOne() const { |
(*effect)->getConstantColorComponents(&color, &validComponentFlags); |
} |
- // Check if the color filter could introduce an alpha. |
- // We could skip the above work when this is true, but it is rare and the right fix is to make |
- // the color filter a GrEffect and implement getConstantColorComponents() for it. |
- if (SkXfermode::kDst_Mode != this->getColorFilterMode()) { |
- validComponentFlags = 0; |
- } |
- |
// Check whether coverage is treated as color. If so we run through the coverage computation. |
if (this->isCoverageDrawing()) { |
GrColor coverageColor = this->getCoverage(); |
@@ -402,9 +394,9 @@ void GrDrawState::AutoViewMatrixRestore::restore() { |
if (NULL != fDrawState) { |
SkDEBUGCODE(--fDrawState->fBlockEffectRemovalCnt;) |
fDrawState->fCommon.fViewMatrix = fViewMatrix; |
- SkASSERT(fDrawState->numColorStages() >= fNumColorStages); |
+ SkASSERT(fDrawState->fColorStages.count() >= fNumColorStages); |
int numCoverageStages = fSavedCoordChanges.count() - fNumColorStages; |
- SkASSERT(fDrawState->numCoverageStages() >= numCoverageStages); |
+ SkASSERT(fDrawState->fCoverageStages.count() >= numCoverageStages); |
int i = 0; |
for (int s = 0; s < fNumColorStages; ++s, ++i) { |
@@ -446,7 +438,7 @@ bool GrDrawState::AutoViewMatrixRestore::setIdentity(GrDrawState* drawState) { |
} |
fViewMatrix = drawState->getViewMatrix(); |
- if (0 == drawState->numTotalStages()) { |
+ if (0 == drawState->totalStageCount()) { |
drawState->fCommon.fViewMatrix.reset(); |
fDrawState = drawState; |
fNumColorStages = 0; |
@@ -467,16 +459,16 @@ bool GrDrawState::AutoViewMatrixRestore::setIdentity(GrDrawState* drawState) { |
} |
void GrDrawState::AutoViewMatrixRestore::doEffectCoordChanges(const SkMatrix& coordChangeMatrix) { |
- fSavedCoordChanges.reset(fDrawState->numTotalStages()); |
+ fSavedCoordChanges.reset(fDrawState->totalStageCount()); |
int i = 0; |
- fNumColorStages = fDrawState->numColorStages(); |
+ fNumColorStages = fDrawState->fColorStages.count(); |
for (int s = 0; s < fNumColorStages; ++s, ++i) { |
fDrawState->fColorStages[s].saveCoordChange(&fSavedCoordChanges[i]); |
fDrawState->fColorStages[s].localCoordChange(coordChangeMatrix); |
} |
- int numCoverageStages = fDrawState->numCoverageStages(); |
+ int numCoverageStages = fDrawState->fCoverageStages.count(); |
for (int s = 0; s < numCoverageStages; ++s, ++i) { |
fDrawState->fCoverageStages[s].saveCoordChange(&fSavedCoordChanges[i]); |
fDrawState->fCoverageStages[s].localCoordChange(coordChangeMatrix); |