Reenable GrAAHairlinePathRenderer assert w/ fix

https://codereview.chromium.org/24269004/



git-svn-id: http://skia.googlecode.com/svn/trunk@11385 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrAAHairLinePathRenderer.cpp b/src/gpu/GrAAHairLinePathRenderer.cpp
index 76b6a68..b58f6af 100644
--- a/src/gpu/GrAAHairLinePathRenderer.cpp
+++ b/src/gpu/GrAAHairLinePathRenderer.cpp
@@ -738,8 +738,6 @@
 
     const SkMatrix& viewM = drawState->getViewMatrix();
 
-    devBounds->outset(SK_Scalar1, SK_Scalar1);
-
     int vertCnt = kVertsPerLineSeg * lineCnt;
 
     drawState->setVertexAttribs<gHairlineLineAttribs>(SK_ARRAY_COUNT(gHairlineLineAttribs));
@@ -763,9 +761,10 @@
     for (int i = 0; i < lineCnt; ++i) {
         add_line(&lines[2*i], toSrc, drawState->getCoverage(), &verts);
     }
-    // All the verts computed by add_line are within unit distance of the end points. Add a little
-    // extra to account for vector normalization precision.
-    static const SkScalar kOutset = SK_Scalar1 + SK_Scalar1 / 20;
+    // All the verts computed by add_line are within sqrt(1^2 + 0.5^2) of the end points. 
+    static const SkScalar kSqrtOfOneAndAQuarter = SkFloatToScalar(1.118f);
+    // Add a little extra to account for vector normalization precision.
+    static const SkScalar kOutset = kSqrtOfOneAndAQuarter + SK_Scalar1 / 20;
     devBounds->outset(kOutset, kOutset);
 
     return true;
@@ -937,8 +936,8 @@
         GrDrawState* drawState = target->drawState();
 
         // Check devBounds
-//        SkASSERT(check_bounds<LineVertex>(drawState, devBounds, arg.vertices(),
-//                                          kVertsPerLineSeg * lineCnt));
+        SkASSERT(check_bounds<LineVertex>(drawState, devBounds, arg.vertices(),
+                                          kVertsPerLineSeg * lineCnt));
 
         {
             GrDrawState::AutoRestoreEffects are(drawState);