aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
Commit message (Collapse)AuthorAge
* consolidate read/writePixels in GrSurfaceContextGravatar Robert Phillips2017-04-10
| | | | | | | Change-Id: I118fcd49990597d4dfea92efd3f9d99e52fdbfab Reviewed-on: https://skia-review.googlesource.com/11481 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Make GrCopySurfaceOp friendlier to GrSurfaceProxy (take 2)Gravatar Robert Phillips2017-04-07
| | | | | | | | | Reland of: https://skia-review.googlesource.com/c/11325/ (Make GrCopySurfaceOp friendlier to GrSurfaceProxy) Change-Id: Ibe7312cebe7793af5803353a1499fbe7874c558f Reviewed-on: https://skia-review.googlesource.com/11780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Make GrCopySurfaceOp friendlier to GrSurfaceProxy"Gravatar Robert Phillips2017-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d7cda9a6f050c30e65b0744b3cfb45cecdc40834. Reason for revert: Tegra3!!!! Original change's description: > Make GrCopySurfaceOp friendlier to GrSurfaceProxy > > Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de > Reviewed-on: https://skia-review.googlesource.com/11325 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Idc31d469d94e6e2772ee5714987b3a05bb902d88 Reviewed-on: https://skia-review.googlesource.com/11580 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make GrCopySurfaceOp friendlier to GrSurfaceProxyGravatar Robert Phillips2017-04-06
| | | | | | | Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de Reviewed-on: https://skia-review.googlesource.com/11325 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* add guard for obsolete (non-functioning) replayClipsGravatar Mike Reed2017-04-06
| | | | | | | | | | | | replayClips has been disabled (broken) for a while. This CL just attempts to hide the api (will remove once android's callsite is removed) Bug: skia: Change-Id: I35b412addfc0a08ea888a62609888b9b54dce2a6 Reviewed-on: https://skia-review.googlesource.com/11401 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Move GrPipelineBuilder into GrRenderTargetContext::addLegacyDrawOpGravatar Brian Salomon2017-04-04
| | | | | | | | | This makes the legacy code use GrProcessorSet::Analysis in the same manner as the non-GrLegacyMeshDrawOps which enables changes to how analysis works. Change-Id: I8171e285ac8930beb3ac33cd3c4ee88f217b9e40 Reviewed-on: https://skia-review.googlesource.com/11205 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setupGravatar Eric Karl2017-04-04
| | | | | | | | | | | | | | | Crurently, when preparing a texture for blitFramebuffer, we ignore the kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to copy from one src rect to a different dst rect. This change updates initDescForDstCopy and setupDstTexture to allocate larger textures if necessary and accomodate this flags requirements. Bug: 658277 Change-Id: If4489ac3192dcf6f9996494c63821279721d0a12 Reviewed-on: https://skia-review.googlesource.com/11141 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert[4] "clean up (partially) colortable api""""Gravatar Mike Reed2017-04-03
| | | | | | | | | | | | | | Fixes: - create temp api for android to pass nullptr - don't release and access sk_sp<SkData> at the same time in parameters This reverts commit b14131c1851eea6acbd34cc42a8f860daed36b21. Bug: skia: Change-Id: Ic0e4f62520ba9f35455499ed30d306ad19d998a8 Reviewed-on: https://skia-review.googlesource.com/11129 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* move vertex-mode enum into SkVerticesGravatar Mike Reed2017-04-03
| | | | | | | | | BUG=skia:6366 Change-Id: I3c0bf96cce6d32c9b8d12d16a772aaa6f18981aa Reviewed-on: https://skia-review.googlesource.com/11062 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Move pipeline handling out of GrMeshDrawOp.Gravatar Brian Salomon2017-04-03
| | | | | | | | | | | The monolithic GrPipeline is moved to a subclass GrLegacyDrawMeshOp. The pipeline used to record a GrMesh draw in a GrMeshDrawOp must now be passed rather than implicitly using the op's pipeline. Change-Id: I50d77e4dcc8d91a523fa7566ce43a9a291174706 Reviewed-on: https://skia-review.googlesource.com/11002 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert[2] "clean up (partially) colortable api"""Gravatar Mike Reed2017-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9920b10f5292838f00600f676c4578cd11705e60. Reason for revert: trying to get details on w2k failure https://chromium-swarm.appspot.com/task?id=354345d34ba3b310&refresh=10 Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION, was running: unit test HugeBlurImageFilter unit test FontNames unit test Codec_PngRoundTrip unit test ClampRange unit test FontHost unit test ColorMatrixFilter f16 image scaled_codec_premul abnormal.wbmp 565 image brd_android_codec_divisor_0.167 interlaced3.png_0.167 unit test Codec_png unit test ImageFilterBlurLargeImage unit test FontObj unit test DrawText unit test GrShape 565 image brd_android_codec_divisor_0.333 interlaced2.png_0.333 unit test PathOpsOpCubicsThreaded unit test PathOpsOpLoopsThreaded unit test FontMgr unit test ColorToHSVRoundTrip unit test Image_Serialize_Encoding_Failure Likely culprit: unit test Image_Serialize_Encoding_Failure step returned non-zero exit code: -1073741819 Original change's description: > Revert[2] "clean up (partially) colortable api"" > > This reverts commit 1d1165ca6575e082b892c5460492c411618783ad. > > Bug: skia: > Change-Id: Idbc0634ae3cec2e79f592d252de8751b077e6408 > Reviewed-on: https://skia-review.googlesource.com/11024 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia4e73434b083224baa36092c69526c2f59bb16aa Reviewed-on: https://skia-review.googlesource.com/11025 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert[2] "clean up (partially) colortable api""Gravatar Mike Reed2017-04-01
| | | | | | | | | | This reverts commit 1d1165ca6575e082b892c5460492c411618783ad. Bug: skia: Change-Id: Idbc0634ae3cec2e79f592d252de8751b077e6408 Reviewed-on: https://skia-review.googlesource.com/11024 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup"Gravatar Mike Klein2017-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d58f040532f2f5a63d24bd17d7c588e52c0b99c3. Reason for revert: tests/BlendTest is failing on the Nexus Player: https://chromium-swarm.appspot.com/task?id=353ffc638e202210 https://chromium-swarm.appspot.com/task?id=353ff5e35819ab10 Original change's description: > Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup > > Crurently, when preparing a texture for blitFramebuffer, we ignore the > kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to > copy from one src rect to a different dst rect. > > This change updates initDescForDstCopy and setupDstTexture to allocate > larger textures if necessary and accomodate this flags requirements. > > Bug: 658277 > Change-Id: I9f45a03d4055e0ad87c01e1d826287695096e609 > Reviewed-on: https://skia-review.googlesource.com/10941 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,ericrk@chromium.org,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0fd6ca95bbc342f21978783b0103073179017795 Reviewed-on: https://skia-review.googlesource.com/11016 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setupGravatar Eric Karl2017-04-01
| | | | | | | | | | | | | | | Crurently, when preparing a texture for blitFramebuffer, we ignore the kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to copy from one src rect to a different dst rect. This change updates initDescForDstCopy and setupDstTexture to allocate larger textures if necessary and accomodate this flags requirements. Bug: 658277 Change-Id: I9f45a03d4055e0ad87c01e1d826287695096e609 Reviewed-on: https://skia-review.googlesource.com/10941 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "clean up (partially) colortable api"Gravatar Mike Klein2017-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2e491a6a113c5e16a3b7bede5fa6f588deeb928d. Reason for revert: Windows unit tests failing? Original change's description: > clean up (partially) colortable api > > Needs this to land: https://codereview.chromium.org/2789853002/ > > Bug: skia: > Change-Id: I38d916a546b7fa64d000d973e695ddda24a589e7 > Reviewed-on: https://skia-review.googlesource.com/10600 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Matt Sarett <msarett@google.com> > TBR=msarett@google.com,scroggo@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I626e7edfcea82576a440dcaa851a04cedee6233f Reviewed-on: https://skia-review.googlesource.com/10966 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add tracking of unique proxyID beside unique renderTargetID in auditTrail ↵Gravatar Robert Phillips2017-03-31
| | | | | | | | | | | and clearOp Split out of: https://skia-review.googlesource.com/c/10284/ (Omnibus: Remove GrSurface-derived classes from ops) Change-Id: I5845a47d94decc455ec3b1f0a5876b1c82aa32e8 Reviewed-on: https://skia-review.googlesource.com/10750 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* clean up (partially) colortable apiGravatar Mike Reed2017-03-31
| | | | | | | | | | Needs this to land: https://codereview.chromium.org/2789853002/ Bug: skia: Change-Id: I38d916a546b7fa64d000d973e695ddda24a589e7 Reviewed-on: https://skia-review.googlesource.com/10600 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert "Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup"Gravatar Brian Salomon2017-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e0ff6ab272dcc5c4d6f3b509da7e0e97acada814. Reason for revert: a bunch of bots failed. Original change's description: > Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup > > Crurently, when preparing a texture for blitFramebuffer, we ignore the > kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to > copy from one src rect to a different dst rect. > > This change updates initDescForDstCopy and setupDstTexture to allocate > larger textures if necessary and accomodate this flags requirements. > > Bug: 658277 > Change-Id: I500f10dba5700f5f7a7acad04bcdbc9ac9994835 > Reviewed-on: https://skia-review.googlesource.com/10247 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,ericrk@chromium.org,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7fbd6c2652fe71c707d3120b035e0365fbc7fa66 Reviewed-on: https://skia-review.googlesource.com/10920 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* ok, most features can be viasGravatar Mike Klein2017-03-31
| | | | | | | | | | | | | This refactors most features out of ok's core into vias: -w --> a .png dumping via, "png", opening the door to other types -m/-s --> a filtering via "filter" Everything now can print a brief help message too. Change-Id: I9e653aab98fd57182a6d458c7a80052130980284 Reviewed-on: https://skia-review.googlesource.com/10509 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setupGravatar Eric Karl2017-03-31
| | | | | | | | | | | | | | | Crurently, when preparing a texture for blitFramebuffer, we ignore the kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to copy from one src rect to a different dst rect. This change updates initDescForDstCopy and setupDstTexture to allocate larger textures if necessary and accomodate this flags requirements. Bug: 658277 Change-Id: I500f10dba5700f5f7a7acad04bcdbc9ac9994835 Reviewed-on: https://skia-review.googlesource.com/10247 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ok, unify failure and crash loggingGravatar Mike Klein2017-03-28
| | | | | | | | | | Just as deferred and locked crash logging makes crashes easier to read, so does deferred and locked failure logging make failures easier to read. Change-Id: I71578d61b0056f8d7e692149762def1f155c0387 Reviewed-on: https://skia-review.googlesource.com/10280 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok, plumb in GrContextFactoryGravatar Mike Klein2017-03-28
| | | | | | | | | | | | | Didn't know what options would be useful here (path renderers?), so I've left them default. Obviously we can thread them through TestSrc options. I now have "841 ok" and no failures on my Linux laptop, though I imagine the GPU tests are all just no-op'd by the TODO at the bottom of the file. Change-Id: Id934c0bdb5de96d96f2a391106b5d20116f41979 Reviewed-on: https://skia-review.googlesource.com/10213 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok, make tests really workGravatar Mike Klein2017-03-28
| | | | | | | | | | | | | | | | | | | | Here's how things work now: ~/skia (tests)> ninja -C out ok; and out/ok test ninja: Entering directory `out' [2/2] link ok 112 ok../tests/TestConfigParsing.cpp:336 configs[i]->getBackend().equals(expectedConfigs[i].backend) 211 ok, 1 failed../tests/ShadowUtilsTest.cpp:25 Expected shadow tessellation to fail but it did not. ../tests/ShadowUtilsTest.cpp:30 Expected shadow tessellation to fail but it did not. ../tests/ShadowUtilsTest.cpp:36 Expected shadow tessellation to fail but it did not. ../tests/ShadowUtilsTest.cpp:42 Expected shadow tessellation to fail but it did not. 637 ok, 2 failed Change-Id: I84b108d4fabb538a2674831dd1ca64b149d7d265 Reviewed-on: https://skia-review.googlesource.com/10209 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: add basic unit test supportGravatar Mike Klein2017-03-27
| | | | | | | | | | | | | | | Plenty TODO remaining. This can actually kind of run without a test reporter or GrContext: $ out/ok test 784 ok, 56 crashed ... lots of stack traces ... Most tests don't use the reporter unless they're going to fail. Change-Id: I7333e2c63ade5e671ebf60022d19390f1fc1c93a Reviewed-on: https://skia-review.googlesource.com/10201 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* quiet some annoying logging in unit testsGravatar Mike Klein2017-03-27
| | | | | | | | | Noticed all these while adding some unit test support to ok. Change-Id: Ie33b96da95840628657211cb28b2134fd314a48a Reviewed-on: https://skia-review.googlesource.com/10202 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: alias 565 -> sw:ct=565Gravatar Mike Klein2017-03-27
| | | | | | | | | | This is mostly a demo, and to make sure it's easy. If I'm thinking right, other non-ct options should Just Work. Change-Id: I295db0fa04921ccdd766e1870e367594ca802462 Reviewed-on: https://skia-review.googlesource.com/10190 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: handle concurrent crashes betterGravatar Mike Klein2017-03-27
| | | | | | | | | | | | | | lockf() is a simple way to prevent interlaced stack traces when there are concurrent crashes. After a crashing process rethrows its signal and dies for real, the OS unlocks the file for other processes. I tested this by making SkCanvas::drawRRect() crash on Linux: 20-odd GM crashes with interlaced stack traces before, none after. Change-Id: I99930756b8c85c552eef7c3a77778e4c00d34c42 Reviewed-on: https://skia-review.googlesource.com/10177 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: refactor Src/Dst interactionsGravatar Mike Klein2017-03-25
| | | | | | | | | | | | | | | | | | | | | | | | This makes everything a lot more like DM, for the same reason: it's the best way to make Vias work. Instead of exposing a canvas, Dsts take a Src to draw. Vias still are Dsts that wrap Dsts. They do their internal work in draw() then pass a proxy Src encapsulating that work to the next Dst's draw(). A little refactoring in ok.cpp allows arbitrary chains of Vias. I removed the guarantee that Src methods are called in strict order. It's easy enough to make each Src initialize itself as needed. I moved the .png encoding back to ok.cpp. It seemed weird for Dsts to have to think about files and paths. One day Dst will want a data() method for non-image output (.pdf, .skp), and then we'll want ok.cpp to be the one to coordinate what to write where. Change-Id: Id4a3674b2d05aef2b5f10e0077df0a8407c07b61 Reviewed-on: https://skia-review.googlesource.com/10175 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: basic ViasGravatar Mike Klein2017-03-25
| | | | | | | | | | Not sure if these simple Src/Dst interfaces will last. Vias are a little tricky, and some may be impossible. Change-Id: I42d19b1ee74b51a830bb781f25a888c0b32ba98c Reviewed-on: https://skia-review.googlesource.com/10174 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Spin off non-core parts of ok into their own files.Gravatar Mike Klein2017-03-25
| | | | | | | | | | | | Now ok.cpp handles only the high level coordination of Srcs and Dsts, without having to know or care what they are. Some minor refactoring to things like Options. Change-Id: I02df890b26d6d069e980a125b6a1ce1a7067b900 Reviewed-on: https://skia-review.googlesource.com/10173 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: introduce the idea of DstsGravatar Mike Klein2017-03-24
| | | | | | | Change-Id: I47ac01f0c2c0f2f7b925de09c18d3c8265398c8a Reviewed-on: https://skia-review.googlesource.com/10117 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Delete SkColorSpace::ColorSpaceFlagsGravatar Matt Sarett2017-03-24
| | | | | | | | | BUG=skia: Change-Id: Ia0688876915cd773614ca0c4ccd467cf6e7c603e Reviewed-on: https://skia-review.googlesource.com/10105 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Run angle in 8 sample msaa on desktopGravatar Brian Salomon2017-03-24
| | | | | | | | Change-Id: If752152daabcdb7420fd13863fea4ce49f725aab Reviewed-on: https://skia-review.googlesource.com/10108 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* ok: fix an assert from unbalanced save/restoresGravatar Mike Klein2017-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'dont_clip_to_layer' GM does not balance its layers. It calls saveLayer() 3x but restore() only 2x. This may be a bug in the GM itself, but I'm not sure so I haven't changed it here. If ok is writing .pngs, the surface passes ownership of its buffer to an image snapshot, simply marking it as immutable. Then, when the surface is destroyed later, it destroys its inner canvas, which restores its save stack to zero, actually doing some drawing in the case of unbalanced saveLayer()s. We then call notifyPixelsChanged() and hit an assert saying "you just wrote some pixels but this buffer was marked immutable." DM doesn't show this problem because it's doesn't really use surfaces and images, just bitmaps. There's no ownership handoff and nothing is ever immutable, so the condition triggering the assert never comes up. I'm not really sure where we want to say is the bug: - SkCanvas can draw in its destructor? - SkSurface doesn't restore to zero before snapping an image? - that dont_clip_to_layer should call restore three times? In any case, this guards against it in ok. I was using this as a convenient crash to help figure out how to best save and print stack traces, but now that I've got that worked out we might as well fix this. Change-Id: Id6d397f534dd1b50219e0d3078c989a4910883a6 Reviewed-on: https://skia-review.googlesource.com/10140 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: basic crash handling and stack trace dumpsGravatar Mike Klein2017-03-24
| | | | | | | | | | | | | | | This seems to work pretty nicely for each engine in the expected case of few crashes. The serial and thread engines just dump the first crash stack to stderr before dying, while the fork engine saves all crashes to a temporary file, then prints that to stderr once everything's finished. I'm not sold on this TLS solution as being the best way to know what was running when we crashed, but it's better than printing nothing. Change-Id: I0aca66529301b1ad9bd51ec728848817586c606d Reviewed-on: https://skia-review.googlesource.com/10102 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Improve TaskEngine::wait_one().Gravatar Mike Klein2017-03-23
| | | | | | | | | This runs much faster. Very good idea. Change-Id: I088aa9588c069a17e4745be55c2397114ee8a2bc Reviewed-on: https://skia-review.googlesource.com/10053 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* okGravatar Mike Klein2017-03-23
| | | | | | | Change-Id: I9d01656a9d9b7aa3ab352dd4c168b26da620a903 Reviewed-on: https://skia-review.googlesource.com/9978 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Mark overridden destructors with 'override' and remove 'virtual'Gravatar Brian Salomon2017-03-22
| | | | | | | | | 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>
* check-headers-self-sufficient: updateGravatar Hal Canary2017-03-21
| | | | | | | | | | | | * Translate to python, use multiprocessing to make it wun in reasonanble time. * Fix three headers. * Move one header. Change-Id: I0b26f912bb8086ec158d1c0bae76b923ec6121a4 Reviewed-on: https://skia-review.googlesource.com/8490 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Switch 16 sample gpu configs to 8 samplesGravatar Brian Salomon2017-03-20
| | | | | | | | | | BUG=skia: Change-Id: I053cce7c05c74860cbace00cd94ea4b96e9a482c Reviewed-on: https://skia-review.googlesource.com/9889 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Eager or Lazy evaluation of sub-drawings for SkDeferredCanvas.Gravatar Herb Derby2017-03-20
| | | | | | | | | | | | | | | | | Allow evaluation choice of Lazy or Eager evaluation for SkDeferredCanvas. Eager is used for drawing to a non-recording canvas to reduce the number of all operations. Lazy is used for drawing to a recording canvas to reduce the amount decode/encode that happens. R=reed@google.com Change-Id: I7837c4f6e5911c153e0796162e1170edbc34839e Reviewed-on: https://skia-review.googlesource.com/9839 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com>
* GetResourceAsData to use SkData::MakeFromFileName directly.Gravatar Ben Wagner2017-03-20
| | | | | | | | | | The current code creates an SkFILEStream and then reads all the bytes from it into an SkData. Instead, let the SkData just mmap the file. Change-Id: I79e3550a84e6f54ccbbd7284f5cda81ce1fa9221 Reviewed-on: https://skia-review.googlesource.com/9877 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Remove gpu configs that don't have explicit API.Gravatar Brian Salomon2017-03-20
| | | | | | | | | DOCS_PREVIEW= https://skia.org/?cl=9871 Change-Id: I510473cf91d8bee38d1e33424b1ae7b30dc86968 Reviewed-on: https://skia-review.googlesource.com/9871 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Be explicit on test and perf bots about GL vs GLESGravatar Brian Salomon2017-03-17
| | | | | | | | | | This changes the names of several shorthand names for gpu configs to be prefixed either with "gl" or "gles" and makes the bots only use such configs. It adds some missing named configs. Change-Id: Iea4e0e2ddafe0ac08e623111a15be7335156957c Reviewed-on: https://skia-review.googlesource.com/9833 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Detect RenderDoc in Windows viewer and make a core profileGravatar Brian Osman2017-03-17
| | | | | | | | | BUG=skia: Change-Id: I03a8a1b1ed9bd2483ddd8e231ba54dc10753b454 Reviewed-on: https://skia-review.googlesource.com/9836 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* remove legacy virtual for vertices, only support object formGravatar Mike Reed2017-03-17
| | | | | | | | | BUG=skia:6366 Change-Id: Ic422fa44a788d3488c050c6218dbfba188bb8f3e Reviewed-on: https://skia-review.googlesource.com/9835 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert[2] "More SkVertices implementation work""Gravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | The fix was to release the array of vertices in the picturerecorder destructor (where we also release textblobs etc. This reverts commit 1eb3fef136bc75bd8e8ed717ec7c5d4ab26def62. BUG=skia: Change-Id: I3bf4acd6ad209205b0832a3cb7f94cd89dfcefc5 Reviewed-on: https://skia-review.googlesource.com/9826 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "More SkVertices implementation work"Gravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 14583e11fd622c686993b741499060a6f3527055. Reason for revert: leaking Direct leak of 499104 byte(s) in 2112 object(s) allocated from: #0 0x1e195f0 in operator new(unsigned long) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x1e195f0) #1 0x3142b0a in SkVertices::Builder::init(SkCanvas::VertexMode, int, int, SkVertices::Sizes const&) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x3142b0a) Original change's description: > More SkVertices implementation work > > - change virtuals to take const SkVertices*, as we do for TextBobs and Images > - override onDrawVerticesObject in recording canvases > - deserialize raw-vertices into SkVertices object > > Possibly a follow-on would intercept the raw-form directly in canvas, > and remove the virtual, and only support the object form. > > BUG=skia:6366 > > Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0 > Reviewed-on: https://skia-review.googlesource.com/9633 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6366 Change-Id: I40bb7a20698ef6aa0a9ef71a3d6ac4c1473e081c Reviewed-on: https://skia-review.googlesource.com/9825 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* More SkVertices implementation workGravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | | | - change virtuals to take const SkVertices*, as we do for TextBobs and Images - override onDrawVerticesObject in recording canvases - deserialize raw-vertices into SkVertices object Possibly a follow-on would intercept the raw-form directly in canvas, and remove the virtual, and only support the object form. BUG=skia:6366 Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0 Reviewed-on: https://skia-review.googlesource.com/9633 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Rename GrAADistanceFieldPathRenderer to GrSmallPathRendererGravatar Jim Van Verth2017-03-16
| | | | | | | | | Also disables use of small distance fields in Android framework. Change-Id: I1ba40ce85aa34d067608587e1fbe1d42e8a42868 Reviewed-on: https://skia-review.googlesource.com/9731 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>