Index: src/gpu/GrRODrawState.h |
diff --git a/src/gpu/GrRODrawState.h b/src/gpu/GrRODrawState.h |
index 54d87bdfc8ca111f16edff88164749c6fd653de0..88392ba35f9efb0360f059e5c52aeff588f16099 100644 |
--- a/src/gpu/GrRODrawState.h |
+++ b/src/gpu/GrRODrawState.h |
@@ -121,8 +121,13 @@ public: |
int numColorStages() const { return fColorStages.count(); } |
int numCoverageStages() const { return fCoverageStages.count(); } |
- int numTotalStages() const { return this->numColorStages() + this->numCoverageStages(); } |
+ int numTotalStages() const { |
+ return this->numColorStages() + this->numCoverageStages() + |
+ (this->hasGeometryProcessor() ? 1 : 0); |
+ } |
+ bool hasGeometryProcessor() const { return NULL != fGeometryProcessor.get(); } |
+ const GrEffectStage* getGeometryProcessor() const { return fGeometryProcessor.get(); } |
const GrEffectStage& getColorStage(int stageIdx) const { return fColorStages[stageIdx]; } |
const GrEffectStage& getCoverageStage(int stageIdx) const { return fCoverageStages[stageIdx]; } |
@@ -358,6 +363,7 @@ protected: |
GrBlendCoeff fDstBlend; |
typedef SkSTArray<4, GrEffectStage> EffectStageArray; |
+ SkAutoTDelete<GrEffectStage> fGeometryProcessor; |
EffectStageArray fColorStages; |
EffectStageArray fCoverageStages; |