Turn clear-to-white-then-intersect clips into clear-to-black-then-replace

R=robertphillips@google.com, brian@thesalomons.net

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11786 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrReducedClip.cpp b/src/gpu/GrReducedClip.cpp
index da42e8c..2b6583e 100644
--- a/src/gpu/GrReducedClip.cpp
+++ b/src/gpu/GrReducedClip.cpp
@@ -355,7 +355,13 @@
                     break;
                 case SkRegion::kIntersect_Op:
                     // intersecting with the empty set yields the empty set
-                    skippable = kAllOut_InitialState == *initialState;
+                    if (kAllOut_InitialState == *initialState) {
+                        skippable = true;
+                    } else {
+                        // We can clear to zero and then simply draw the clip element.
+                        *initialState = kAllOut_InitialState;
+                        element->setOp(SkRegion::kReplace_Op);
+                    }
                     break;
                 case SkRegion::kUnion_Op:
                     if (kAllIn_InitialState == *initialState) {