Index: src/gpu/GrReducedClip.cpp |
diff --git a/src/gpu/GrReducedClip.cpp b/src/gpu/GrReducedClip.cpp |
index 8480e041b8dd24971ebc384f981a8a8165e02f64..6ad9cc6d8b84d1e3632e4bd262709b3b759e3437 100644 |
--- a/src/gpu/GrReducedClip.cpp |
+++ b/src/gpu/GrReducedClip.cpp |
@@ -72,6 +72,8 @@ void ReduceClipStack(const SkClipStack& stack, |
*requiresAA = false; |
} |
} else if (isectRect.intersect(stackBounds, scalarQueryBounds)) { |
+ // If the caller asked for tighter integer bounds we may be able to |
+ // return kAllIn and give the bounds with no elements |
if (NULL != tighterBounds) { |
isectRect.roundOut(tighterBounds); |
SkRect scalarTighterBounds = SkRect::Make(*tighterBounds); |
@@ -83,14 +85,14 @@ void ReduceClipStack(const SkClipStack& stack, |
*initialState = kAllIn_InitialState; |
return; |
} |
- *initialState = kAllOut_InitialState; |
- // iior should only be true if aa/non-aa status matches among all elements. |
- SkClipStack::Iter iter(stack, SkClipStack::Iter::kTop_IterStart); |
- bool doAA = iter.prev()->isAA(); |
- SkNEW_INSERT_AT_LLIST_HEAD(result, Element, (isectRect, SkRegion::kReplace_Op, doAA)); |
- if (NULL != requiresAA) { |
- *requiresAA = doAA; |
- } |
+ } |
+ *initialState = kAllOut_InitialState; |
+ // iior should only be true if aa/non-aa status matches among all elements. |
+ SkClipStack::Iter iter(stack, SkClipStack::Iter::kTop_IterStart); |
+ bool doAA = iter.prev()->isAA(); |
+ SkNEW_INSERT_AT_LLIST_HEAD(result, Element, (isectRect, SkRegion::kReplace_Op, doAA)); |
+ if (NULL != requiresAA) { |
+ *requiresAA = doAA; |
} |
} else { |
*initialState = kAllOut_InitialState; |