Fix hairline pathrenderer for Nexus-10. Switches to using additional
geometry and passing in the coverage value instead.

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=10640

Committed: http://code.google.com/p/skia/source/detail?r=10707

R=bsalomon@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/22486003

git-svn-id: http://skia.googlecode.com/svn/trunk@10769 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrAAHairLinePathRenderer.h b/src/gpu/GrAAHairLinePathRenderer.h
index 064fc18..c8a3eae 100644
--- a/src/gpu/GrAAHairLinePathRenderer.h
+++ b/src/gpu/GrAAHairLinePathRenderer.h
@@ -21,7 +21,11 @@
                              const SkStrokeRec& stroke,
                              const GrDrawTarget* target,
                              bool antiAlias) const SK_OVERRIDE;
-
+    
+    typedef SkTArray<SkPoint, true> PtArray;
+    typedef SkTArray<int, true> IntArray;
+    typedef SkTArray<float, true> FloatArray;
+    
 protected:
     virtual bool onDrawPath(const SkPath& path,
                             const SkStrokeRec& stroke,
@@ -33,13 +37,23 @@
                              const GrIndexBuffer* fLinesIndexBuffer,
                              const GrIndexBuffer* fQuadsIndexBuffer);
 
-    bool createGeom(const SkPath& path,
-                    GrDrawTarget* target,
-                    int* lineCnt,
-                    int* quadCnt,
-                    int* conicCnt,
-                    GrDrawTarget::AutoReleaseGeometry* arg,
-                    SkRect* devBounds   );
+    bool createLineGeom(const SkPath& path,
+                        GrDrawTarget* target,
+                        const PtArray& lines,
+                        int lineCnt,
+                        GrDrawTarget::AutoReleaseGeometry* arg,
+                        SkRect* devBounds);
+    
+    bool createBezierGeom(const SkPath& path,
+                          GrDrawTarget* target,
+                          const PtArray& quads,
+                          int quadCnt,
+                          const PtArray& conics,
+                          int conicCnt,
+                          const IntArray& qSubdivs,
+                          const FloatArray& cWeights,
+                          GrDrawTarget::AutoReleaseGeometry* arg,
+                          SkRect* devBounds);
 
     const GrIndexBuffer*        fLinesIndexBuffer;
     const GrIndexBuffer*        fQuadsIndexBuffer;