aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
* BUG=skia:Gravatar joshualitt2015-02-05
| | | | Review URL: https://codereview.chromium.org/894693003
* return reference to cache instead of copying the maskGravatar reed2015-02-04
| | | | | | BUG=437128 Review URL: https://codereview.chromium.org/889303005
* [SkSVGDevice] Initial clipping supportGravatar fmalita2015-02-04
| | | | | | | | | | Implement SVG clips based on clip stack flattening - which is now exposed in SkClipStack::asPath() and shared with SkCanvas's simplify-clip code. R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/876923003
* Revert of Make the glyph array entries inline. (patchset #10 id:170001 of ↵Gravatar bsalomon2015-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/885903002/) Reason for revert: I suspect this is causing the off-by-one character issues that show up in gold.skia.org as of now. All the errors I've seen are on a Win7 bot. Example: good: https://gold.skia.org/img/images/35396bb0d299b81c0031dc0632a019d4.png bad: https://gold.skia.org/img/images/484e511f9e696d95031cd25aeae59da0.png Original issue's description: > Make the glyph array entries inline. > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4c08f16b252a55e438a61f26e5581394ed177da1 TBR=mtklein@google.com,reed@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/897463004
* Make the glyph array entries inline.Gravatar herb2015-02-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/885903002
* DM: wire up --leaks / -l againGravatar mtklein2015-02-02
| | | | | | | | | No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/893043002
* add missing SK_OVERRIDEGravatar mtklein2015-02-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/894153002
* Disable LCD text when rasterizing SkPictureShader tiles.Gravatar fmalita2015-02-02
| | | | | | | BUG=chromium:453299 R=reed@google.com Review URL: https://codereview.chromium.org/884163003
* Revert of Add device space "nudge" to gpu draws (patchset #6 id:90001 of ↵Gravatar robertphillips2015-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/877473005/) Reason for revert: Blink layout tests this time :( Original issue's description: > Add device space "nudge" to gpu draws > > This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too. > > BUG=423834 > > Committed: https://skia.googlesource.com/skia/+/2d55d07501c56310f97d2092d789a2bc9fa01b78 > > Committed: https://skia.googlesource.com/skia/+/b9329991426d0b77ea194a380d72d73fb855308a TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=423834 Review URL: https://codereview.chromium.org/886153002
* Add device space "nudge" to gpu drawsGravatar robertphillips2015-01-30
| | | | | | | | | | This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too. BUG=423834 Committed: https://skia.googlesource.com/skia/+/2d55d07501c56310f97d2092d789a2bc9fa01b78 Review URL: https://codereview.chromium.org/877473005
* Remove unused globalRef/globalUnref.Gravatar scroggo2015-01-30
| | | | | | BUG=skia:1482 Review URL: https://codereview.chromium.org/887993003
* share code between arcTo and addArc, update doxGravatar reed2015-01-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/863123005
* Conservative blob bounds cleanupGravatar fmalita2015-01-29
| | | | | | | | | | | | * drop SK_SUPPORT_LEGACY_BLOB_BOUNDS * remove horizontal & fully position tight bounds support (always using conservative bounds now) * special-case horizontal run bounds logic to avoid unnecessary vertical min-maxing R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/858153007
* reorg some path routines, preparing to switch arcs to conicsGravatar reed2015-01-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/887783002
* Make SkWriter32::snapshotAsData() a dumb copy.Gravatar mtklein2015-01-29
| | | | | | | | | SkWriter32::snapshotAsData() is no longer performance critical. It's only used when we're serializing to disk. BUG=skia:2289 Review URL: https://codereview.chromium.org/875403005
* skia: blend32_16_row for neon versionGravatar mlee2015-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes blend32_16_row neon implementation for aarch32 and aarch64. For performance, blend32_16_row is called in following tests in nanobench. - Xfermode_SrcOver - tablebench - rotated_rects_bw_alternating_transparent_and_opaque_srcover - rotated_rects_bw_changing_transparent_srcover - rotated_rects_bw_same_transparent_srcover - luma_colorfilter_large - luma_colorfilter_small - chart_bw I can see perf increase in following two tests, especially. For others, looks similar. For each, I tried to run two times. 1) Xfermode_SrcOver <org> - D/skia ( 2000): 3M 57 17.3µs 17.4µs 17.4µs 17.7µs 1% █▃▂▃▂▂▂▁▃▂ 565 Xfermode_SrcOver - D/skia ( 1915): 3M 70 13.5µs 16.9µs 16.7µs 18.8µs 9% ▆█▄▅█▁▅▅▆▄ 565 Xfermode_SrcOver <new> - D/skia ( 2000): 3M 8 11.6µs 11.8µs 12.1µs 14.4µs 7% ▃█▁▁▂▁▁▁▂▂ 565 Xfermode_SrcOver - D/skia ( 2004): 3M 62 10.3µs 12.9µs 13µs 15.2µs 11% █▅▅▆▁▅▅▅▇▃ 565 Xfermode_SrcOver 2) luma_colorfilter_large <org> - D/skia ( 2000): 159M 8 136µs 136µs 136µs 139µs 1% █▃▁▂▁▁▁▁▁▁ 565 luma_colorfilter_large - D/skia ( 1915): 158M 2 135µs 177µs 182µs 269µs 22% ▆▃█▁▁▃▃▃▃▃ 565 luma_colorfilter_large <new> - D/skia ( 2000): 157M 5 84.2µs 85.3µs 87.5µs 110µs 9% █▁▂▁▁▁▁▁▁▁ 565 luma_colorfilter_large - D/skia ( 2004): 159M 6 84.7µs 110µs 112µs 144µs 18% █▄▇▁▁▄▃▄▄▆ 565 luma_colorfilter_large Review URL: https://codereview.chromium.org/847363002
* Revert of Add device space "nudge" to gpu draws (patchset #5 id:70001 of ↵Gravatar robertphillips2015-01-28
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/877473005/) Reason for revert: Chrome pixel test :( Original issue's description: > Add device space "nudge" to gpu draws > > This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too. > > BUG=423834 > > Committed: https://skia.googlesource.com/skia/+/2d55d07501c56310f97d2092d789a2bc9fa01b78 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=423834 Review URL: https://codereview.chromium.org/890433003
* Add device space "nudge" to gpu drawsGravatar robertphillips2015-01-28
| | | | | | | | This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too. BUG=423834 Review URL: https://codereview.chromium.org/877473005
* Make char hash dynamic when needed.Gravatar herb2015-01-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/880383002
* Use murmur3 finisher to improve font hash efficiency.Gravatar reed2015-01-28
| | | | | | | | | | Add dump() method to inspect glyphcache strikes. Murmur addition improves hash efficient roughly 50% BUG=skia: Review URL: https://codereview.chromium.org/877113002
* Fixed clusterfuzz issueGravatar sugoi2015-01-28
| | | | | | BUG=448423 Review URL: https://codereview.chromium.org/881423002
* Add a flag to flush the canvases during SkMultiPictureDraw::draw().Gravatar senorblanco2015-01-28
| | | | | | | | | | This is necessary for multisampling, so that each multisampled render target resolves before Chrome's compositor attempts to draw the texture. BUG=skia: Review URL: https://codereview.chromium.org/878653004
* Conservative SkTextBlob bounds.Gravatar fmalita2015-01-28
| | | | | | | | | | Compute cheaper/more conservative text blob bounds based on the typeface maximum glyph bbox. BUG=chromium:451401 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/886473002
* Revert of patch from issue 885453002 at patchset 20001 ↵Gravatar mtklein2015-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (http://crrev.com/885453002#ps20001) (patchset #1 id:1 of https://codereview.chromium.org/881953002/) Reason for revert: ==32435==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x621000d8cd00 Lots of info here: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN/builds/1198/steps/dm/logs/stdio Original issue's description: > patch from issue 885453002 at patchset 20001 (http://crrev.com/885453002#ps20001) > > Make the char cache dynamic in SkGlyphCache > because it is rarely used. > > Landing on behalf of Herb. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/95faa61d63a6f62916f6f7be58c4624da8357e3b TBR=mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/881023003
* patch from issue 885453002 at patchset 20001 ↵Gravatar mtklein2015-01-27
| | | | | | | | | | | | | (http://crrev.com/885453002#ps20001) Make the char cache dynamic in SkGlyphCache because it is rarely used. Landing on behalf of Herb. BUG=skia: Review URL: https://codereview.chromium.org/881953002
* Remove unused methods from SkScalerContext.Gravatar bungeman2015-01-27
| | | | | | | | | | The methods getLocalMatrixWithoutTextSize and getSingleMatrixWithoutTextSize on SkScalerContext were added as a temporary measure for CoreText issues. Now that the CoreText SkScalerContext is using other means to fix these issues more completely, remove these now unused methods. Review URL: https://codereview.chromium.org/883833002
* SkTypeface to use SkStreamAsset.Gravatar bungeman2015-01-27
| | | | | | | SkTypeface already requires typeface streams to support SkStreamAsset in practice, and in practice all users are already supplying them. Review URL: https://codereview.chromium.org/869763002
* speedup mipmap buildingGravatar reed2015-01-27
| | | | | | | | | | | mipmap_build benchmark: before: 3.36ms after: 2.20ms BUG=skia: Review URL: https://codereview.chromium.org/873393002
* Alter gpu vetoGravatar robertphillips2015-01-26
| | | | | | | | | | | | | | | | This CL unifies the treatment of the dashed and concave paths. Before: TP 28 FP 15 TN 8 FN 3 IND 3 After: TP 28 FP 18 TN 7 FN 2 IND 2 One of the TrueNegatives that became a FalsePositive was the motivation use case (the Chromium busy spinner). Committed: https://skia.googlesource.com/skia/+/87a6a8e18c7d5bbc94f478b44c53dc0e0549f927 Review URL: https://codereview.chromium.org/875913002
* check effective cache-size for fixed-budget cachesGravatar reed2015-01-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/876743002
* Revert of Alter gpu veto (patchset #1 id:1 of ↵Gravatar robertphillips2015-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/875913002/) Reason for revert: Failing tests Original issue's description: > Alter gpu veto > > This CL unifies the treatment of the dashed and concave paths. > > Before: > TP 28 FP 15 TN 8 FN 3 IND 3 > > After: > TP 28 FP 18 TN 7 FN 2 IND 2 > > One of the TrueNegatives that became a FalsePositive was the motivation use case (the Chromium busy spinner). > > Committed: https://skia.googlesource.com/skia/+/87a6a8e18c7d5bbc94f478b44c53dc0e0549f927 TBR=egdaniel@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/879483003
* Alter gpu vetoGravatar robertphillips2015-01-26
| | | | | | | | | | | | | | This CL unifies the treatment of the dashed and concave paths. Before: TP 28 FP 15 TN 8 FN 3 IND 3 After: TP 28 FP 18 TN 7 FN 2 IND 2 One of the TrueNegatives that became a FalsePositive was the motivation use case (the Chromium busy spinner). Review URL: https://codereview.chromium.org/875913002
* Add patheffects to debugger printoutGravatar robertphillips2015-01-26
| | | | | | TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/872043002
* Fold alpha to the inner savelayer in savelayer-savelayer-restore patternsGravatar kkinnunen2015-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | Fold alpha to the inner savelayer in savelayer-savelayer-restore patterns such as this: SaveLayer (non-opaque) Save ClipRect SaveLayer Restore Restore Restore Current blink generates these for example for SVG content such as this: <path style="opacity:0.5 filter:url(#blur_filter)"/> The outer save layer is due to the opacity and the inner one is due to blur filter being implemented with picture image filter. Reduces layers in desk_carsvg.skp testcase from 115 to 78. BUG=skia:3119 Review URL: https://codereview.chromium.org/835973005
* initial preroll apiGravatar reed2015-01-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/855473002
* check for too-large rowBytesGravatar reed2015-01-23
| | | | | | BUG=446164 Review URL: https://codereview.chromium.org/871993003
* add newImage APIGravatar reed2015-01-23
| | | | | | | BUG=skia:3277 related bug: skbug.com/3276 Review URL: https://codereview.chromium.org/821083002
* Remove the need for asCoeff in SkXfermode.Gravatar egdaniel2015-01-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/864833002
* Don't require -DSK_USE_POSIX_THREADS.Gravatar mtklein2015-01-21
| | | | | | | | | | | | | To compile SkCondVar, we already require either pthreads or Windows. This simplifies that code to not need SK_USE_POSIX_THREADS to be explicitly defined. We'll just look to see if we're targeting Windows, and if not, assume pthreads. Both before and after this CL, that code will fail to compile if we're not on Windows and don't have pthreads. BUG=skia: Review URL: https://codereview.chromium.org/869443003
* Make SkStream *not* ref counted.Gravatar scroggo2015-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkStream is a stateful object, so it does not make sense for it to have multiple owners. Make SkStream inherit directly from SkNoncopyable. Update methods which previously called SkStream::ref() (e.g. SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(), which required the existing owners to call SkStream::unref()) to take ownership of their SkStream parameters and delete when done (including on failure). Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some cases this means heap allocating streams that were previously stack allocated. Respect ownership rules of SkTypeface::CreateFromStream() and SkImageDecoder::buildTileIndex(). Update the comments for exceptional methods which do not affect the ownership of their SkStream parameters (e.g. SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be explicit about ownership. Remove test_stream_life, which tested that buildTileIndex() behaved correctly when SkStream was a ref counted object. The test does not make sense now that it is not. In SkPDFStream, remove the SkMemoryStream member. Instead of using it, create a new SkMemoryStream to pass to fDataStream (which is now an SkAutoTDelete). Make other pdf rasterizers behave like SkPDFDocumentToBitmap. SkPDFDocumentToBitmap delete the SkStream, so do the same in the following pdf rasterizers: SkPopplerRasterizePDF SkNativeRasterizePDF SkNoRasterizePDF Requires a change to Android, which currently treats SkStreams as ref counted objects. Review URL: https://codereview.chromium.org/849103004
* remove dead SkPersp macrosGravatar reed2015-01-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/864713002
* Pre-cache fDirection and fConvexity for recorded SkPaths too.Gravatar mtklein2015-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN/builds/1211/steps/dm/logs/stdio I don't see any big perf hit locally: desk_googlespreadsheetdashed.skp 1.68ms -> 1.74ms 1.04x desk_mobilenews.skp 643us -> 665us 1.04x desk_tigersvg.skp 51.1us -> 52.5us 1.03x desk_jsfiddlehumperclip.skp 37us -> 37.9us 1.02x desk_samoasvg.skp 373us -> 380us 1.02x desk_wordpress.skp 697us -> 708us 1.02x desk_mapsvg.skp 698us -> 708us 1.02x tabl_googleblog.skp 553us -> 560us 1.01x desk_wowwiki.skp 1.31ms -> 1.32ms 1.01x tabl_mozilla.skp 1.44ms -> 1.45ms 1.01x desk_sfgate.skp 156us -> 157us 1.01x desk_chalkboard.skp 376us -> 378us 1x desk_baidu.skp 101us -> 101us 1x desk_gmailthread.skp 231us -> 231us 1x desk_carsvg.skp 379us -> 379us 1x desk_googlehome.skp 38.1us -> 38.1us 1x desk_css3gradients.skp 89.6us -> 89.2us 1x desk_googlespreadsheet.skp 549us -> 546us 0.99x desk_pokemonwiki.skp 8.67ms -> 8.62ms 0.99x tabl_mlb.skp 294us -> 291us 0.99x tabl_gamedeksiam.skp 700us -> 692us 0.99x tabl_worldjournal.skp 143us -> 142us 0.99x desk_blogger.skp 441us -> 436us 0.99x desk_twitter.skp 452us -> 446us 0.99x desk_gws.skp 152us -> 150us 0.99x tabl_gmail.skp 24.2us -> 23.9us 0.99x tabl_sahadan.skp 84.7us -> 83.5us 0.99x tabl_cnn.skp 1.24ms -> 1.22ms 0.99x tabl_ukwsj.skp 543us -> 535us 0.99x desk_yahooanswers.skp 124us -> 123us 0.99x desk_booking.skp 905us -> 891us 0.98x tabl_androidpolice.skp 1.76ms -> 1.73ms 0.98x desk_ugamsolutions.skp 281us -> 276us 0.98x desk_nytimes.skp 209us -> 204us 0.98x tabl_techmeme.skp 98.4us -> 96.1us 0.98x tabl_nofolo.skp 59.2us -> 57.8us 0.98x desk_weather.skp 244us -> 238us 0.98x desk_facebook.skp 546us -> 531us 0.97x desk_linkedin.skp 321us -> 311us 0.97x tabl_digg.skp 801us -> 770us 0.96x tabl_culturalsolutions.skp 332us -> 319us 0.96x desk_amazon.skp 103us -> 99us 0.96x tabl_engadget.skp 610us -> 579us 0.95x tabl_cnet.skp 144us -> 136us 0.95x desk_fontwipe.skp 36.6us -> 34.7us 0.95x desk_ebay.skp 173us -> 164us 0.94x tabl_hsfi.skp 5.95us -> 5.58us 0.94x tabl_deviantart.skp 134us -> 126us 0.94x desk_espn.skp 261us -> 243us 0.93x BUG=skia: Review URL: https://codereview.chromium.org/861853002
* Move SkFontMgr and SkFontStyle impls to own cpp.Gravatar bungeman2015-01-20
| | | | | | | | | SkFontMgr and SkFontStyle implementations are currently burried in the old SkFontHost.cpp file. Move these implementations to their own file so that the implementations are easier to find, and to make clearer that SkFontHost.cpp needs to be removed. Review URL: https://codereview.chromium.org/799533004
* Do more cleanup from xp changesGravatar egdaniel2015-01-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/811903004
* remove dead code after HQ changeGravatar reed2015-01-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/845303005
* remove legacy flags for old image filteringGravatar reed2015-01-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/857193003
* YUV planes cacheGravatar sugoi2015-01-19
| | | | | | | | | | - Added new classes to contain YUV planes of memory, along with the associated data. - Used these classes in load_yuv_texture() to enable YUV planes caching - Added a unit test for the new cache BUG=450021 Review URL: https://codereview.chromium.org/851273003
* reorg filter quality cascadeGravatar reed2015-01-16
| | | | | | | BUG=skia: NOTREECHECKS=True Review URL: https://codereview.chromium.org/844913004
* use log2(scale) to compute mip levelGravatar reed2015-01-16
| | | | | | | | | | | | | now w/ expanded suppressions This reverts commit b50ced703030dfbda4fc3ef5e6ec9a52fc0405f8. BUG=skia: TBR= NOTRY=True NOTREECHECKS=True Review URL: https://codereview.chromium.org/856723003
* Revert of use log2(scale) to compute mip level (patchset #7 id:120001 of ↵Gravatar reed2015-01-16
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/849333002/) Reason for revert: need more suppressions Original issue's description: > use log2(scale) to compute mip level > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/15fd47f8a07615a7f5d78581aee4c80ff9f17fd9 TBR=robertphillips@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/856783004