[GPU] when paint has patheffect, it should fallback to path render

Comitted on behalf of Guanqun.Lu@gmail.com

THIS MAY CAUSE GM TO GO RED, WILL REBASELINE.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@3487 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/patheffects.cpp b/gm/patheffects.cpp
index c606116..c4cb499 100644
--- a/gm/patheffects.cpp
+++ b/gm/patheffects.cpp
@@ -146,6 +146,16 @@
             canvas->drawPath(path, paint);
             canvas->translate(0, 160);
         }
+
+        SkIRect rect = SkIRect::MakeXYWH(20, 20, 60, 60);
+        for (i = 0; i < SK_ARRAY_COUNT(gPE); i++) {
+            SkPaint p;
+            p.setAntiAlias(true);
+            p.setStyle(SkPaint::kFill_Style);
+            gPE[i](&p);
+            canvas->drawIRect(rect, p);
+            canvas->translate(75, 0);
+        }
     }
 
 private:
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 0ac4ed5..703153b 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -674,8 +674,8 @@
      */
     bool usePath = doStroke && width > 0 &&
                     paint.getStrokeJoin() != SkPaint::kMiter_Join;
-    // another reason we might need to call drawPath...
-    if (paint.getMaskFilter()) {
+    // another two reasons we might need to call drawPath...
+    if (paint.getMaskFilter() || paint.getPathEffect()) {
         usePath = true;
     }
     // until we aa rotated rects...