aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkScan_AAAPath.cpp
Commit message (Collapse)AuthorAge
...
* Catch width overflowGravatar Yuqian Li2016-11-11
| | | | | | | | | | | BUG=chromium:662730 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4628 Change-Id: Iaf3a30d39fda3166a6f8fc62a30580629418dc88 Reviewed-on: https://skia-review.googlesource.com/4628 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Do not call blitV with 0 heightGravatar liyuqian2016-11-09
| | | | | | | | | This is causing SkAAClipBlitter to crash. BUG=chromium:662952 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2485243002 Review-Url: https://codereview.chromium.org/2485243002
* Fix the meaning of stop_yGravatar liyuqian2016-11-09
| | | | | | | | | | | | | | | | | stop_y means that we should stop exactly at stop_y, so the last row should be [stop_y - 1, stop_y], not [stop_y, stop_y + 1]. Somehow this misunderstanding didn't trigger any issue until Chrome exercises SkAAClip with some websites (e.g., http://www.lemonde.fr/elections-americaines/article/2016/11/07/deux-programmes-deux-visions-de-l-amerique_5026444_829254.html). When we blitter the extra row [stop_y, stop_y + 1], the SkAAClip will return nullptr by findRow. Later when that nullptr row is used to findX, the crash happened. BUG=chromium:662925, chromium:662776 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481703004 Review-Url: https://codereview.chromium.org/2481703004
* Do not call blitAntiRect for empty rectGravatar liyuqian2016-11-08
| | | | | | | BUG=chromium:662800 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2490673002 Review-Url: https://codereview.chromium.org/2490673002
* Fix the sum of alpha = 254 instead of 255 by roundingGravatar liyuqian2016-11-05
| | | | | | | | | | | | | | | | This patch is a subpatch from https://codereview.chromium.org/2471133002/ I created this CL mainly for Florin to land before he rebaseline the Chrome layout tests. (Landing the whole patch of 2471133002 would be nice but most people already left for the weekend so I'd rather not take the risk to break the Skia during the weekend.) BUG=skia: TBR=reed@google.com, mtklein@google.com, fmalita@chromium.org GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2483523002 Review-Url: https://codereview.chromium.org/2483523002
* Disable some SkDebugfs for dbg bots debuggingGravatar liyuqian2016-10-31
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2464893002 Review-Url: https://codereview.chromium.org/2464893002
* Prevent overflow by falling back to non-AAGravatar liyuqian2016-10-28
| | | | | | | | | | | | | | | | | | | This piece of code is directly copied from our old supersampling AA code. I didn not preserve this code because it's not triggered by any Skia tests. However, this will be critical to Chromium's tests as some websites will generate huge paths! I'm not so sure whether the long_running_idle_gmail_background_tbmv2 test failed because of this. But I'm sure that www.nationalgeographic.com from page_cycler_v2.typical_25 failed because of this. BUG=chromium:660394 TBR=reed@google.com,caryclark@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2461133002 Review-Url: https://codereview.chromium.org/2461133002
* Do not skip fractional y for SkAAClipGravatar liyuqian2016-10-27
| | | | | | | | | | | This should fix the following bugs: https://bugs.chromium.org/p/chromium/issues/detail?id=659883 https://bugs.chromium.org/p/chromium/issues/detail?id=659972 BUG=chromium:659883,chromium:659972 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2452393002 Review-Url: https://codereview.chromium.org/2452393002
* Fall back from analytic to sampling earlierGravatar liyuqian2016-10-21
| | | | | | | | | | This magically fixes some strange js unit tests in Chrome. Those tests only fail in virtual/gpu which somehow interacts with my cpu rasterizer? BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2439973004 Review-Url: https://chromiumcodereview.appspot.com/2439973004
* Another forgotten forceRLEGravatar liyuqian2016-10-21
| | | | | | | | BUG=skia: TBR=reed@google.com,caryclark@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2438163003 Review-Url: https://chromiumcodereview.appspot.com/2438163003
* Quickly fix the forgotten forceRLEGravatar liyuqian2016-10-20
| | | | | | | | BUG=skia: TBR=reed@google.com,caryclark@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2436593004 Review-Url: https://chromiumcodereview.appspot.com/2436593004
* Use Analytic AA in SkAAClip.Gravatar liyuqian2016-10-20
| | | | | | | | | | | | | This will fix some Chrome ref tests. The main issue here is that the SkAAClip requires: (1) we blit in order, and (2) we must forceRLE. Note that this still depends on the global gSkUseAnalyticAA to turn on the Analytic AA. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2430343003 Review-Url: https://chromiumcodereview.appspot.com/2430343003
* Add AA Analytic Compile Flag (and small fixes)Gravatar liyuqian2016-10-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2410303002 Review-Url: https://codereview.chromium.org/2410303002
* Make global use-analytic-AA bit threadsafe.Gravatar Mike Klein2016-10-04
| | | | | | | | | | | | | | | | I also had to cut it down to just a global atomic bool... as a field in a global singleton accessed through instance(), it's very hard to make threadsafe. CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2937 Change-Id: If80be987906dd521fbe644d1d0d577009f06d0e3 Reviewed-on: https://skia-review.googlesource.com/2937 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Resubmit issue 2221103002 to fix the iOS build by declaring the flag inGravatar liyuqian2016-10-04
| | | | | | | | | | | SkCommonFlags.h TBR=reed@google.com,caryclark@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2393643002 Review-Url: https://codereview.chromium.org/2393643002
* Revert of Analytic AntiAlias for Convex Shapes (patchset #14 id:260001 of ↵Gravatar stephana2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2221103002/ ) Reason for revert: Breaks iOS build. Original issue's description: > Implement AnalyticAA for convex shapes. > > Design doc: go/analyticAA > > A performance test can be found here: https://docs.google.com/a/google.com/spreadsheets/d/1n9LSjFzrQzx0hovFddWey0GSMXNRjl1oFuSypMlHWZk/edit?usp=sharing > > Our best case is filling big triangles, which according to our experiment has ~2.9x speedup. Our worst case is filling small ovals/circles, which has a ~1.06x slowdown. > > To see how our new algorithm changes the DM images, see: https://x20web.corp.google.com/~liyuqian/dmdiff/index.html > The most significant changes are in convexpaths and analytic_antialias_convex > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221103002 > > Committed: https://skia.googlesource.com/skia/+/7795822807478143120c33228b68d2ab3918af2c TBR=reed@google.com,caryclark@google.com,liyuqian@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2388213003
* Implement AnalyticAA for convex shapes.Gravatar liyuqian2016-10-04
Design doc: go/analyticAA A performance test can be found here: https://docs.google.com/a/google.com/spreadsheets/d/1n9LSjFzrQzx0hovFddWey0GSMXNRjl1oFuSypMlHWZk/edit?usp=sharing Our best case is filling big triangles, which according to our experiment has ~2.9x speedup. Our worst case is filling small ovals/circles, which has a ~1.06x slowdown. To see how our new algorithm changes the DM images, see: https://x20web.corp.google.com/~liyuqian/dmdiff/index.html The most significant changes are in convexpaths and analytic_antialias_convex BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221103002 Review-Url: https://codereview.chromium.org/2221103002