Add GrPaint stage for xfermodes.
Review URL: https://codereview.chromium.org/12918032

git-svn-id: http://skia.googlecode.com/svn/trunk@8425 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrDrawState.h b/src/gpu/GrDrawState.h
index 8b7a36e..002c4ed 100644
--- a/src/gpu/GrDrawState.h
+++ b/src/gpu/GrDrawState.h
@@ -11,6 +11,7 @@
 #include "GrBackendEffectFactory.h"
 #include "GrColor.h"
 #include "GrEffectStage.h"
+#include "GrPaint.h"
 #include "GrRefCnt.h"
 #include "GrRenderTarget.h"
 #include "GrStencil.h"
@@ -22,8 +23,6 @@
 #include "SkMatrix.h"
 #include "SkXfermode.h"
 
-class GrPaint;
-
 /**
  * Type used to describe how attributes bind to program usage
  */
@@ -53,12 +52,13 @@
      * the color / coverage distinction.
      *
      * Stages 0 through GrPaint::kTotalStages-1 are reserved for stages copied from the client's
-     * GrPaint. Stages GrPaint::kTotalStages through kNumStages-2 are earmarked for use by
-     * GrTextContext and GrPathRenderer-derived classes. kNumStages-1 is earmarked for clipping
-     * by GrClipMaskManager.
+     * GrPaint. Stage GrPaint::kTotalStages is earmarked for use by GrTextContext, GrPathRenderer-
+     * derived classes, and the rect/oval helper classes. GrPaint::kTotalStages+1 is earmarked for
+     * clipping by GrClipMaskManager. TODO: replace fixed size array of stages with variable size
+     * arrays of color and coverage stages.
      */
     enum {
-        kNumStages = 5,
+        kNumStages = GrPaint::kTotalStages + 2,
     };
 
     GrDrawState() {