8eedbfc9ac3e14c5eac3167192cdbc5b4275adf8 |
|
11-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Revert "Revert "Improve quad edges' smoothness in non-AA cases"" This reverts commit 1e74cad9b4ed8079433d4e62ab3198d97436f5ec. Reason for revert: the guard flag has now been confirmed to be landed on chromium/src. We should now be able to pass the layout tests. Original change's description: > Revert "Improve quad edges' smoothness in non-AA cases" > > This reverts commit d4ed326d6f3704995b0e91292bf2c87e9d36bb14. > > Reason for revert: reverting temporarily to get us rolling into Chrome again. > > Must be this CL right? > https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/3364/layout-test-results/results.html > > Original change's description: > > Improve quad edges' smoothness in non-AA cases > > > > Previously, non-AA quad edges only have an accuracy about 1/2 pixel > > (while the AA quad edges have an accuracy about 1/8 pixel). Now, we > > increase non-AA quad edges' accuracy to 1/8 pixel as well. > > > > The difference is very significant for rotating non-AA filled circles. > > For example, run `./out/Debug/SampleApp --slide GM:fillcircle` with AA > > turned off (by pressing b). > > > > The benchmark added reveals that increasing quad accuracy from 1/2 to > > 1/8 doesn't affect the performance significantly. The following is the > > 1/2-accuracy performance versus 1/8-accuracy performance: > > > > curr/maxrss loops min median mean max stddev samples > > config bench > > 7/17 MB 19 2.43µs 2.57µs 2.81µs 10.5µs 22% 16119 > > 8888 path_fill_big_nonaacircle > > 7/17 MB 17 1.38µs 1.42µs 1.52µs 13µs 20% 21409 > > 8888 path_fill_small_nonaacircle > > > > curr/maxrss loops min median mean max stddev samples > > config bench > > 7/17 MB 71 2.52µs 2.59µs 2.79µs 7.67µs 19% 7557 > > 8888 path_fill_big_nonaacircle > > 7/17 MB 64 1.45µs 1.49µs 1.51µs 2.39µs 5% 12704 > > 8888 path_fill_small_nonaacircle > > > > > > BUG=skia: > > > > Change-Id: I3482098aeafcc6f2ec9aa3382977c0dc1b650964 > > Reviewed-on: https://skia-review.googlesource.com/6699 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Yuqian Li <liyuqian@google.com> > > > > TBR=caryclark@google.com,liyuqian@google.com,reed@google.com,djsollen@google.com,bungeman@google.com,reviews@skia.org,fmalita@chromium.org > BUG=skia: > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I5bc4596ab506f6f61ac2da91a07cf51d61114f31 > Reviewed-on: https://skia-review.googlesource.com/6829 > Commit-Queue: Mike Klein <mtklein@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> > TBR=djsollen@google.com,mtklein@google.com,bungeman@google.com,reviews@skia.org,caryclark@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0ec2ea8dc0c6ad0ebdcb48878fb301c32443a09e Reviewed-on: https://skia-review.googlesource.com/6858 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkEdge.cpp
|
1e74cad9b4ed8079433d4e62ab3198d97436f5ec |
|
10-Jan-2017 |
Mike Klein <mtklein@google.com> |
Revert "Improve quad edges' smoothness in non-AA cases" This reverts commit d4ed326d6f3704995b0e91292bf2c87e9d36bb14. Reason for revert: reverting temporarily to get us rolling into Chrome again. Must be this CL right? https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/3364/layout-test-results/results.html Original change's description: > Improve quad edges' smoothness in non-AA cases > > Previously, non-AA quad edges only have an accuracy about 1/2 pixel > (while the AA quad edges have an accuracy about 1/8 pixel). Now, we > increase non-AA quad edges' accuracy to 1/8 pixel as well. > > The difference is very significant for rotating non-AA filled circles. > For example, run `./out/Debug/SampleApp --slide GM:fillcircle` with AA > turned off (by pressing b). > > The benchmark added reveals that increasing quad accuracy from 1/2 to > 1/8 doesn't affect the performance significantly. The following is the > 1/2-accuracy performance versus 1/8-accuracy performance: > > curr/maxrss loops min median mean max stddev samples > config bench > 7/17 MB 19 2.43µs 2.57µs 2.81µs 10.5µs 22% 16119 > 8888 path_fill_big_nonaacircle > 7/17 MB 17 1.38µs 1.42µs 1.52µs 13µs 20% 21409 > 8888 path_fill_small_nonaacircle > > curr/maxrss loops min median mean max stddev samples > config bench > 7/17 MB 71 2.52µs 2.59µs 2.79µs 7.67µs 19% 7557 > 8888 path_fill_big_nonaacircle > 7/17 MB 64 1.45µs 1.49µs 1.51µs 2.39µs 5% 12704 > 8888 path_fill_small_nonaacircle > > > BUG=skia: > > Change-Id: I3482098aeafcc6f2ec9aa3382977c0dc1b650964 > Reviewed-on: https://skia-review.googlesource.com/6699 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> > TBR=caryclark@google.com,liyuqian@google.com,reed@google.com,djsollen@google.com,bungeman@google.com,reviews@skia.org,fmalita@chromium.org BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I5bc4596ab506f6f61ac2da91a07cf51d61114f31 Reviewed-on: https://skia-review.googlesource.com/6829 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
/external/skia/src/core/SkEdge.cpp
|
d4ed326d6f3704995b0e91292bf2c87e9d36bb14 |
|
06-Jan-2017 |
Yuqian Li <liyuqian@google.com> |
Improve quad edges' smoothness in non-AA cases Previously, non-AA quad edges only have an accuracy about 1/2 pixel (while the AA quad edges have an accuracy about 1/8 pixel). Now, we increase non-AA quad edges' accuracy to 1/8 pixel as well. The difference is very significant for rotating non-AA filled circles. For example, run `./out/Debug/SampleApp --slide GM:fillcircle` with AA turned off (by pressing b). The benchmark added reveals that increasing quad accuracy from 1/2 to 1/8 doesn't affect the performance significantly. The following is the 1/2-accuracy performance versus 1/8-accuracy performance: curr/maxrss loops min median mean max stddev samples config bench 7/17 MB 19 2.43µs 2.57µs 2.81µs 10.5µs 22% 16119 8888 path_fill_big_nonaacircle 7/17 MB 17 1.38µs 1.42µs 1.52µs 13µs 20% 21409 8888 path_fill_small_nonaacircle curr/maxrss loops min median mean max stddev samples config bench 7/17 MB 71 2.52µs 2.59µs 2.79µs 7.67µs 19% 7557 8888 path_fill_big_nonaacircle 7/17 MB 64 1.45µs 1.49µs 1.51µs 2.39µs 5% 12704 8888 path_fill_small_nonaacircle BUG=skia: Change-Id: I3482098aeafcc6f2ec9aa3382977c0dc1b650964 Reviewed-on: https://skia-review.googlesource.com/6699 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/core/SkEdge.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/SkEdge.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/SkEdge.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/SkEdge.cpp
|
4dbbd04314cc0606f8d3bafe515c97e52c180f73 |
|
08-Jun-2016 |
halcanary <halcanary@google.com> |
SkLeanWindows.h: #include "Windows.h" fewer places $ git grep -l '<windows.h>' include src include/private/SkLeanWindows.h $ git grep -l SkLeanWindows.h | grep '\.h$' include/ports/SkTypeface_win.h include/utils/win/SkHRESULT.h include/utils/win/SkTScopedComPtr.h include/views/SkEvent.h src/core/SkMathPriv.h src/ports/SkTypeface_win_dw.h src/utils/SkThreadUtils_win.h src/utils/win/SkWGL.h The same for `#include <intrin.h>` that was found in SkMath.h. Those functions that needed it are moved to SkMathPriv.h. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng Review-Url: https://codereview.chromium.org/2041943002
/external/skia/src/core/SkEdge.cpp
|
9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 |
|
29-Mar-2016 |
halcanary <halcanary@google.com> |
Style bikeshed - remove extraneous whitespace GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
/external/skia/src/core/SkEdge.cpp
|
aa5e1ae06b33841ad4efc9fbf4c8b2cd6236d58b |
|
08-Mar-2016 |
reed <reed@google.com> |
work around leftshift for negative values BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1774963002 Review URL: https://codereview.chromium.org/1774963002
/external/skia/src/core/SkEdge.cpp
|
3127c99986dc932343aae5ccc575237d99c3aaec |
|
09-Dec-2015 |
caryclark <caryclark@google.com> |
ubsan shift fixes Use an inline function that does a normal shift. When built for the sanitizer, add casts so that the shift is unsigned. Also make a few fixes to do unsigned shifts or avoid the shift altogether; and add an argument spec to some macros. R=reed@google.com,mtklein@google.com BUG=skia:4633 Review URL: https://codereview.chromium.org/1503423003
/external/skia/src/core/SkEdge.cpp
|
e053ca4380713a5b9e6a31119a1bdd6d529208aa |
|
19-Mar-2015 |
reed <reed@chromium.org> |
remove unused clip parameter to SkEdge::setClip BUG=skia: Review URL: https://codereview.chromium.org/1019183002
/external/skia/src/core/SkEdge.cpp
|
1c762161d88f0ace8cee1eea43d1b7350c06242e |
|
11-Mar-2015 |
qiankun.miao <qiankun.miao@intel.com> |
Use proper SkFDot6 instead of int BUG=skia: Review URL: https://codereview.chromium.org/960353005
/external/skia/src/core/SkEdge.cpp
|
49f085dddff10473b6ebf832a974288300224e60 |
|
05-Sep-2014 |
bsalomon <bsalomon@google.com> |
"NULL !=" = NULL R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
/external/skia/src/core/SkEdge.cpp
|
2f26528e59908856e36e88aa3be94d84014e9a58 |
|
29-Aug-2014 |
george <george@mozilla.com> |
Use even rounding for better results when converting from scalar to fdot6 Originally from https://bugzilla.mozilla.org/show_bug.cgi?id=996108, patch by Jeff Muizelaar R=reed@google.com, reed1 BUG=skia: Author: george@mozilla.com Review URL: https://codereview.chromium.org/270263005
/external/skia/src/core/SkEdge.cpp
|
8f4d2306fa866a26f9448048ff63f692b2ba43aa |
|
17-Dec-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats To keep the CL (slightly) managable, this does not make any changes to existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this time around. BUG= R=bsalomon@google.com, caryclark@google.com Review URL: https://codereview.chromium.org/117053002 git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
e16efc1882ab34a0bb3ae361a2d37f840044cf87 |
|
26-Jan-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
09a029b687465190c828bde896173e23aa350c4c |
|
30-Oct-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
factor out computation for dy in SkEdge lines, so we can later try a fix. git-svn-id: http://skia.googlecode.com/svn/trunk@6198 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
055c7c299cb47eebd360b809ad58a0006e2e55f7 |
|
15-Sep-2012 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@5561 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
8cae8358f78b81539f1006afe592a37f1604e67c |
|
14-Sep-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
fix fragile cubic stepper, where we want to assert that each tesselated segment is monotonically going down, but the finite math we use cannot ensure that... so we explicitly pin the y-value after it is calculated. add unittest that exercises the bug/assert that was found on an SVG site git-svn-id: http://skia.googlecode.com/svn/trunk@5544 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
fbfcd5602128ec010c82cb733c9cdc0a3254f9f3 |
|
23-Aug-2012 |
rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
e2faf17bcc523557e44ef443b48a53f286886a53 |
|
06-Aug-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Even when the pts are restricted to 32K values, we can still overflow computing a fixed-point coefficient for quadratics. To avoid this, we bias these coefficients, storing 1/2 of their actual value, and then apply the 2x unbias in updateQuadratic(). Fixes http://code.google.com/p/chromium/issues/detail?id=140803 Review URL: https://codereview.appspot.com/6450099 git-svn-id: http://skia.googlecode.com/svn/trunk@4960 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
889bd8bd7f604acae0a6303365bc82c06da1e6f3 |
|
27-Sep-2011 |
tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make SkMath.h less visible in public header files. git-svn-id: http://skia.googlecode.com/svn/trunk@2340 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976e |
|
28-Jul-2011 |
epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Automatic update of all copyright notices to reflect new license terms. I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
63debae4c1020fa1e0ccd92ef3cbfdc8735acf8e |
|
16-Dec-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
initial checkin for visualstudio build support git-svn-id: http://skia.googlecode.com/svn/trunk@460 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
9da1ae3f35a6f25adf4f58ae2589129ceec6d11b |
|
22-Jul-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
fix NaN in path iterator fix case where cubic is big/degenerate, and never returns a valid edge git-svn-id: http://skia.googlecode.com/svn/trunk@280 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
c07d23a6e220c0aff36e3e4e06c1b685a440108e |
|
06-Feb-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Chop quads exactly on the clip bounds, so we don't spend CPU cycles walking them when we're above or below the clip. Still to do: - chop in X to avoid 16.16. overflow in the edgelist - apply the same logic for cubics (tho much harder math) git-svn-id: http://skia.googlecode.com/svn/trunk@88 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|
8a1c16ff38322f0210116fa7293eb8817c7e477e |
|
17-Dec-2008 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
grab from latest android git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkEdge.cpp
|