round and bevel hairline rects show the same as miter hairline rects

So round and bevel hairline rects can generate the vertices and indices the same as miter rects do. The original code behaves the same as bevel rects for round and bevel hairline rects.

This small CL can save (vertices and indices) buffer memory as well as improve performance (draw less triangles).

gm cases show no difference after this CL is applied.

BUG=skia:
R=robertphillips@google.com

Author: yunchao.he@intel.com

Review URL: https://codereview.chromium.org/417113002
diff --git a/src/gpu/GrAARectRenderer.cpp b/src/gpu/GrAARectRenderer.cpp
index 59e9b6f..0cea0dd 100644
--- a/src/gpu/GrAARectRenderer.cpp
+++ b/src/gpu/GrAARectRenderer.cpp
@@ -759,8 +759,10 @@
     devOutside.outset(rx, ry);
 
     bool miterStroke = true;
+    // For hairlines, make bevel and round joins appear the same as mitered ones.
     // small miter limit means right angles show bevel...
-    if (stroke.getJoin() != SkPaint::kMiter_Join || stroke.getMiter() < SK_ScalarSqrt2) {
+    if ((width > 0) && (stroke.getJoin() != SkPaint::kMiter_Join ||
+                        stroke.getMiter() < SK_ScalarSqrt2)) {
         miterStroke = false;
     }