Add Loop Blinn hairline conics to GPU

BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10487 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleHairCurves.cpp b/samplecode/SampleHairCurves.cpp
index 183fc10..2cf0b3c 100644
--- a/samplecode/SampleHairCurves.cpp
+++ b/samplecode/SampleHairCurves.cpp
@@ -35,6 +35,7 @@
         canvas->save();
         canvas->scale(1000 * SK_Scalar1, 1000 * SK_Scalar1);
         SkRandom rand;
+        SkRandom randW;
         SkPath curves;
         SkPath hulls;
         SkPath ctrlPts;
@@ -82,6 +83,27 @@
             SkScalar pts[] = {
                 rand.nextUScalar1(), rand.nextUScalar1(),
                 rand.nextUScalar1(), rand.nextUScalar1(),
+                rand.nextUScalar1(), rand.nextUScalar1(),
+            };
+            SkScalar weight = randW.nextUScalar1() * 2.0f;
+
+            curves.moveTo(pts[0], pts[1]);
+            curves.conicTo(pts[2], pts[3],
+                          pts[4], pts[5],
+                          weight);
+
+            hulls.moveTo(pts[0], pts[1]);
+            hulls.lineTo(pts[2], pts[3]);
+            hulls.lineTo(pts[4], pts[5]);
+
+            ctrlPts.addCircle(pts[0], pts[1], SK_Scalar1 / 200);
+            ctrlPts.addCircle(pts[2], pts[3], SK_Scalar1 / 200);
+            ctrlPts.addCircle(pts[4], pts[5], SK_Scalar1 / 200);
+        }
+        for (int i = 0; i < 100; ++i) {
+            SkScalar pts[] = {
+                rand.nextUScalar1(), rand.nextUScalar1(),
+                rand.nextUScalar1(), rand.nextUScalar1(),
             };
             curves.moveTo(pts[0], pts[1]);
             curves.lineTo(pts[2], pts[3]);