ca50b874039e326858e38bc67457369532a9c4dd |
|
12-Jun-2017 |
Yuqian Li <liyuqian@google.com> |
Combine duplicate code in preparing clipRgn for fill_path Bug: skia: Change-Id: I52ed98491457aa426e2bb74a29131f4a20330017 Reviewed-on: https://skia-review.googlesource.com/19341 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
1c8408847cc626a34fc885b1c6313533d030e192 |
|
26-May-2017 |
Yuqian Li <liyuqian@google.com> |
Explicitly check edge count >= 2 in non-debug build We also preserve the check in debug mode that the count should never be 1 when the path is convex. Bug: skia:6684 Change-Id: I4d4c9ad9f9d704e94bbe51f10a96f8b3066afaa1 Reviewed-on: https://skia-review.googlesource.com/17983 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
d3b65972aad96453ff4510caa3e25a2b847c6d1e |
|
22-Mar-2017 |
Brian Salomon <bsalomon@google.com> |
Mark overridden destructors with 'override' and remove 'virtual' This silences a new warning in clang 5.0 Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8 Reviewed-on: https://skia-review.googlesource.com/10006 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/core/SkScan_AAAPath.cpp
|
a33b43d796f03e2f4b5abd8060272f4f775d7390 |
|
17-Mar-2017 |
Yuqian Li <liyuqian@google.com> |
Combine some duplicate code in AA using template BUG=skia: Change-Id: Id048425e8199167feba0268f89f526bbf5b7242b Reviewed-on: https://skia-review.googlesource.com/9832 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
8de05ffcb26c757a6169e217ef46105286811dd9 |
|
06-Mar-2017 |
Yuqian Li <liyuqian@google.com> |
Remove SK_SUPPORT_LEGACY_AAA flag as chromium now turns it off BUG=skia: Change-Id: I3b385b8aeab08f402f4471637bf641cd456c8c56 Reviewed-on: https://skia-review.googlesource.com/9327 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
6987b00fae08ef0731042bb341b4e002a2da72c2 |
|
19-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Fix performance issue and compute intersections more often. (This CL also turned on Analytic AA for concave paths by removing SK_SUPPORT_LEGACY_AAA flag.) Performance: The SK_ALWAYS_INLINE was restored because it could bring 30%-50% speedup in certain convex cases (e.g., fill_big_triangle). We also have to reduce the number of branchings in the concave code path to enable such speedup. (Although the speedup is for convex cases. The assembly code is so strange...) Intersection: Previously, the criterion is too loose and that caused some bad pixels (mostly unnoticeable by human eyes without magnifying). For example, pixel (198, 222) of https://gold.skia.org/detail?test=parsedpaths&digest=979e81de6f7b3f9e7e8dc810e31cad8d BUG=skia: Change-Id: I5e8191865c3df625f895cd4588c67c283fcbeaec Reviewed-on: https://skia-review.googlesource.com/7318 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
98cf99b3ae4cc956158d1fd843fc8a84059ae132 |
|
17-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
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>
/external/skia/src/core/SkScan_AAAPath.cpp
|
550148ba572acc75e73d3c7d600ea7fa43db55f2 |
|
13-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Reland https://skia-review.googlesource.com/c/6091/ The only difference is that we now also put the guard flag SK_SUPPORT_LEGACY_AAA in SkUserConfig.h. Previously, SkAnalyticEdge.cpp doesn't get that flag from SkScan.h and that caused many problems. BUG=skia: TBR=reed@google.com,caryclark@google.com Change-Id: I134bb76cebd6fffa712f438076668765321bba3b Reviewed-on: https://skia-review.googlesource.com/6992 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
aeef5610d7a3fe4a53fc27b20486da79bf7a949a |
|
13-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Revert "Reland https://skia-review.googlesource.com/c/6091/" This reverts commit b46fff60bc82fe6f0c64b2241d854a121f7cb5f9. Reason for revert: possible chromium cc unit tests failure Change-Id: Ie174c55e4d0fc3ae45854b5897ba26b7ad5a9c13 Reviewed-on: https://skia-review.googlesource.com/6981 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
b46fff60bc82fe6f0c64b2241d854a121f7cb5f9 |
|
12-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Reland https://skia-review.googlesource.com/c/6091/ The only difference is that we now put the guard flag SK_SUPPORT_LEGACY_AAA in SkUserConfig.h instead of SkScan.h. Previously, SkAnalyticEdge.cpp doesn't get that flag from SkScan.h and that caused many problems. BUG=skia: TBR=reed@google.com,caryclark@google.com Change-Id: I7b89d3cb64ad71715101d2a5e8e77be3a8a6fa16 Reviewed-on: https://skia-review.googlesource.com/6972 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
90ee03b0d1778f37448dfd82d1f5cfbbec9f798f |
|
12-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Revert "Implement Analytic AA for General Paths (with Guard against Chrome)" This reverts commit 89a0e72287e991cfa2f860f92fad545ca59defe1. Reason for revert: <INSERT REASONING HERE> Original change's description: > Implement Analytic AA for General Paths (with Guard against Chrome) > > I've set up a SK_SUPPORT_LEGACY_AAA flag to guard against Chromium layout tests. I also set that flag in this CL so theoretically this CL won't trigger any GM changes. I'll use this to verify my guard, and remove that flag and actually enables concave AAA in a future CL. > > When enabled, for most simple concave paths (e.g., rectangle stroke, rrect stroke, sawtooth, stars...), the Analytic AA achieves 1.3x-2x speedup, and they look much prettier. And they probably are the majority in our use cases by number. But they probably are not the majority by time cost; a single complicated path may cost 10x-100x more time to render than a rectangle stroke... For those complicated paths, we fall back to supersampling by default as we're likely to be 1.1-1.2x slower and the quality improvement is not visually significant. However, one can use gSkForceAnalyticAA to disable that fallback. > > BUG=skia: > > Change-Id: If9549a3acc4a187cfaf7eb51890c148da3083d31 > Reviewed-on: https://skia-review.googlesource.com/6091 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> > TBR=caryclark@google.com,liyuqian@google.com,reed@google.com BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I13c05aaa1bcb14956bd0fe01bb404e41be75af22 Reviewed-on: https://skia-review.googlesource.com/6961 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
89a0e72287e991cfa2f860f92fad545ca59defe1 |
|
11-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Implement Analytic AA for General Paths (with Guard against Chrome) I've set up a SK_SUPPORT_LEGACY_AAA flag to guard against Chromium layout tests. I also set that flag in this CL so theoretically this CL won't trigger any GM changes. I'll use this to verify my guard, and remove that flag and actually enables concave AAA in a future CL. When enabled, for most simple concave paths (e.g., rectangle stroke, rrect stroke, sawtooth, stars...), the Analytic AA achieves 1.3x-2x speedup, and they look much prettier. And they probably are the majority in our use cases by number. But they probably are not the majority by time cost; a single complicated path may cost 10x-100x more time to render than a rectangle stroke... For those complicated paths, we fall back to supersampling by default as we're likely to be 1.1-1.2x slower and the quality improvement is not visually significant. However, one can use gSkForceAnalyticAA to disable that fallback. BUG=skia: Change-Id: If9549a3acc4a187cfaf7eb51890c148da3083d31 Reviewed-on: https://skia-review.googlesource.com/6091 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
95e3c058ef633782f7549e9e1c2727d60dbc8ee5 |
|
11-Jan-2017 |
Hal Canary <halcanary@google.com> |
SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" Revert "Revert 'SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h'" This reverts commit c456b73fef9589bbdc5eb83eaa83e53c357bb3da. Change-Id: Ie2c1a17c20134b8ceab85a68b3ae3e61c24fbaab Reviewed-on: https://skia-review.googlesource.com/6886 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
c456b73fef9589bbdc5eb83eaa83e53c357bb3da |
|
11-Jan-2017 |
Kevin Lubick <kjlubick@google.com> |
Revert "SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h" This reverts commit a5494f117086d712855e4b6289c58c92d1549bcf. Reason for revert: Broke Google3 Original change's description: > SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h > > * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). > > * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h > > * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" > > Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88 > Reviewed-on: https://skia-review.googlesource.com/4543 > Reviewed-by: Ben Wagner <bungeman@google.com> > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> > TBR=halcanary@google.com,bungeman@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ie8bd176121c3ee83c110d66c0d0ac65e09bfc9c5 Reviewed-on: https://skia-review.googlesource.com/6884 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
a5494f117086d712855e4b6289c58c92d1549bcf |
|
10-Jan-2017 |
Hal Canary <halcanary@google.com> |
SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88 Reviewed-on: https://skia-review.googlesource.com/4543 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
dba05384e1a21015b7df72d1006ee7054b1906f7 |
|
02-Dec-2016 |
Yuqian Li <liyuqian@google.com> |
Remove SK_ANALYTIC_AA_GUARD flag BUG=skia: Change-Id: I4e10ba7afc76ed41c6c41275f9b6a5dde3a2a4be Reviewed-on: https://skia-review.googlesource.com/5502 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
db13a093bec6ac1c06bb7c2ec1bde99c42130280 |
|
29-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Use AdditiveBlitter for partial rows Previously, we forgot to use AdditiveBlitter in two places where partial rows are blitterred. That causes SkAAClip to complain as in skia:6003. BUG=skia:6003 Change-Id: I4f4a896072448bdb3f287a2eb61cb64b1256ea78 Reviewed-on: https://skia-review.googlesource.com/5273 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
4eb35bb7d72d0e87f1546e822909929e1eef12bb |
|
17-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Use SkFixedMul instead of SkFixedMul_lowprec It seems that SkFixedMul_lowprec doesn't have too much performance gain (maybe 1%). But its precision loss is siginificant. No serious issues have been found in convex cases, but things get much trickier for concave shapes. I'm removing it now to improve the stability and reliability of our algorithm, which may potentially benefit our Chrome landing. (Even if we do not remove SkFixedMul_lowprec now, we eventually will remove it when we land concave AAA code.) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4926 Change-Id: Iae5739a3780bb77ce6237888eee51a502fea5cf2 Reviewed-on: https://skia-review.googlesource.com/4926 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
d930752957aaa26077870ebc7fb1c05307f4c27e |
|
16-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Turn off all SkDebugfs in SkScan_AAAPath.cpp TBR=mtklein@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4912 Change-Id: Ia69f2932936e34bc487c9c468bba176de0b2b0df Reviewed-on: https://skia-review.googlesource.com/4912 Reviewed-by: Yuqian Li <liyuqian@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/core/SkScan_AAAPath.cpp
|
8de17f75982efe643c0f34afa685b99c05a5f9d7 |
|
16-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
No SkDebugf for approximate intersection TBR=mtklein@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4911 Change-Id: I23bc298186f93c1a97a15d00b34f65cd72f964e7 Reviewed-on: https://skia-review.googlesource.com/4911 Reviewed-by: Yuqian Li <liyuqian@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/core/SkScan_AAAPath.cpp
|
20079a94e82fd7345dfb119a8777e5ba482a041c |
|
16-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Fix mask overflow caused by edge drift BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4797 Change-Id: Ica1568b67c1e1ce4aae2bdaba2c5b1f2155d1382 Reviewed-on: https://skia-review.googlesource.com/4797 Reviewed-by: Cary Clark <caryclark@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
721625b25e3e99d23b7765c75ba0b2ae5a351f7e |
|
16-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Drop forceRLE to simplify aaa_walk_convex_edges The virtual flush function doesn't seem to affect the performance much. Maybe there's a 1% drop in performance in nanobench against fill_big_triangle and fill_big_circle, but that's too small a change for nanobench to reliabily diffrentiate. The smooth jump (ignore fractional y if edges don't change their directions significantly) no longer needs to be guarded against SkAAClip because our recent CL (https://skia-review.googlesource.com/c/4636/) make left/rightBound much tighter. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4899 Change-Id: If323013b810cc1ff5f6dbb868a8981354ee6f9b5 Reviewed-on: https://skia-review.googlesource.com/4899 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com> Commit-Queue: Stan Iliev <stani@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
e4b8b5283f45cff6a490ee73677f75b641c22bd1 |
|
16-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Simplify the signature of sk/aaa_fill_path Previously, the clipRect is either equal to nullptr or clipRgn's bound (after necessary supersampling shift). Hence we drop one of them to make the signature simpler. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4874 Change-Id: Ied8d5313809d6cf90374365b01f2b8d52f2236e2 Reviewed-on: https://skia-review.googlesource.com/4874 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
06196411cb3e06bd041b7ec12e69d0a7a790d5b7 |
|
14-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Catch width overflow in ASAN using int64 This is related with our previous CL: https://skia-review.googlesource.com/c/4628/ That previous CL fix won't pass the ASAN test (../../../include/core/SkRect.h:72:39: runtime error: signed integer overflow: 1 - -2147483648 cannot be represented in type 'int') so we use int64 in this CL. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4785 Change-Id: I39f7329c427d49f4be07588f37120722ac9892c2 Reviewed-on: https://skia-review.googlesource.com/4785 Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/core/SkScan_AAAPath.cpp
|
bfebe22ed54d1e3a00888292f10ed8b9714135d3 |
|
14-Nov-2016 |
liyuqian <liyuqian@google.com> |
Set analytic AA as default. We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using analytic AA until we fix all the Chrome tests. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002 Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8 Review-Url: https://codereview.chromium.org/2471133002
/external/skia/src/core/SkScan_AAAPath.cpp
|
06dd5c77a6ca6c484c683f1006a7bb6742f8917e |
|
11-Nov-2016 |
liyuqian <liyuqian@google.com> |
Revert of Set analytic AA as default. (patchset #8 id:140001 of https://codereview.chromium.org/2471133002/ ) Reason for revert: SkASSERT triggered in some perf tests. Roll back. Original issue's description: > Set analytic AA as default. > > We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using > analytic AA until we fix all the Chrome tests. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002 > > Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8 TBR=fmalita@chromium.org,msarett@google.com,mtklein@google.com,reed@google.com,mtklein@chromium.org # 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/2499723002
/external/skia/src/core/SkScan_AAAPath.cpp
|
dca4f6530013cf43a2557ccb07f5cb4fd916b8e8 |
|
11-Nov-2016 |
liyuqian <liyuqian@google.com> |
Set analytic AA as default. We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using analytic AA until we fix all the Chrome tests. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002 Review-Url: https://codereview.chromium.org/2471133002
/external/skia/src/core/SkScan_AAAPath.cpp
|
041da389dd923689041ba5e45cda34901ba4fe8a |
|
11-Nov-2016 |
liyuqian <liyuqian@google.com> |
Tighten SkAAClip Bounds by Path Bounds This bug chromium:662780 exists after our original fix (https://codereview.chromium.org/2477393002/) because this path (added in unit test) is calling blitAntiRect rather than blitAntiH when the path is drifted across the boundary. (The quadratic edge drifts across the boundary after an update and sets a dX=0 line segment which triggers blitAntiRect.) Note that I didn't assert for the dLeft = dRite = 0 case because the left/right there won't drift after the SkTMin/SkTMax in line 964/966. Theoretically we can revert the relaxation in https://codereview.chromium.org/2477393002/ (that's only a relaxation for analytic AA, not supersampled AA). However, consider that the initial landing of analytic AA is so painful, I decide to revert that relaxation only after our successful landing... BUG=chromium:662780, chromium:662862 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482193004 Review-Url: https://codereview.chromium.org/2482193004
/external/skia/src/core/SkScan_AAAPath.cpp
|
c4f66af20e3a58a09554eb3db2bf45c6291fe3a8 |
|
11-Nov-2016 |
Yuqian Li <liyuqian@google.com> |
Catch width overflow 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>
/external/skia/src/core/SkScan_AAAPath.cpp
|
c78eff97549e8e346394d3e228395ceb8a467b35 |
|
09-Nov-2016 |
liyuqian <liyuqian@google.com> |
Do not call blitV with 0 height 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
3ce89dad5bc324dad9c4b77393e16f3bcb7396a7 |
|
09-Nov-2016 |
liyuqian <liyuqian@google.com> |
Fix the meaning of stop_y 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
f6bddfd33daeade5418a2ccb36b7945fac703f40 |
|
08-Nov-2016 |
liyuqian <liyuqian@google.com> |
Do not call blitAntiRect for empty rect BUG=chromium:662800 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2490673002 Review-Url: https://codereview.chromium.org/2490673002
/external/skia/src/core/SkScan_AAAPath.cpp
|
525e13c1d318b067e679d7ca540fc1436c38385b |
|
05-Nov-2016 |
liyuqian <liyuqian@google.com> |
Fix the sum of alpha = 254 instead of 255 by rounding 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
5de9afc8526fe266cee4f32e1cdf652622fa1e3d |
|
31-Oct-2016 |
liyuqian <liyuqian@google.com> |
Disable some SkDebugfs for dbg bots debugging BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2464893002 Review-Url: https://codereview.chromium.org/2464893002
/external/skia/src/core/SkScan_AAAPath.cpp
|
a3316adf63ca168c9125df965cfa85bdd7b50a1c |
|
29-Oct-2016 |
liyuqian <liyuqian@google.com> |
Prevent overflow by falling back to non-AA 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
552889ea44baaa50368fc4aec5c304c83698040f |
|
27-Oct-2016 |
liyuqian <liyuqian@google.com> |
Do not skip fractional y for SkAAClip 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
7a86423c42433ab8a7df2b06bd954b2427217bb9 |
|
21-Oct-2016 |
liyuqian <liyuqian@google.com> |
Fall back from analytic to sampling earlier 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
6a7287c14ba39784d66bb299a1340c0d7ca7b683 |
|
21-Oct-2016 |
liyuqian <liyuqian@google.com> |
Another forgotten forceRLE 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
c83ada98e2e60be75ae03e228c4d35eb45357add |
|
20-Oct-2016 |
liyuqian <liyuqian@google.com> |
Quickly fix the forgotten forceRLE 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
2add0ffdaab4c33ca6702c81533c88c7b5ca7294 |
|
20-Oct-2016 |
liyuqian <liyuqian@google.com> |
Use Analytic AA in SkAAClip. 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
ebcb8aadae70b25d4ac023b4f987a469b6d91f41 |
|
11-Oct-2016 |
liyuqian <liyuqian@google.com> |
Add AA Analytic Compile Flag (and small fixes) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2410303002 Review-Url: https://codereview.chromium.org/2410303002
/external/skia/src/core/SkScan_AAAPath.cpp
|
511f2d79bf6ea0ee858a3468d3aa8dcbfca58648 |
|
04-Oct-2016 |
Mike Klein <mtklein@chromium.org> |
Make global use-analytic-AA bit threadsafe. 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>
/external/skia/src/core/SkScan_AAAPath.cpp
|
38911a7cb53474575e1cd1cb545902b50ee00889 |
|
04-Oct-2016 |
liyuqian <liyuqian@google.com> |
Resubmit issue 2221103002 to fix the iOS build by declaring the flag in 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
d36baa7a4a5ae3cc94cc4a45379f55658f80c0a6 |
|
04-Oct-2016 |
stephana <stephana@google.com> |
Revert of Analytic AntiAlias for Convex Shapes (patchset #14 id:260001 of 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
/external/skia/src/core/SkScan_AAAPath.cpp
|
7795822807478143120c33228b68d2ab3918af2c |
|
04-Oct-2016 |
liyuqian <liyuqian@google.com> |
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 Review-Url: https://codereview.chromium.org/2221103002
/external/skia/src/core/SkScan_AAAPath.cpp
|