Per-draw super sampling. Disabled, path only, 2x2 only

Review URL: http://codereview.appspot.com/4452048/



git-svn-id: http://skia.googlecode.com/svn/trunk@1186 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/include/GrContext.h b/gpu/include/GrContext.h
index cbe9e12..495eff4 100644
--- a/gpu/include/GrContext.h
+++ b/gpu/include/GrContext.h
@@ -605,6 +605,26 @@
                                     GrPathIter* path,
                                     GrPathFill fill);
 
+    struct OffscreenRecord;
+    // we currently only expose stage 0 through the paint so use stage 1. We
+    // use stage 1 for the offscreen.
+    enum {
+        kOffscreenStage = 1,
+    };
+
+    // sets up target to draw coverage to the supersampled render target
+    bool setupOffscreenAAPass1(GrDrawTarget* target,
+                               bool requireStencil,
+                               OffscreenRecord* record);
+
+    // sets up target to sample coverage of supersampled render target back
+    // to the main render target using stage kOffscreenStage.
+    void setupOffscreenAAPass2(GrDrawTarget* target,
+                               const GrPaint& paint,
+                               OffscreenRecord* record);
+    
+    // cleans up from supersample aa drawing
+    void endOffscreenAA(GrDrawTarget* target, OffscreenRecord* record);
 };
 
 /**