| Index: src/core/SkScan_AAAPath.cpp
|
| diff --git a/src/core/SkScan_AAAPath.cpp b/src/core/SkScan_AAAPath.cpp
|
| index 113ddc400faa42b0b6972ba9b16ac793b6a1e016..1513ce77608e80a1c014722f1717ff59b5705006 100644
|
| --- a/src/core/SkScan_AAAPath.cpp
|
| +++ b/src/core/SkScan_AAAPath.cpp
|
| @@ -952,8 +952,11 @@ static inline void aaa_walk_convex_edges(SkAnalyticEdge* prevHead, AdditiveBlitt
|
| }
|
|
|
| SkFixed local_bot_fixed = SkMin32(leftE->fLowerY, riteE->fLowerY);
|
| - // Skip the fractional y if edges are changing smoothly
|
| - if (isSmoothEnough(leftE, riteE, currE, stop_y)) {
|
| + // Skip the fractional y if edges are changing smoothly.
|
| + // If forceRLE is true, we won't skip the fractional y because it
|
| + // implies that SkAAClip is calling us and there are strict
|
| + // assertions inside SkAAClip.
|
| + if (isSmoothEnough(leftE, riteE, currE, stop_y) && !forceRLE) {
|
| local_bot_fixed = SkFixedCeilToFixed(local_bot_fixed);
|
| }
|
| local_bot_fixed = SkMin32(local_bot_fixed, SkIntToFixed(stop_y + 1));
|
|
|