Turn on concave analytic AA
authorYuqian Li <liyuqian@google.com>
Tue, 17 Jan 2017 21:15:06 +0000 (16:15 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 18 Jan 2017 15:41:48 +0000 (15:41 +0000)
commit98cf99b3ae4cc956158d1fd843fc8a84059ae132
tree966dc133ce5010a5638bac5e0a67851a5bcf66a1
parentfc50dda7ad5b321a203c023b608ec5a87f98c20e
Turn on concave analytic AA

This will allow Skia trybots to exercise analytic AA. But there's still
a guard flag in Chromium that prevents layout tests failure.

Additionally, we
1. fixed nagative shift problem
2. relax the ASSERT when slope is too large: If slope is large, the accuracy of the slope is limited due
to conversion to SkFDot6 and division. Hence we have to relax the constraint.
3. handle the special case where dx != 0 while slope == 0 because of very large dy and limited precision.

BUG=skia:

Change-Id: Ice70164f3f396f0db3896bedc7b96fbd613078dc
Reviewed-on: https://skia-review.googlesource.com/7120
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
src/core/SkAnalyticEdge.cpp
src/core/SkAnalyticEdge.h
src/core/SkScan.h
src/core/SkScan_AAAPath.cpp