diff options
Diffstat (limited to 'src/gpu/GrDrawState.h')
-rw-r--r-- | src/gpu/GrDrawState.h | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/gpu/GrDrawState.h b/src/gpu/GrDrawState.h index 6a1e38056b..4869658b4f 100644 --- a/src/gpu/GrDrawState.h +++ b/src/gpu/GrDrawState.h @@ -9,11 +9,12 @@ #define GrDrawState_DEFINED #include "GrBlend.h" -#include "GrOptDrawState.h" #include "GrProgramResource.h" #include "GrRODrawState.h" #include "effects/GrSimpleTextureEffect.h" +class GrOptDrawState; + /** * Modifiable subclass derived from GrRODrawState. The majority of the data that represents a draw * state is stored in the parent class. GrDrawState contains methods for setting, adding to, etc. @@ -47,10 +48,7 @@ public: **/ GrDrawState(const GrDrawState& state, const SkMatrix& preConcatMatrix); - virtual ~GrDrawState() { - SkSafeUnref(fCachedOptState); - SkASSERT(0 == fBlockEffectRemovalCnt); - } + virtual ~GrDrawState(); /** * Resets to the default state. GrEffects will be removed from all stages. @@ -552,17 +550,10 @@ public: GrOptDrawState* createOptState() const; private: - void invalidateOptState() const { - SkSafeSetNull(fCachedOptState); - fBlendOptFlags = kInvalid_BlendOptFlag; - } + void invalidateOptState() const; void onReset(const SkMatrix* initialViewMatrix); - void invalidateBlendOptFlags() { - fBlendOptFlags = kInvalid_BlendOptFlag; - } - // Some of the auto restore objects assume that no effects are removed during their lifetime. // This is used to assert that this condition holds. SkDEBUGCODE(int fBlockEffectRemovalCnt;) |