aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* impl preroll for all image backendsGravatar reed2015-09-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1341043002
* Have SkVarAlloc::alloc() use sk_malloc_throw.Gravatar mtklein2015-09-14
| | | | | | | | Very right, it's not prepared to handle return-NULL mallocs at all. BUG=530759 Review URL: https://codereview.chromium.org/1339093002
* SkValidatingReadBuffer: make sure we don't call readTypeface().Gravatar mtklein2015-09-14
| | | | | | | | Add an assert to make sure we're not calling this unimplemented method. BUG=skia:3978 Review URL: https://codereview.chromium.org/1341753003
* be sure to use cached bitmap when we need to upload something to make a textureGravatar reed2015-09-14
| | | | | | BUG=skia:4334 Review URL: https://codereview.chromium.org/1338373002
* we must own/free the generator, even if we fail to return a cacheratorGravatar reed2015-09-14
| | | | | | BUG=skia:4332 Review URL: https://codereview.chromium.org/1345523002
* disable kIndex_8 gpu support for now -- seems to always be slowerGravatar reed2015-09-14
| | | | | | BUG=skia:4333 Review URL: https://codereview.chromium.org/1339103002
* remove dead code not mentioned in any GYPGravatar mtklein2015-09-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1340563003
* formalize generate->bitmapGravatar reed2015-09-13
| | | | | | | | | just move block of code to expose it BUG=skia:4328 TBR= Review URL: https://codereview.chromium.org/1334033004
* skia: Add ANGLE with GL backend to nanobench/DMGravatar hendrikw2015-09-11
| | | | | | | This will allow us to test this without hacking it in, might be useful for others too. Review URL: https://codereview.chromium.org/1338003002
* move GrGLPathProcessor back into GrPathProcessorGravatar joshualitt2015-09-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1333423003
* support colortables in cacheratorGravatar reed2015-09-11
| | | | | | | BUG=skia: TBR=scroggo Review URL: https://codereview.chromium.org/1339753002
* remove path specific program building classesGravatar joshualitt2015-09-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1336763003
* Start trying to collapse path program stuffGravatar joshualitt2015-09-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1333273003
* Remove batchtrackerGravatar joshualitt2015-09-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1332923003
* increase resource image-cache size to test perfGravatar reed2015-09-11
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1332393002
* Revert of Parallel cache - preliminary (patchset #23 id:440001 of ↵Gravatar jyasskin2015-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1264103003/ ) Also reverts https://codereview.chromium.org/1333003002/ which was layered on top. Reason for revert: Appears to leak GDI handles: http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Unit%20%28DrMemory%20full%29%20%282%29/builds/8247 ~~Dr.M~~ Error #1: HANDLE LEAK: GDI handle 0x03050a84 and 3 similar handle(s) were opened but not closed: ~~Dr.M~~ # 0 system call NtGdiCreateDIBSection ~~Dr.M~~ # 1 GDI32.dll!CreateDIBSection +0xdc (0x768ead23 <GDI32.dll+0x1ad23>) ~~Dr.M~~ # 2 skia.dll!HDCOffscreen::draw [third_party\skia\src\ports\skfonthost_win.cpp:499] ~~Dr.M~~ # 3 skia.dll!SkScalerContext_GDI::generateImage [third_party\skia\src\ports\skfonthost_win.cpp:1233] ~~Dr.M~~ # 4 skia.dll!SkScalerContext::getImage [third_party\skia\src\core\skscalercontext.cpp:530] ~~Dr.M~~ # 5 skia.dll!SkGlyphCache::OnceFillInImage [third_party\skia\src\core\skglyphcache.cpp:252] ~~Dr.M~~ # 6 skia.dll!sk_once_slow<> [third_party\skia\include\core\skonce.h:76] ~~Dr.M~~ # 7 skia.dll!SkGlyphCache::findImage [third_party\skia\src\core\skglyphcache.cpp:260] ~~Dr.M~~ # 8 skia.dll!D1G_RectClip [third_party\skia\src\core\skdraw.cpp:1479] ~~Dr.M~~ # 9 skia.dll!SkDraw::drawPosText [third_party\skia\src\core\skdraw.cpp:1838] ~~Dr.M~~ #10 skia.dll!SkBitmapDevice::drawPosText [third_party\skia\src\core\skbitmapdevice.cpp:348] ~~Dr.M~~ #11 skia.dll!SkCanvas::onDrawPosText [third_party\skia\src\core\skcanvas.cpp:2433] ~~Dr.M~~ #12 skia.dll!SkCanvas::drawPosText [third_party\skia\src\core\skcanvas.cpp:2507] ~~Dr.M~~ #13 skia.dll!SkRecords::Draw::draw<> [third_party\skia\src\core\skrecorddraw.cpp:109] ~~Dr.M~~ #14 skia.dll!SkRecord::Record::visit<> [third_party\skia\src\core\skrecord.h:170] ~~Dr.M~~ #15 skia.dll!SkRecordDraw [third_party\skia\src\core\skrecorddraw.cpp:55] ~~Dr.M~~ #16 skia.dll!SkBigPicture::playback [third_party\skia\src\core\skbigpicture.cpp:43] ~~Dr.M~~ #17 skia.dll!SkCanvas::onDrawPicture [third_party\skia\src\core\skcanvas.cpp:2800] ~~Dr.M~~ #18 skia.dll!SkCanvas::drawPicture [third_party\skia\src\core\skcanvas.cpp:2770] ~~Dr.M~~ #19 cc.dll!cc::DrawingDisplayItem::Raster [cc\playback\drawing_display_item.cc:51] ~~Dr.M~~ #20 cc.dll!cc::DisplayItemList::Raster [cc\playback\display_item_list.cc:107] ~~Dr.M~~ #21 cc.dll!cc::DisplayListRasterSource::RasterCommon [cc\playback\display_list_raster_source.cc:122] ~~Dr.M~~ #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas [cc\playback\display_list_raster_source.cc:100] ~~Dr.M~~ #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory [cc\raster\tile_task_worker_pool.cc:208] ~~Dr.M~~ #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread [cc\raster\one_copy_tile_task_worker_pool.cc:413] ~~Dr.M~~ #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback [cc\raster\one_copy_tile_task_worker_pool.cc:53] ~~Dr.M~~ #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster [cc\tiles\tile_manager.cc:131] ~~Dr.M~~ #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread [cc\tiles\tile_manager.cc:90] ~~Dr.M~~ #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired [cc\raster\task_graph_runner.cc:418] ~~Dr.M~~ #29 cc.dll!cc::TaskGraphRunner::Run [cc\raster\task_graph_runner.cc:361] ~~Dr.M~~ #30 base.dll!base::SimpleThread::ThreadMain [base\threading\simple_thread.cc:66] ~~Dr.M~~ #31 base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:82] ~~Dr.M~~ #32 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x7570337a <KERNEL32.dll+0x1337a>) ~~Dr.M~~ Note: @0:15:51.087 in thread 196 ~~Dr.M~~ Note: handles created with the same callstack are closed here: ~~Dr.M~~ Note: # 0 system call NtGdiDeleteObjectApp ~~Dr.M~~ Note: # 1 GDI32.dll!DeleteObject +0x149 (0x768e57d3 <GDI32.dll+0x157d3>) ~~Dr.M~~ Note: # 2 skia.dll!HDCOffscreen::draw [third_party\skia\src\ports\skfonthost_win.cpp:471] ~~Dr.M~~ Note: # 3 skia.dll!SkScalerContext_GDI::generateImage [third_party\skia\src\ports\skfonthost_win.cpp:1233] ~~Dr.M~~ Note: # 4 skia.dll!SkScalerContext::getImage [third_party\skia\src\core\skscalercontext.cpp:530] ~~Dr.M~~ Note: # 5 skia.dll!SkGlyphCache::OnceFillInImage [third_party\skia\src\core\skglyphcache.cpp:252] ~~Dr.M~~ Note: # 6 skia.dll!sk_once_slow<> [third_party\skia\include\core\skonce.h:76] ~~Dr.M~~ Note: # 7 skia.dll!SkGlyphCache::findImage [third_party\skia\src\core\skglyphcache.cpp:260] ~~Dr.M~~ Note: # 8 skia.dll!D1G_RectClip [third_party\skia\src\core\skdraw.cpp:1479] ~~Dr.M~~ Note: # 9 skia.dll!SkDraw::drawPosText [third_party\skia\src\core\skdraw.cpp:1838] ~~Dr.M~~ Note: #10 skia.dll!SkBitmapDevice::drawPosText [third_party\skia\src\core\skbitmapdevice.cpp:348] ~~Dr.M~~ Note: #11 skia.dll!SkCanvas::onDrawPosText [third_party\skia\src\core\skcanvas.cpp:2433] ~~Dr.M~~ Note: #12 skia.dll!SkCanvas::drawPosText [third_party\skia\src\core\skcanvas.cpp:2507] ~~Dr.M~~ Note: #13 skia.dll!SkRecords::Draw::draw<> [third_party\skia\src\core\skrecorddraw.cpp:109] ~~Dr.M~~ Note: #14 skia.dll!SkRecord::Record::visit<> [third_party\skia\src\core\skrecord.h:170] ~~Dr.M~~ Note: #15 skia.dll!SkRecordDraw [third_party\skia\src\core\skrecorddraw.cpp:55] ~~Dr.M~~ Note: #16 skia.dll!SkBigPicture::playback [third_party\skia\src\core\skbigpicture.cpp:43] ~~Dr.M~~ Note: #17 skia.dll!SkCanvas::onDrawPicture [third_party\skia\src\core\skcanvas.cpp:2800] ~~Dr.M~~ Note: #18 skia.dll!SkCanvas::drawPicture [third_party\skia\src\core\skcanvas.cpp:2770] ~~Dr.M~~ Note: #19 cc.dll!cc::DrawingDisplayItem::Raster [cc\playback\drawing_display_item.cc:51] ~~Dr.M~~ Note: #20 cc.dll!cc::DisplayItemList::Raster [cc\playback\display_item_list.cc:107] ~~Dr.M~~ Note: #21 cc.dll!cc::DisplayListRasterSource::RasterCommon [cc\playback\display_list_raster_source.cc:122] ~~Dr.M~~ Note: #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas [cc\playback\display_list_raster_source.cc:100] ~~Dr.M~~ Note: #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory [cc\raster\tile_task_worker_pool.cc:208] ~~Dr.M~~ Note: #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread [cc\raster\one_copy_tile_task_worker_pool.cc:413] ~~Dr.M~~ Note: #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback [cc\raster\one_copy_tile_task_worker_pool.cc:53] ~~Dr.M~~ Note: #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster [cc\tiles\tile_manager.cc:131] ~~Dr.M~~ Note: #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread [cc\tiles\tile_manager.cc:90] ~~Dr.M~~ Note: #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired [cc\raster\task_graph_runner.cc:418] ~~Dr.M~~ Note: #29 cc.dll!cc::TaskGraphRunner::Run [cc\raster\task_graph_runner.cc:361] ~~Dr.M~~ Note: #30 base.dll!base::SimpleThread::ThreadMain [base\threading\simple_thread.cc:66] ~~Dr.M~~ Note: #31 base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:82] ~~Dr.M~~ Note: #32 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x7570337a <KERNEL32.dll+0x1337a>) Original issue's description: > Parallel cache. > > TBR=reed@google.com > > BUG=skia:1330 > > Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f > > Committed: https://skia.googlesource.com/skia/+/bf2988833e5a36c6b430da6fdd2cfebd0015adec TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org,herb@google.com BUG=skia:1330 [mtklein mucking around] NOTREECHECKS=true Review URL: https://codereview.chromium.org/1339493002
* Revert of use new shuffle to speed up affine matrix mappts (patchset #3 ↵Gravatar mtklein2015-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | id:40001 of https://codereview.chromium.org/1333983002/ ) Reason for revert: Unexpected perf impact, and a whole bunch of new images in gold (mostly invisibly different). Original issue's description: > use new shuffle to speed up affine matrix mappts > > sse: 25 -> 18 > neon: 95 -> 86 > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/e70afc9f48d00828ee6b707899a8ff542b0e8b98 TBR=reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1335003002
* Use SkImageCacherator in SkImagesGravatar reed2015-09-10
| | | | | | | | | | | | Possible follow-up changes to consider 1. Roll SkImage_Raster and _Gpu into _Generator, where the generator (or cacherator) is backed by a pre-existing texture or raster. 2. Evolve SkImageUsageType into a verb requiring stretching, and have the caller (common code) digest the caps() and usage, so that subclasses are just told what to do (stretch or not) 3. Common code/utility to convert an unstretched texture into a stretch one (and cache it) if the generator can only make an unstretched one. BUG=skia: Review URL: https://codereview.chromium.org/1282363002
* use new shuffle to speed up affine matrix mapptsGravatar mtklein2015-09-10
| | | | | | | | | sse: 25 -> 18 neon: 95 -> 86 BUG=skia: Review URL: https://codereview.chromium.org/1333983002
* Correct a possible free after use.Gravatar herb2015-09-10
| | | | | | | | This shows up in TSAN runs as a use-after-free warning. BUG=skia: Review URL: https://codereview.chromium.org/1333003002
* SkNx_shuffleGravatar mtklein2015-09-10
| | | | | | | | | | | This allows us to express shuffles more directly in code while also giving us a convenient point to platform-specify particular shuffles for particular types. No specializations yet. Everyone just uses the (pretty good) default option. BUG=skia: Review URL: https://codereview.chromium.org/1301413006
* fix missing clipmaskmanagerGravatar Brian Salomon2015-09-10
| | | | Review URL: https://codereview.chromium.org/1330213004 .
* make a shallow-copy so we don't get racy trying to lock/unlock our private ↵Gravatar reed2015-09-10
| | | | | | | | | bitmap BUG= 529995 NOTREECHECKS=True Review URL: https://codereview.chromium.org/1327313002
* Fix texture creation on stencil format test codeGravatar egdaniel2015-09-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1332853003
* Port SkMatrix opts to SkOpts.Gravatar mtklein2015-09-10
| | | | | | | | | | | | | | | | | | | | | | No changes to the code, just moved around. This will have the effect of enabling vectorized code on ARMv7. Should be no effect on ARMv8 or x86, which would have been vectorized already. nanobench --match mappoints changes on Nexus 5 (ARMv7): _affine: 132 -> 95 _scale: 118 -> 47 _trans: 60 -> 37 A teaser: We should next look at the ABCD->BADC shuffle we've noted that we need in _affine. A quick hack showed doing that optimally is another ~35% speedup on x86. Got to figure out how to do it best on ARM though: that same quick hack was a 2x slowdown there. Good reason to resurrect that SkNx_shuffle() CL! (I believe the answers are vrev64q_f32(v) and _mm_shuffle_ps(v,v, _MM_SHUFFLE(2,3,0,1), but we should probably find out in another CL.) BUG=skia:4117 Review URL: https://codereview.chromium.org/1320673014
* Remove GrClipTargetGravatar bsalomon2015-09-10
| | | | Review URL: https://codereview.chromium.org/1330353006
* Simplify installation of pipeling into GrDrawBatch in GrDrawTargetGravatar bsalomon2015-09-10
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/1333943002
* Late creation of GrPathProcessorGravatar joshualitt2015-09-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1337513002
* Cleanup GrDrawTarget now that all paths lead to GrBatchGravatar bsalomon2015-09-10
| | | | Review URL: https://codereview.chromium.org/1315513008
* Port SkBlitRow::Color32 to SkOpts.Gravatar mtklein2015-09-10
| | | | | | | | | | This was a pre-SkOpts attempt that we can bring under its wing now. This should be a perf no-op, deo volente. BUG=skia:4117 Review URL: https://codereview.chromium.org/1314863006
* Fix leak of path rangesGravatar bsalomon2015-09-10
| | | | | | R=egdaniel@google.com Review URL: https://codereview.chromium.org/1334753002
* Calculate pixel config and stencil fmt pairs once per pixel config.Gravatar egdaniel2015-09-10
| | | | | | | | | | We use a temp FB and stencil buffer to test different stencil formats with a given pixel config. We then keep a map from pixel config to desired stencil format. BUG=skia: Review URL: https://codereview.chromium.org/1317443004
* Add a mutex to GrContext::readSurfacePixels to protect against multiple CPU ↵Gravatar bsalomon2015-09-10
| | | | | | | | | | | | raster threads accessing the same GrContext to read back GPU input data BUG=chromium:524717 TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/eb662bc407cec0585a821946fef123102cae64db Review URL: https://codereview.chromium.org/1329313002
* There's a set probability that a linear pipeline of random procs will be ↵Gravatar wangyix2015-09-10
| | | | | | | | | | created (old behavior), or a pipeline with a single proc tree (added behavior). Had to move GrComposeEffect class definition from SkComposeShader.cpp to SkComposeShader.h so that GLProgramsTest can call GrComposeEffect::Create() BUG=skia:4182 Review URL: https://codereview.chromium.org/1314923002
* Initialize subrun variables to make Valgrind happyGravatar jvanverth2015-09-10
| | | | | | | | The check at line 1259 was failing in Valgrind, and in the default constructor subrun.fMaskFormat is never inited. Also set some other variables to avoid future problems. Review URL: https://codereview.chromium.org/1315773005
* Revert of Add a mutex to GrContext::readSurfacePixels to protect against ↵Gravatar bsalomon2015-09-09
| | | | | | | | | | | | | | | | | | | | | | | | multiple CPU raster threads accessin… (patchset #1 id:1 of https://codereview.chromium.org/1329313002/ ) Reason for revert: breaking the bots Original issue's description: > Add a mutex to GrContext::readSurfacePixels to protect against multiple CPU raster threads accessing the same GrContext to read back GPU input data > > BUG=chromium:524717 > > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/eb662bc407cec0585a821946fef123102cae64db TBR=reed@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524717 Review URL: https://codereview.chromium.org/1334603002
* Add a mutex to GrContext::readSurfacePixels to protect against multiple CPU ↵Gravatar bsalomon2015-09-09
| | | | | | | | | | raster threads accessing the same GrContext to read back GPU input data BUG=chromium:524717 TBR=reed@google.com Review URL: https://codereview.chromium.org/1329313002
* Remove race.Gravatar herb2015-09-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1327193003
* don't peek w/o first acquiring the lockGravatar reed2015-09-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1324503005
* Reland of more zero-length changes for svg compatibility (patchset #1 id:1 ↵Gravatar caryclark2015-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1334543002/ ) Reason for revert: DEPS should be fixed now Original issue's description: > Revert of more zero-length changes for svg compatibility (patchset #6 id:100001 of https://codereview.chromium.org/1330623003/ ) > > Reason for revert: > breaks DEPS > > Original issue's description: > > more zero-length changes for svg compatibility > > > > If a path contains a moveTo followed by a line or curve, > > even if the line or curve has no length, SVG expects > > the end caps to draw if the cap style is round or square. > > > > Fredrik Söderquist attached a patch to the chrome bug > > (slightly modified here) that fixes layout test failures > > resulting from deleting special-case code in SVG > > dealing with zero-length path segments. > > > > R=reed@google.com,fs@opera.com > > BUG=22974 > > > > Committed: https://skia.googlesource.com/skia/+/62fb1ba1786863e545c89839b5706ad5151cec15 > > TBR=fs@opera.com,reed@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=22974 > > Committed: https://skia.googlesource.com/skia/+/5ca4fa3846067a47e88d35ace895df3ebe3ec2a5 TBR=fs@opera.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=22974 Review URL: https://codereview.chromium.org/1314833004
* Brian requested a new namespace for factories that create fragment ↵Gravatar wangyix2015-09-09
| | | | | | | | processors that combine 2 things with a xfermode. This way, we can change the implementation of these factories in the future to not use GrComposeEffect if desired. BUG=skia:4182 Review URL: https://codereview.chromium.org/1306163005
* Parallel cache.Gravatar herb2015-09-09
| | | | | | | | | | TBR=reed@google.com BUG=skia:1330 Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f Review URL: https://codereview.chromium.org/1264103003
* Specialize SkOncePtr<T[]>.Gravatar mtklein2015-09-09
| | | | | | | | | | | | | | SkOncePtr<T[]> is identical to SkOncePtr<T> except we'll default to delete[] for cleanup. CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1311893010
* Make GrProcessorDataManager a noopGravatar joshualitt2015-09-09
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1323963003
* GrPathRangeBatchGravatar bsalomon2015-09-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1315563003
* Revert of more zero-length changes for svg compatibility (patchset #6 ↵Gravatar caryclark2015-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/1330623003/ ) Reason for revert: breaks DEPS Original issue's description: > more zero-length changes for svg compatibility > > If a path contains a moveTo followed by a line or curve, > even if the line or curve has no length, SVG expects > the end caps to draw if the cap style is round or square. > > Fredrik Söderquist attached a patch to the chrome bug > (slightly modified here) that fixes layout test failures > resulting from deleting special-case code in SVG > dealing with zero-length path segments. > > R=reed@google.com,fs@opera.com > BUG=22974 > > Committed: https://skia.googlesource.com/skia/+/62fb1ba1786863e545c89839b5706ad5151cec15 TBR=fs@opera.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=22974 Review URL: https://codereview.chromium.org/1334543002
* Port uses of SkLazyPtr to SkOncePtr.Gravatar mtklein2015-09-09
| | | | | | | | | | | | | | | | This gives SkOncePtr a non-trivial destructor that uses std::default_delete by default. This is overrideable, as seen in SkColorTable. SK_DECLARE_STATIC_ONCE_PTR still just leaves its pointers hanging at EOP. BUG=skia: No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/a1254acdb344174e761f5061c820559dab64a74c Review URL: https://codereview.chromium.org/1322933005
* wire up incNumDrawsGravatar joshualitt2015-09-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1333623003
* Detach cache in DF routines rather than passing it in.Gravatar jvanverth2015-09-09
| | | | | | | This removes nesting of cache accesses, which avoids a possible deadlock condition when the caches are the same. Review URL: https://codereview.chromium.org/1310513008
* Make SkGraphics::Term a no-op, stop calling it.Gravatar mtklein2015-09-09
| | | | | | | | | | I'd remove it entirely but Android is calling it explicitly. BUG=skia:4259 Committed: https://skia.googlesource.com/skia/+/925979f733fe8e70d84627147dee04d030423349 Review URL: https://codereview.chromium.org/1329853005