aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkScan_Path.cpp
Commit message (Collapse)AuthorAge
* fix round_asymmetric_to_int to also bias bottom and rightGravatar Lee Salzman2017-03-22
| | | | | | | | | BUG=skia:6294 Change-Id: I1ee1031f1fb7cb035916e8945ce5396759955885 Reviewed-on: https://skia-review.googlesource.com/9700 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Combine some duplicate code in AA using templateGravatar Yuqian Li2017-03-21
| | | | | | | | | 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>
* ensure path bounds after rounding contain path edges when using ↵Gravatar Lee Salzman2017-01-18
| | | | | | | | | | | SK_RASTERIZE_EVEN_ROUNDING BUG=skia: Change-Id: I34e93de8fd4faa44336c2698d06595e9c4de86c3 Reviewed-on: https://skia-review.googlesource.com/7040 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* simplify round_down_to_int by using ceil instead of floorGravatar Lee Salzman2017-01-13
| | | | | | | | | BUG=skia: Change-Id: I465d98d6b0d97e1ede82670c663f9695b5a0a1de Reviewed-on: https://skia-review.googlesource.com/7041 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Add missing virtual functions for SkRectClipCheckBlitterGravatar Yuqian Li2016-11-21
| | | | | | | | | | | | | | | | | | | This CL is related to the issue that we tried to fix in https://skia-review.googlesource.com/c/5078/ Specifically, SkARGB32_Blitter overrides blitAntiH2 and blitAntiV2 and they're different from blitAntiRuns. Therefore, if SkRectClipCheckBlitter does not override those two functions, we're going to get different results in debug and release build. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5082 Change-Id: I7f9565d494f0a6c45ab5a06fbedb73ef233b9a1f Reviewed-on: https://skia-review.googlesource.com/5082 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Disable RectClipCheckBlitter for cc_unittestsGravatar Yuqian Li2016-11-20
| | | | | | | | | | | | | | | | | | | | With RectClipCheckBlitter, the cc_unittests in Chromium will have different results for rel and dbg buidls. As far as I know, the scan converter blits the same alpha but they are somehow translated into different RGBs. I'll look into it on Monday. (RectClipCheckBlitter is added in https://skia-review.googlesource.com/c/4629/) BUG=skia: TBR=fmalita@chromium.org GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5078 Change-Id: I537d4380a44d0194103a4fcfb2bd2e2bcef41fcb Reviewed-on: https://skia-review.googlesource.com/5078 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Simplify the signature of sk/aaa_fill_pathGravatar Yuqian Li2016-11-16
| | | | | | | | | | | | | | | 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>
* add debugging wrapper blitter to ensure unclipped scan-conversion is safeGravatar Mike Reed2016-11-09
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4629 Change-Id: Ie6c35b28a6e8e87bf230e50f9940d3924d12969a Reviewed-on: https://skia-review.googlesource.com/4629 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | 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
* Remove version checks for _MSC_VER < 1800 (msvs2013).Gravatar bungeman2016-03-10
| | | | | | | | | | | | We already actively do not support older versions of the vc++ compiler and runtime, so don't check for them anymore. TBR=reed No API changes. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1777213003 Review URL: https://codereview.chromium.org/1777213003
* remove legacy flagsGravatar caryclark2016-02-18
| | | | | | | | R=fmalita@chromium.org BUG=573166 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1707383002 Review URL: https://codereview.chromium.org/1707383002
* batch merge new edgesGravatar caryclark2016-02-01
| | | | | | | | | | | | | Find where newly introduced edges go in the edge list once, then stitch all of them into the edge list. R=reed@google.com BUG=573166 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647223002 Committed: https://skia.googlesource.com/skia/+/ae658e15477df86d1a864feb48d0274af2784f40 Review URL: https://codereview.chromium.org/1647223002
* Revert of batch merge new edges (patchset #1 id:1 of ↵Gravatar msarett2016-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1647223002/ ) Reason for revert: Breaks the roll. Original issue's description: > batch merge new edges > > Find where newly introduced edges go in the edge list once, > then stitch all of them into the edge list. > > R=reed@google.com > BUG=573166 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647223002 > > Committed: https://skia.googlesource.com/skia/+/ae658e15477df86d1a864feb48d0274af2784f40 TBR=reed@google.com,caryclark@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=573166 Review URL: https://codereview.chromium.org/1654593002
* batch merge new edgesGravatar caryclark2016-01-30
| | | | | | | | | | | Find where newly introduced edges go in the edge list once, then stitch all of them into the edge list. R=reed@google.com BUG=573166 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647223002 Review URL: https://codereview.chromium.org/1647223002
* handle halfway case in scan converterGravatar caryclark2016-01-04
| | | | | | | | | | | | | | | | | Scan edges that start at exactly -0.5 aren't trimmed by clipping or by rounding, triggering a debug assert. One way to fix this is to round the top and left down instead of up. Also, move the path initialization of gm/composeshader.cpp to make debugging other path problems easier. R=reed@google.com BUG=skia:2715 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1544873002 Review URL: https://codereview.chromium.org/1544873002
* ubsan shift fixesGravatar caryclark2015-12-09
| | | | | | | | | | | 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
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Revert[2] SkDraw and all Blitters to use pixmap instead of bitmapiGravatar reed2015-06-09
| | | | | | | | This reverts commit b3f0ec9f9967da2f80f0d842cb7fd53617b48de3. BUG=skia: Review URL: https://codereview.chromium.org/1168303006
* Revert of change SkDraw and all Blitters to use pixmap instead of bitmap ↵Gravatar reed2015-06-08
| | | | | | | | | | | | | | | | | | | | | | (patchset #6 id:100001 of https://codereview.chromium.org/1148793007/) Reason for revert: speculative revert to try to unblock DEPS roll Original issue's description: > change SkDraw and all Blitters to use pixmap instead of bitmap > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c31af44336f5eb4a50e83e76e51962d46c3ed458 TBR=scroggo@google.com,jvanverth@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1164373003
* change SkDraw and all Blitters to use pixmap instead of bitmapGravatar reed2015-06-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1148793007
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* Remove SK_USE_LEGACY_AA_COVERAGE guarded code.Gravatar bungeman2015-02-25
| | | | | | It doesn't appear anyone uses this flag anymore. Review URL: https://codereview.chromium.org/943053004
* cull edges that are to the right of the clipGravatar reed2015-02-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/913503002
* Remove unnecessary assignmentGravatar qiankun.miao2015-02-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/892423005
* Faster edge re-sortGravatar reed2015-02-07
| | | | | | | | | | | For now, disable dropping trailing edges This reverts commit 0692c5f2c1df7d1b66c62025200dd666f9ecd311. BUG=skia: TBR= Review URL: https://codereview.chromium.org/882733004
* Revert of Faster edge re-sort, drop trailing edges (patchset #2 id:20001 of ↵Gravatar reed2015-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/907623002/) Reason for revert: still layout failures Original issue's description: > Faster edge re-sort, drop trailing edges > > (patchset #4 id:60001 of https://codereview.chromium.org/891613003/)" > > This reverts commit c319d075eab86cacfd7aba27859b72bbf8fc0a64. > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/2322115952c15c72a623837879cac1f85894b1b6 TBR= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/886503010
* Faster edge re-sort, drop trailing edgesGravatar reed2015-02-06
| | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/891613003/)" This reverts commit c319d075eab86cacfd7aba27859b72bbf8fc0a64. BUG=skia: TBR= Review URL: https://codereview.chromium.org/907623002
* Revert of faster edge re-sort, drop trailing edges (patchset #4 id:60001 of ↵Gravatar reed2015-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/891613003/) Reason for revert: may be breaking layouttests... Original issue's description: > faster edge re-sort, drop trailing edges > > 1. drop edges that are wholly on the right (in the non-convex walker) > 2. scan and swap once, instead of swapping as we go during re-sort > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/38f1c00772539dcbeccbfa3c45d94bdc4acf3518 TBR=caryclark@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/910493002
* faster edge re-sort, drop trailing edgesGravatar reed2015-02-06
| | | | | | | | | 1. drop edges that are wholly on the right (in the non-convex walker) 2. scan and swap once, instead of swapping as we go during re-sort BUG=skia: Review URL: https://codereview.chromium.org/891613003
* Fix up all the easy virtual ... SK_OVERRIDE cases.Gravatar mtklein2015-01-09
| | | | | | | | | | | | This fixes every case where virtual and SK_OVERRIDE were on the same line, which should be the bulk of cases. We'll have to manually clean up the rest over time unless I level up in regexes. for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end BUG=skia: Review URL: https://codereview.chromium.org/806653007
* Add SK_OVERRIDE to a few places that are missing it.Gravatar mtklein2014-12-15
| | | | | | | | | | This was done automatically by running clang-modernize -add-override -override-macros. It's not clear to me whether include/ is already clean or I just can't get the tool to work for headers. BUG=skia: Review URL: https://codereview.chromium.org/808463002
* update to accommodate latest clang in chrome toolchainGravatar caryclark2014-09-18
| | | | | | | | | | | remove asserts for null pointers to references change var args signature to pointer instead of array R=mtklein@google.com, reed@android.com, reed@google.com, mtklein, reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/577243002
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* add rounding-using-doubles methods on SkScalar and SkRectGravatar commit-bot@chromium.org2014-05-05
| | | | | | | | | | | | | | | Inspired by the excellent repro case for https://crbug.com/364224 patch from issue 265933010 BUG=skia: R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/267003002 git-svn-id: http://skia.googlecode.com/svn/trunk@14566 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove (unused) debugging globalGravatar reed@google.com2012-11-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6428 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | 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
* tie slow sort (STD) to legacy AA, so that skia can use the fast one, and so thatGravatar reed@google.com2012-08-03
| | | | | | | | when chrome disables the legacy flag, it will automatically get the faster one. git-svn-id: http://skia.googlecode.com/svn/trunk@4955 2bbb7eff-a529-9590-31e7-b0007b416f81
* Better fix for rev. 4214 (inverse-fill and clipping). This fix avoids changingGravatar reed@google.com2012-06-11
| | | | | | | | the actual clipping bounds, which caused tiny differences in the scan converter. Also adding a gm (which I should have the first time.) Review URL: https://codereview.appspot.com/6297073 git-svn-id: http://skia.googlecode.com/svn/trunk@4227 2bbb7eff-a529-9590-31e7-b0007b416f81
* Detect inverse-fill, and treat its bounds as huge (all of integer space) for theGravatar reed@google.com2012-06-08
| | | | | | | | purposes of comparing w/ the clip-bounds, otherwise we can reject the draw if the bounds of the path are outside the bounds of the clip. Review URL: https://codereview.appspot.com/6302058 git-svn-id: http://skia.googlecode.com/svn/trunk@4214 2bbb7eff-a529-9590-31e7-b0007b416f81
* experimental faster sortGravatar reed@google.com2012-05-09
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3872 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix bug (and add test) for drawing an inverse-path whose bounds do intersectGravatar reed@google.com2012-05-01
| | | | | | | | | the clip, but whose edges do not (e.g. a curve). We used to overdraw a section (and assert). git-svn-id: http://skia.googlecode.com/svn/trunk@3809 2bbb7eff-a529-9590-31e7-b0007b416f81
* use macro SkFixedRoundToInt where necessaryGravatar reed@google.com2012-02-06
| | | | | | | | http://codereview.appspot.com/5617047/ git-svn-id: http://skia.googlecode.com/svn/trunk@3142 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkDEBUGFAIL to clean up use of SkASSERT(!"text");Gravatar tomhudson@google.com2011-12-28
| | | | | | | | | | catch a couple of latent SkASSERT("text") bugs. http://codereview.appspot.com/5504090/ git-svn-id: http://skia.googlecode.com/svn/trunk@2926 2bbb7eff-a529-9590-31e7-b0007b416f81
* call blitRect in our convex scanconverter (next: take advantage of that in ourGravatar reed@google.com2011-10-31
| | | | | | | | region and soft-region builders, and in our supersampler) git-svn-id: http://skia.googlecode.com/svn/trunk@2563 2bbb7eff-a529-9590-31e7-b0007b416f81
* handle when initial edges don't agree on start-yGravatar mike@reedtribe.org2011-10-31
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2560 2bbb7eff-a529-9590-31e7-b0007b416f81
* add convex special case in scanconverter. about 10% faster for modest ovals ↵Gravatar reed@google.com2011-10-28
| | | | | | and rrects git-svn-id: http://skia.googlecode.com/svn/trunk@2554 2bbb7eff-a529-9590-31e7-b0007b416f81
* check-point for convex scan-converter (disabled for now)Gravatar reed@google.com2011-10-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2529 2bbb7eff-a529-9590-31e7-b0007b416f81
* enable soft clipping (yikes)Gravatar reed@google.com2011-10-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2515 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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