aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Make GrGpuCommandBuffer's methods take a GrRenderTargetProxy (rather than a ↵Gravatar Robert Phillips2017-07-28
| | | | | | | | | | | | | | | | | | | | GrRenderTarget) In https://skia-review.googlesource.com/c/26363/ (Remove origin field from GrSurface) I just passed an extra GrSurfaceOrigin parameter to all these methods. Besides being verbose this also led to the "discard" method having an origin (to support the GrVkGpuCommandBuffer). It think this approach is better and is plausible if the GrGpuCommandBuffer is viewed as an intermediary between the GrProxy-based Ops and the Gpu. In isolation this CL doesn't really show why we want to percolate the Proxy down. Once GrSurface no longer has an origin a lot of the GrGpu methods need it passed in explicitly. By having the GrGpuCommandBuffer get the proxy it can then pass the origin to GrGpu and removes a layer of functions with an extra origin parameter. Change-Id: Ie223fdee930171a32a5923155a0322e9a9c2aaa9 Reviewed-on: https://skia-review.googlesource.com/27980 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add a bot to verify that generated SKSL files have not been hand-editedGravatar Eric Boren2017-07-28
| | | | | | | | Bug: skia:6893 Change-Id: I54480ddd1ad1989661393500044f9164a99ce7b0 Reviewed-on: https://skia-review.googlesource.com/27700 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* Implement clone for 6 additional GrFragmentProcessor subclasses.Gravatar Brian Salomon2017-07-28
| | | | | | | | | | | | | | | GrMagnifierEffect GrMorphologyEffect GrBicubicEffect GrGaussianConvolutionFragmentProcessor GrMatrixConvolutionEffect GrTextureDomainEffect Bug: skia: Change-Id: I69721b9b95346b365723e5ee21dff2dee8884466 Reviewed-on: https://skia-review.googlesource.com/27900 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove the now unused GR_PROXY_MOVE macroGravatar Brian Salomon2017-07-28
| | | | | | | Change-Id: I9655a3032aea9c40e87742c76ad9a9ab42a159dc Reviewed-on: https://skia-review.googlesource.com/27841 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Don't re-enter mutex in SkFontMgr_fontconfig.Gravatar Ben Wagner2017-07-27
| | | | | | | | | | | | | | | | | | | | | The FCLocker lock cannot be held while calling fTFCache::add. The ~SkTypeface_fontconfig method must take the FCLocker lock to destroy its FcPattern since a typeface may be destroyed by any last owner. However, fTFCache may be the last owner of some of its cached typefaces, and so a purge when calling ::add to make space for the new entry may cause a typeface to be destroyed. As a result, createTypefaceFromFcPattern must not hold the FCLocker lock when calling fTFCache::add. Fortunately, the FCLocker lock is only needed to serialize calls into FontConfig. If acquire and release were free then they would be used around each individual call to FontConfig. As a result it is fine to give up the lock at any point in Skia code so long as no FontConfig calls are made while the FCLocker lock is not held. Change-Id: I37224d4b38bf88ace482496ce7530c84158d2d2e Reviewed-on: https://skia-review.googlesource.com/27663 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Pull non-substantive changes out of omnibus GrSurface CLGravatar Robert Phillips2017-07-27
| | | | | | | | | https://skia-review.googlesource.com/c/26363 (Remove origin field from GrSurface) is already too large. This pulls some of the cosmetic changes out for separate review. Change-Id: I1d8b95522144b2f4cbd916ef38faa3dde6f78087 Reviewed-on: https://skia-review.googlesource.com/27840 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove internal use of SkTypeface::Style.Gravatar Ben Wagner2017-07-27
| | | | | | | Change-Id: I71cf04b12be95a54b7fb47d048ba1f8672ed9a8f Reviewed-on: https://skia-review.googlesource.com/27760 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* address brianosman feedbackGravatar Cary Clark2017-07-27
| | | | | | | | | | | | | | | | | | comments are here https://skia-review.googlesource.com/c/23061/16 Some bugs pointed out are in the generation code and will take more time to work out; the changes here I could make immediately R=brianosman@google.com TBR=reed@google.com Change-Id: I7497e5a220a5df597d0e881acd3747ee17856cd1 Reviewed-on: https://skia-review.googlesource.com/26901 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org> Reviewed-by: Brian Osman <brianosman@google.com>
* switched to infra version of clang-format for skslcGravatar Ethan Nicholas2017-07-27
| | | | | | | Change-Id: I3e993e271cb5e26816d37c70d9ad62acce3ed84c Reviewed-on: https://skia-review.googlesource.com/27800 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Implement clone() for Gradient GrFragmentProcessorsGravatar Brian Salomon2017-07-27
| | | | | | | | | Also removes the hard stop gradient conditional compilation macro. Change-Id: Idd56b5f3061db063d650a0090406ec192acc0b53 Reviewed-on: https://skia-review.googlesource.com/27661 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Remove the temporary flag SK_NO_ANALYTIC_AA"Gravatar Yuqian Li2017-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit dbce07d80334a89b225280bdd6152c916a0a7919. Reason for revert: need rebaseline in Google3 Original change's description: > Remove the temporary flag SK_NO_ANALYTIC_AA > > It seems that this temp flag lives for too long... > > Bug: skia: > Change-Id: I48b49af8b7f372abac88a8cd5440def3791e635a > Reviewed-on: https://skia-review.googlesource.com/27662 > Reviewed-by: Cary Clark <caryclark@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Yuqian Li <liyuqian@google.com> TBR=caryclark@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com Change-Id: I35a91923f16f4e1f530fae20599240cde73438b6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/27722 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Remove GrTraceMarker and friendsGravatar Brian Osman2017-07-27
| | | | | | | | | | This has been disabled for almost two years. Bug: skia: Change-Id: Idc1dbf2220514947d2ccd91968e6e173d44d1b86 Reviewed-on: https://skia-review.googlesource.com/27740 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove the temporary flag SK_NO_ANALYTIC_AAGravatar Yuqian Li2017-07-27
| | | | | | | | | | | It seems that this temp flag lives for too long... Bug: skia: Change-Id: I48b49af8b7f372abac88a8cd5440def3791e635a Reviewed-on: https://skia-review.googlesource.com/27662 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
* rearrange SkJumper registers on 32-bit x86Gravatar Mike Klein2017-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are not many registers on 32-bit x86, and we're using most to pass Stage function arguments. This means few are available as temporaries, and we're forced to hit the stack all the time. xmm registers are the most egregious example: we use all 8 registers pass data, leaving none free as temporaries. This CL cuts things down pretty dramatically, from passing 5 general purpose and 8 xmm registers to 2 general purpose and 4 xmm registers. One of the two general purpose registers is a pointer to space on the stack where we store all those other values. Every stage function needs to use the program pointer, so that stays in a general purpose register. Almost every stage uses the r,g,b,a vectors, so they stay in xmm registers. The rest (destination x,y, the tail mask, a pointer to tricky constants, and the dr,dg,db,da vectors) now live on the stack. The generated code is about 20K smaller and runs about 20% faster. $ out/monobench SkRasterPipeline_srgb 200 Before: 358.784ns After: 282.563ns Change-Id: Icc117af95c1a81c41109984b32e0841022f0d1a6 Reviewed-on: https://skia-review.googlesource.com/27620 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make StencilPathArgs hold a GrRenderTargetProxy (rather than a GrRenderTarget)Gravatar Robert Phillips2017-07-27
| | | | | | | | | Again, this will be useful when GrSurface does not have a origin field. Change-Id: I0c4ef5b441eaf38f3489e8631aced11b11fdb6ac Reviewed-on: https://skia-review.googlesource.com/27540 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* clean up SK_SUPPORT_LEGACY_WIN32_JUMPERGravatar Mike Klein2017-07-27
| | | | | | | Change-Id: Icae3c6ce80a0bef097ea1010a4d065cc9d5a4c88 Reviewed-on: https://skia-review.googlesource.com/27560 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Implement GrFragmentProcessor::clone for 6 additional subclasses.Gravatar Brian Salomon2017-07-27
| | | | | | | | | | | | | PremulInputFragmentProcessor UnpremulInputFragmentProcessor PremulFragmentProcessor ReplaceInputFragmentProcessor SeriesFragmentProcessor Change-Id: Ided1a6c6b66e12bfd8ee005950443333cc23b830 Reviewed-on: https://skia-review.googlesource.com/26680 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove Gr1DKernelEffect "helper" class.Gravatar Brian Salomon2017-07-27
| | | | | | | Change-Id: I748e49eeacb782fb738c08d5475c442dbce3ad5a Reviewed-on: https://skia-review.googlesource.com/27500 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Implement clone() for 4 additional GrFragmentProcessor subclassesGravatar Brian Salomon2017-07-27
| | | | | | | | | | | | HighContrastFilterEffect LumaColorFilterEffect OverdrawFragmentProcessor RRectsGaussianEdgeFP Change-Id: Ie843e025e49dd46e3f75a5f79d399ddd3ceba5cd Reviewed-on: https://skia-review.googlesource.com/26660 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Expose srgbDecodeDisableSupport in GrCapsGravatar Brian Osman2017-07-27
| | | | | | | | | | | This will allow Flutter to workaround the lack of this extension on a small number of devices. Bug: skia: Change-Id: I46e54aaffc0551a7a17758ebc2016b39bda19abf Reviewed-on: https://skia-review.googlesource.com/27440 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Unify DAA and AAA usage decisionGravatar Yuqian Li2017-07-27
| | | | | | | | Bug: skia: Change-Id: I2481d872e072fdd638640ef2306aa89c1a1d6d94 Reviewed-on: https://skia-review.googlesource.com/26801 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Revert "Revert "Fix SkPathRef deserialization malloc crash""Gravatar Mike Reed2017-07-27
| | | | | | | | | | | | | | | | This reverts commit a4ce4b1f6bef22e7ca5c7a952197fc2bc70923fc. Fix SkPathRef deserialization malloc crash If the path says it has more points/verbs/etc than the buffer could be holding, then resetToSize could try to allocate something huge and crash. Bug: skia: Change-Id: I23b8870e9f74386aca89fb8f9a60d3b452044094 Reviewed-on: https://skia-review.googlesource.com/26805 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove GrSingleTextureEffectGravatar Brian Salomon2017-07-26
| | | | | | | Change-Id: I510cc0657f9433b206dc2ab643fa557667263294 Reviewed-on: https://skia-review.googlesource.com/27180 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* remove SK_SUPPORT_LEGACY_CODEC_NEW dead codeGravatar Mike Reed2017-07-26
| | | | | | | | Bug: skia: Change-Id: I59185b8acc00b6df854c613ba29d1002111fcb42 Reviewed-on: https://skia-review.googlesource.com/27240 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* factor Engine out of ok coreGravatar Mike Klein2017-07-26
| | | | | | | | | | | | | | This makes Engines (task execution strategies: serial, thread, fork) pluggable just like most of the rest of ok. It removes the thread and process limits, as I find myself rarely caring about what they are exactly. Instead of limiting to num-cores, we just allow any number of concurrent threads, and any number of concurrent child processes subject to OS limitations. Change-Id: Icef49d86818fe9a4b7380efb60e73e40bc2e6b73 Reviewed-on: https://skia-review.googlesource.com/27140 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GrPipeline hold a GrRenderTargetProxy (instead of a GrRenderTarget)Gravatar Robert Phillips2017-07-26
| | | | | | | | | | | In a future world where GrSurface no longer has an origin it will be useful for the GrPipeline to be holding the GrRenderTargetProxy (which will still have an origin). Change-Id: I743a8cc07b6b92f8116227fb77b7c37da43cde8a Reviewed-on: https://skia-review.googlesource.com/26804 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* moved changes out of autogenerated .cpp file and into source .fp fileGravatar Ethan Nicholas2017-07-26
| | | | | | | | Bug: skia: Change-Id: Ia849b8745d10fe252eee04ae9444b98befac6e76 Reviewed-on: https://skia-review.googlesource.com/26700 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add --traceMatch argument to filter tracing categoriesGravatar Brian Osman2017-07-26
| | | | | | | | | Bug: skia: Change-Id: I1449f0f4d7d9ab6225d98c601eafa7461a2a7dde Reviewed-on: https://skia-review.googlesource.com/27120 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Don't clamp in GrGLNonlinearColorSpaceXformEffect to support scRGBGravatar Stan Iliev2017-07-26
| | | | | | | | | | | Remove color clamp to allow for negative and greater than 1.0 values, when converting to scRGB. Bug: b/62347704 Change-Id: I5b811d5dd464cf3bb126ad435a7d27c4563fdacc Reviewed-on: https://skia-review.googlesource.com/26862 Commit-Queue: Stan Iliev <stani@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Update Debian GTX960 dimensions to match bot.Gravatar Ben Wagner2017-07-26
| | | | | | | | | Bug: skia:6890 No-Try: true Change-Id: I7dea98375b4a146ceca74e4b1913cb281a4a3149 Reviewed-on: https://skia-review.googlesource.com/26802 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Eric Boren <borenet@google.com>
* Implement GrFragmentProcessor::clone() for lighting and perlin noise classesGravatar Brian Salomon2017-07-26
| | | | | | | Change-Id: I4c6d426f170711a06d833257422092bb4b9de20c Reviewed-on: https://skia-review.googlesource.com/26945 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Compose and YUV fragment processor clone implementationsGravatar Brian Salomon2017-07-26
| | | | | | | Change-Id: If4d9f1aaf0e5939afb5ad5825d7198db18541926 Reviewed-on: https://skia-review.googlesource.com/27060 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Fix SkPathRef deserialization malloc crash"Gravatar Mike Reed2017-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit df6660f64e4d915de7471c3daa67f9b68037ff3f. Reason for revert: crashing dm on android and windows Original change's description: > Fix SkPathRef deserialization malloc crash > > If the path says it has more points/verbs/etc than the buffer could > be holding, then resetToSize could try to allocate something huge > and crash. > > Change-Id: I40e8db87e4f61abb23217281ab0365c6af222fa3 > Reviewed-on: https://skia-review.googlesource.com/24802 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=bungeman@google.com,reed@google.com,enne@chromium.org Change-Id: I06fa89c05b785652b097ae04e7ebc001a7c176b2 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/26944 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "ok, exit() child processes instead of _exit()"Gravatar Mike Klein2017-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9ac801c12c48b67b48e5a8ef2876a093b7de73fc. Reason for revert: breaks threaded mode. Original change's description: > ok, exit() child processes instead of _exit() > > We want the atexit() hook to print deferred logs (crash dumps, etc.) only when the main, parent process exits. Ending the child processes with _exit() instead of exit() avoids calling atexit() hooks, but also global destructors. This is more complex than we need: we can just print before main() exits. Only the main, parent process gets there. > > This now runs each child process' global destructors, which makes trace.json "work": we get a trace of whichever child process finishes last. It's a start. > > Change-Id: I0cc2b12592f0f79e73a43a160b9fd06dba1fee25 > Reviewed-on: https://skia-review.googlesource.com/26800 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Brian Osman <brianosman@google.com> TBR=mtklein@chromium.org,brianosman@google.com Change-Id: I695dddaab3b5a51e4698bb7222fc723b544a1d64 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/26943 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* More GrFragmentProcessor::clone() implementations.Gravatar Brian Salomon2017-07-26
| | | | | | | | | | | | | GrSRGBEffect EllipticalRRectEffect CircularRRectEffect GrNonlinearColorSpaceXformEffect GrDeviceSpaceTextureDecalFragmentProcessor Change-Id: I701fb7ed36e66414adba2eea73f6eed306691b49 Reviewed-on: https://skia-review.googlesource.com/26942 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix SkPathRef deserialization malloc crashGravatar Adrienne Walker2017-07-26
| | | | | | | | | | | If the path says it has more points/verbs/etc than the buffer could be holding, then resetToSize could try to allocate something huge and crash. Change-Id: I40e8db87e4f61abb23217281ab0365c6af222fa3 Reviewed-on: https://skia-review.googlesource.com/24802 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Implement clone for 4 additional GrFragmentProcessors.Gravatar Brian Salomon2017-07-26
| | | | | | | | | | | | GrConfigConversionEffect GrConstColorProcessor GrConvexPolyEffect AARectEffect Change-Id: I3b103ed045db0825fc193ee7d6e61c8fe8e5c634 Reviewed-on: https://skia-review.googlesource.com/26842 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Use ifdef instead of ifndefGravatar Yuqian Li2017-07-26
| | | | | | | | Bug: skia: Change-Id: I9f86f71247379713ffaf14e5c704c2ac4c6f9cbd Reviewed-on: https://skia-review.googlesource.com/26861 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* SkPDF: Use DeviceGray for alpha masks.Gravatar Hal Canary2017-07-26
| | | | | | | | | | See https://groups.google.com/forum/#!topic/pdf-dev/qmdjg3w7D8E BUG=chromium:742058 Change-Id: Ia8c204a92cb2b9fc33fab60826a95e359db65f08 Reviewed-on: https://skia-review.googlesource.com/26822 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Fix viewer state that has empty state/optionGravatar Yuqian Li2017-07-26
| | | | | | | | | | | | | If the value or option is empty (as was for kInstancedRenderingStateName), our Android Java application will throw exception and skip the remaining state objects. That would result in missing "Softkeys" and "FPS" for Raster backend in Android Viewer app. Bug: skia: Change-Id: I6f600bbb94509ca5389eac2d681304a00427ecdb Reviewed-on: https://skia-review.googlesource.com/26527 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* add Make factory to SkMemoryStream (simplify call-sites)Gravatar Mike Reed2017-07-26
| | | | | | | | Bug: skia:6888 Change-Id: Ia4e432673ed089a91229697c8dde0489f220000d Reviewed-on: https://skia-review.googlesource.com/26884 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* generated documentation for SkPaintGravatar Cary Clark2017-07-26
| | | | | | | | | | | | | | | | | | | I've uploaded SkPaint.h as written by bookmaker. I'm looking for feedback about the style and content of this generated documentation. One bug I know about: Doxygen has long comments before enum and struct members, and short comments on the same line as those members. If the documentation mixes these, the result looks confusing. Still thinking about how to handle this. Thanks for looking Change-Id: I815825dbd4408542e6f4108538199a303399b5d2 Reviewed-on: https://skia-review.googlesource.com/23061 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Mike Reed <reed@google.com>
* remove codec-api flagGravatar Mike Reed2017-07-26
| | | | | | | Bug: skia:6888 Change-Id: I069fd71f7f058171667f25207a1e72ef3f694350 Reviewed-on: https://skia-review.googlesource.com/26885 Reviewed-by: Mike Reed <reed@google.com>
* Normalize canvas tracingGravatar Brian Osman2017-07-26
| | | | | | | | | | | | | | Only trace the non-virtual entry points, and only the last such function on any chain before dispatching to the onXXX virtual. Cuts down on nested event chatter, and adds in events for several draw functions that had no tracing at all. Bug: skia: Change-Id: I89648769d4c900e27159e4f51af889347fc0f196 Reviewed-on: https://skia-review.googlesource.com/26900 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Further reduce stack size according to -fstack-usageGravatar Yuqian Li2017-07-26
| | | | | | | | | | | It seems that google3 is using -fstack-usage to determine whether we exceed 16k. Bug: skia: Change-Id: I259ff7fc0e6614dde83eb340f0a17efbc52ebf57 Reviewed-on: https://skia-review.googlesource.com/26940 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Automatically prepend "disabled-by-default-" to TRACE categoriesGravatar Brian Osman2017-07-26
| | | | | | | | | | | Ensures that all Skia events are disabled by default in Chrome, and eliminates redundant typing. Bug: skia: Change-Id: I289c5e5a01084fcf4cccf512da65a4727f4aeca2 Reviewed-on: https://skia-review.googlesource.com/26880 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* ok, exit() child processes instead of _exit()Gravatar Mike Klein2017-07-26
| | | | | | | | | | | We want the atexit() hook to print deferred logs (crash dumps, etc.) only when the main, parent process exits. Ending the child processes with _exit() instead of exit() avoids calling atexit() hooks, but also global destructors. This is more complex than we need: we can just print before main() exits. Only the main, parent process gets there. This now runs each child process' global destructors, which makes trace.json "work": we get a trace of whichever child process finishes last. It's a start. Change-Id: I0cc2b12592f0f79e73a43a160b9fd06dba1fee25 Reviewed-on: https://skia-review.googlesource.com/26800 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Further reduce google3 stack sizeGravatar Yuqian Li2017-07-26
| | | | | | | | | | | It seems that the compiler added the stack size of two "if" branches, rather than get the max of them... Bug: skia: Change-Id: Idf6b47cafd84c9a53a7b8dafb38f815e08094100 Reviewed-on: https://skia-review.googlesource.com/26780 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Tracing macro cleanup continuedGravatar Brian Osman2017-07-26
| | | | | | | | | | | - Remove one especially chatty event, and one pointless test - Use TRACE_FUNC everywhere, rather than manual strings Bug: skia: Change-Id: Icb795294009150ca9a260436738d79546a733337 Reviewed-on: https://skia-review.googlesource.com/26701 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* guard SkTableColorFilter against out-of-range inputsGravatar Mike Klein2017-07-26
| | | | | | | | | | | | | | I was going to be clever here and only clamp when we know the inputs are out of range, but this filter is rare and slow enough that I think I'd rather it just be super paranoid safe. The test crashes without this fix and passes with it. Change-Id: I4e17aad2b5c1e96180ce8d73b97bee746cf985c2 Reviewed-on: https://skia-review.googlesource.com/26702 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>