aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* Drop draw in GrAAConvextPathRenderer if calculation of center of mass ends ↵Gravatar Greg Daniel2018-04-03
| | | | | | | | | | up in NaN Bug: skia:7770 Change-Id: If27494f5df0b5d5ba037e1d21c06bff98019d2b0 Reviewed-on: https://skia-review.googlesource.com/118300 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Hardcode a font for lcd testing on MacOS.Gravatar Ben Wagner2018-04-03
| | | | | | | | | | | | | Currently we try to get Helvetica or the default font and draw a pipe and look to see if there is any non-gray. We should bring our own font for this check, since sometimes the system font may not be accessible. BUG=chromium:822218 Change-Id: I9c4988b0acbb5a59445a0ec7f3fade73678b973e Reviewed-on: https://skia-review.googlesource.com/117862 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* Check for divide by zero in fill_in_2D_gaussian_kernelGravatar Greg Daniel2018-04-03
| | | | | | | | | | Same change as the 1D one, but now with more dimensions!! Bug: skia:7769 Change-Id: I152031780ab71ba106d4fa65d52960ec4358274e Reviewed-on: https://skia-review.googlesource.com/118262 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Check for divide by zero in fill_in_1D_gaussian_kernelGravatar Greg Daniel2018-04-03
| | | | | | | | Bug: skia:7769 Change-Id: I56a67f8a6f19437359ad6e7bf2d57f6e9a7992c9 Reviewed-on: https://skia-review.googlesource.com/118240 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* fix pathop fuzzesGravatar Cary Clark2018-04-03
| | | | | | | | | | | | | | | | | throw an error instead of asserting for one for the other, only assert if the values are trusted. That's not ideal, but I don't see an easy way to insert a fail safety hatch in this code and if the assert is ignored, no further assert is triggered. verified that extended tests run without problem on debug and release R=kjlubick@google.com Bug: skia: Change-Id: I5544b6cbef97479854dbecb05baae6b2c41cabc9 Reviewed-on: https://skia-review.googlesource.com/117725 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Allow for divide by zero in miter calculation in GrAAConvexTessellatorGravatar Greg Daniel2018-04-03
| | | | | | | | Bug: skia:7769, oss-fuzz:7302 Change-Id: Id5c70a3be5525ed6b414d7e03d7e94183835f8e3 Reviewed-on: https://skia-review.googlesource.com/118167 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* GrTessellator: fix for points that become infinite on stroking.Gravatar Stephen White2018-04-03
| | | | | | | | | | | stroke -> Inf -> NaN -> assert. BUG=skia:7775 Change-Id: I086883bce90d1d473cff87f67e954718ea3181f6 Reviewed-on: https://skia-review.googlesource.com/118145 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Catch infinite numbers in computeMatricesGravatar Kevin Lubick2018-04-03
| | | | | | | | Bug: skia:7433 Change-Id: I54ec095a2e6a3596f99e3659c947c6489a68ff47 Reviewed-on: https://skia-review.googlesource.com/118164 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Increase precision in GrSRGBEffectGravatar Brian Salomon2018-04-03
| | | | | | | | | Allows ApplyGammaTest to pass on Bifrost, which uses fp16 for mediump. Change-Id: Icd04001939a2cb7e1789132ab035ca498c92112a Reviewed-on: https://skia-review.googlesource.com/118162 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add SkOffsetSimplePolygon.Gravatar Jim Van Verth2018-04-03
| | | | | | | | | | | Performs inset and outset operations on simple polygons and returns a simple polygon, if possible. Bug: skia: Change-Id: I6d468174ad70b5279b736c532e19cbb84ff9f955 Reviewed-on: https://skia-review.googlesource.com/116483 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fix non-GPU release botsGravatar Robert Phillips2018-04-03
| | | | | | | | TBR=bsalomon@google.com Change-Id: I8b0a6ff0ca7674c94bfbc739d313cfac5a16596f Reviewed-on: https://skia-review.googlesource.com/118100 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Speculative fix for crbug.com/823920Gravatar Brian Salomon2018-04-03
| | | | | | | | Bug: chromium:823920 Change-Id: I679cdf848280a26b8e353b51750823f497e50a67 Reviewed-on: https://skia-review.googlesource.com/117861 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Cleanup Ops - remove extra bytes sent and receivedGravatar Herb Derby2018-04-02
| | | | | | | | | BUG=skia:7515 Change-Id: I0a1da98cbf20e39fec9f318e7aa9e253bd3878b4 Reviewed-on: https://skia-review.googlesource.com/117864 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Simplify SkDrawTiler; check emtpy pixmap and overflowGravatar Yuqian Li2018-04-02
| | | | | | | | | | Not sure whether this will fix b/77249109, but we can have a try. Bug: b/77249109 Change-Id: Ia569cb130758dd0a63bfe2ecb29e61c75716c955 Reviewed-on: https://skia-review.googlesource.com/117460 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* SkScalerContext::getMetrics to not request metrics it will ignore.Gravatar Ben Wagner2018-04-02
| | | | | | | | | | | | | | | | | | Before this change SkScalerContext::getMetrics always calls generateMetrics to force the subclass to create full metrics. However, if the SkScalerContext is going to draw from outlines then there is no reason to do so since it is immediately going to overwrite those metrics by computing its own from the path. This also puts off other decisions being made based on the glyph metrics until after the metrics are fully computed. The logic in SkScalerContext::getImage is updated to be similar to the logic in the new SkScalerContext::getMetrics. Change-Id: I1798c9244277fab85595fb39fc3a85ef7eb33620 Reviewed-on: https://skia-review.googlesource.com/117085 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "implement SkTDArray with std::vector"Gravatar Mike Klein2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 80e1d56e198c5fd9fe6db0c945bd558053a8dc6a. Reason for revert: SkRTree.cpp:57 asserting, probably this? Original change's description: > implement SkTDArray with std::vector > > It's always worth seeing if we can get away with replacing custom data > structures with ones from the standard library. Our array-like types > are all good candidates to replace with std::vector, and it's especially > easy to start with SkTDArray. Unlike the others, it has no preallocated > S-variant, which is tricky to make work with std::vector. > > SkTDArray also has known integer overflow bugs, leading to out of range > writes. It'd be _very_ nice to ditch it for a better standard vector. > > I removed a bunch of unused or little-used methods, and updated a couple > call sites that used methods in unusual or dangerous ways. > > I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just > a touch to work within the constraints of an std::vector impl. It's not > intended to be legal to write to the reserved-but-not-counted elements > of an SkTDArray, but you can get away with it in our old implementation. > This version now uses setCount() to actually reserve and count them, and > should have the same performance and use the same amount of memory. > > The PathMeasure_explosion GM I added recently to reproduce this bug now > draws without triggering undefined behavior or ASAN errors, provided you > have ~40GB of RAM. > > Bug: skia:7674 > > Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e > Reviewed-on: https://skia-review.googlesource.com/115982 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,bungeman@google.com,brianosman@google.com Change-Id: Icffd9f22fe89746a970ff598e1a05c774960bc0e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7674 Reviewed-on: https://skia-review.googlesource.com/117901 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkPDF/SkTypefaceMetrics: Set PostScript Name in Directwrite backend.Gravatar Hal Canary2018-04-02
| | | | | | | | | | | Also, clean up Freetype and Mac impls. Also, sk_get_locale_string returns an error value. Change-Id: If8dfc101e28a1d782679174fe6f5a28812563af5 Reviewed-on: https://skia-review.googlesource.com/117229 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* SkPDF/Clusterator: a second testGravatar Hal Canary2018-04-02
| | | | | | | Change-Id: I805672d88f1c913acba58feca3ad950f5d82884d Reviewed-on: https://skia-review.googlesource.com/117639 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* ccpr: Normalize homogeneous coords with frexp/ldexpGravatar Chris Dalton2018-04-02
| | | | | | | | | | | | Hopefully increases cubic accuracy by manipulating exponents instead of calling normalize(). Bug: skia: Change-Id: I8d3596e858a2fbb6650c158753133c5a2e01e166 Reviewed-on: https://skia-review.googlesource.com/117009 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Turn on rendertarget sortingGravatar Robert Phillips2018-04-02
| | | | | | | Change-Id: I1315d0864ee0963569c23f70c1185488b5216f99 Reviewed-on: https://skia-review.googlesource.com/117686 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* implement SkTDArray with std::vectorGravatar Mike Klein2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's always worth seeing if we can get away with replacing custom data structures with ones from the standard library. Our array-like types are all good candidates to replace with std::vector, and it's especially easy to start with SkTDArray. Unlike the others, it has no preallocated S-variant, which is tricky to make work with std::vector. SkTDArray also has known integer overflow bugs, leading to out of range writes. It'd be _very_ nice to ditch it for a better standard vector. I removed a bunch of unused or little-used methods, and updated a couple call sites that used methods in unusual or dangerous ways. I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just a touch to work within the constraints of an std::vector impl. It's not intended to be legal to write to the reserved-but-not-counted elements of an SkTDArray, but you can get away with it in our old implementation. This version now uses setCount() to actually reserve and count them, and should have the same performance and use the same amount of memory. The PathMeasure_explosion GM I added recently to reproduce this bug now draws without triggering undefined behavior or ASAN errors, provided you have ~40GB of RAM. Bug: skia:7674 Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e Reviewed-on: https://skia-review.googlesource.com/115982 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove specVersion check on vk extensions.Gravatar Greg Daniel2018-04-02
| | | | | | | | | | | | | Unlike the specVersion parameter on the layers, specVersion on extensions does not mean what vulkan spec version the extensions work with but just what version of the extension it is. Thus we don't want to compare it to the version of the spec we are making. Bug: skia: Change-Id: If47c249b4cca0b9a10bfb3b8ce88db6bda1e12ed Reviewed-on: https://skia-review.googlesource.com/117634 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* fix SkRRect fuzzer assertGravatar Cary Clark2018-04-02
| | | | | | | | | | | | | | | | | | | fuzzer bug triggers an assert in SkRRect::isValid because on radius is zero and the other, while small, is not. The radii are normally both set to zero if one is zero in SkRRect::setRectRadii. However, subsequently scaleRadii may set one to zero when normalizing the pair. Move the clamping code out of setRectRadii so it can be called from scaleRadii as well. R=reed@google.com Bug: skia: Change-Id: Ib9a86da7212567b2f4b83d99a41cf9ba2c30e9b9 Reviewed-on: https://skia-review.googlesource.com/115701 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* More nans causing infinite recursion in GrPathUtils::convertCubicToQuadsGravatar Kevin Lubick2018-04-02
| | | | | | | | | | Follow up to https://skia-review.googlesource.com/c/skia/+/87302 Bug: skia: Change-Id: Ic2efef2eb44dbb6a1ffdd1618ea4833a5a5afc4b Reviewed-on: https://skia-review.googlesource.com/117630 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* fix for frexp dataflow analysisGravatar Ethan Nicholas2018-04-01
| | | | | | | | Bug: skia: Change-Id: Ic20bedadfbf37fd78ce03872ece2d9552307cfcd Reviewed-on: https://skia-review.googlesource.com/117243 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Add SkSurface factory that takes an SkSurfaceCharacterizationGravatar Robert Phillips2018-03-30
| | | | | | | | | TBR=bsalomon@google.com Change-Id: Ie38123dc7c35005bfe8500bf4a16e0d16bbf36bd Reviewed-on: https://skia-review.googlesource.com/117236 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Delete GPU alpha clip masks"Gravatar Chris Dalton2018-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a466228a616b1b02ede2d4389fefcfc839a54a25. Reason for revert: Turned up a vulkan driver bug Original change's description: > Delete GPU alpha clip masks > > The cost of switching render targets on each draw to make a custom > clip is enormous. There are virtually no circumstances where this will > outperform our cached, multi-threaded software mask generator. The > tried-and-true approach to clipping on-GPU is with analytic FPs. And > now that we support CCPR clip FPs, there ulitmately should be very few > clip stacks that even require a mask as long as they don't use > deprecated SkClipOps. > > Bug: skia: > Change-Id: I79c5558c93c1b99179f1e933d029f69b14ad1ce3 > Reviewed-on: https://skia-review.googlesource.com/116724 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=robertphillips@google.com,brianosman@google.com,csmartdalton@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Iba289e00ba2eca7084dc8517491cfb5f6ab6266f Reviewed-on: https://skia-review.googlesource.com/117420 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "vulkan: Blacklist MSAA path renderer on Qualcomm drivers"Gravatar Chris Dalton2018-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 03616574024a7f321e885e5ab6fc575746573109. Reason for revert: Caused more bad golds than it fixed Original change's description: > vulkan: Blacklist MSAA path renderer on Qualcomm drivers > > Bug: skia:7758 > Change-Id: I96b5c259352949d67f5e0263a7164cdce54b3269 > Reviewed-on: https://skia-review.googlesource.com/117152 > Reviewed-by: Derek Sollenberger <djsollen@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=djsollen@google.com,egdaniel@google.com,csmartdalton@google.com Change-Id: I80714a4cba7d495bc6ad89616b6c5f6eb8492bdb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7758 Reviewed-on: https://skia-review.googlesource.com/117340 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* SkPDF/Clusterator: expose to the light of a unit testGravatar Hal Canary2018-03-29
| | | | | | | Change-Id: I5667da133f608ab42f83daba3424134b8e956b1e Reviewed-on: https://skia-review.googlesource.com/117006 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Fix up .fp filesGravatar Robert Phillips2018-03-29
| | | | | | | | | Patch for: https://skia-review.googlesource.com/c/skia/+/115989 (Dump additional details about the gpu resources.) Change-Id: I8e47c1c5e9f0180cb611fe6e1d45625a0cd75a8d Reviewed-on: https://skia-review.googlesource.com/117082 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* vulkan: Blacklist MSAA path renderer on Qualcomm driversGravatar Chris Dalton2018-03-29
| | | | | | | | | Bug: skia:7758 Change-Id: I96b5c259352949d67f5e0263a7164cdce54b3269 Reviewed-on: https://skia-review.googlesource.com/117152 Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* SkAdvancedTypefaceMetrics: distinguish between font namesGravatar Hal Canary2018-03-29
| | | | | | | Change-Id: I7d094c7327fae7a6da42b118858c59ab524ee6ae Reviewed-on: https://skia-review.googlesource.com/117157 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Snap non-scaled emoji to pixel bordersGravatar Jim Van Verth2018-03-29
| | | | | | | | Bug: skia:7747 Change-Id: I9a083c2e98a58a847b8f0a37503a09fd94b6ae08 Reviewed-on: https://skia-review.googlesource.com/117184 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Dump additional details about the gpu resources.Gravatar Derek Sollenberger2018-03-29
| | | | | | | | | | | | | | | | | GpuResources now dump optional string values that describe the type and category of the resource. The type provides a description of the kind of resource it is (e.g. texture, buffer object, stencil, etc.) and the category describes what the resource is currently tasked to do (e.g. path masks, images, scratch, etc.) This CL also refactors the dump logic in an attempt to consolidate duplicated code into GrGpuResources.cpp. Bug: b/74435803 Change-Id: I83cae825f41e6450a21398ab3ecea349c7c61c15 Reviewed-on: https://skia-review.googlesource.com/115989 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* SkPDF: type3: more descriptor valuesGravatar Hal Canary2018-03-29
| | | | | | | | | Also: add fXHeight to SkAdvancedTypefaceMetrics.h Change-Id: I28314cf93ca9808216ee34c202a0fa9fc2ffe301 Reviewed-on: https://skia-review.googlesource.com/117155 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Remove path ranges from gpu.Gravatar Ben Wagner2018-03-29
| | | | | | | | | | These appear to have been added to handle glyph paths with nvpr and no longer appear to be used. Change-Id: Id75e2e85ab837a5808e7641873d217c844cd827c Reviewed-on: https://skia-review.googlesource.com/117103 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* SkDynamicMemoryWStream: clean up, asserts, etc.Gravatar Hal Canary2018-03-29
| | | | | | | | BUG=chromium:825476 Change-Id: Ied7d5e8313781821acc778d784ecade46b93ca22 Reviewed-on: https://skia-review.googlesource.com/116860 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Reland "GrTessellator: hang fix."Gravatar Stephen White2018-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 050c86768a2c24c62655f53ef9b685d40477eccb Original change's description: > GrTessellator: hang fix. > > Some edges are not coincident with their own endpoints (because floating > point). If this happens for an edge which is a right-enclosing-edge > during the Bentley-Ottman simplify() pass, we end up an infinite loop > attempting to split the edge, since the edge is never to the right of its > endpoint. > > The easiest fix is to simply remove the right-enclosing-edge splitting > code. This code was originally added before we had proper > active-edge-list rewinding, and should no longer be necessary. > > BUG=802896 > > Change-Id: Id9f2942b73f01152af8c0088e8c6b1389891d827 > Reviewed-on: https://skia-review.googlesource.com/116920 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Stephen White <senorblanco@chromium.org> Bug: 802896 Change-Id: I3e48346a8a358ae7d481299a586003e817a519ca Reviewed-on: https://skia-review.googlesource.com/117121 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fixing build with SK_IGNORE_TO_STRING defined.Gravatar Kaloyan Donev2018-03-29
| | | | | | | Change-Id: Id7238e427e490338d1f610255774c2069cfd4879 Reviewed-on: https://skia-review.googlesource.com/117060 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* fixed type mismatches in SkSL comparison operatorsGravatar Ethan Nicholas2018-03-29
| | | | | | | | Bug: skia: Change-Id: I8f05088c561a80549264f7a65cb8161bbe7d8f4c Reviewed-on: https://skia-review.googlesource.com/116982 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Don't use gl_FragCoord on legacy Tegra hardwareGravatar Chris Dalton2018-03-29
| | | | | | | | | Bug: skia:7413 Bug: skia:7757 Change-Id: I588c49409fd630f4c15546d8be64fb46c87db3c3 Reviewed-on: https://skia-review.googlesource.com/117007 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "GrTessellator: hang fix."Gravatar Mike Klein2018-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 050c86768a2c24c62655f53ef9b685d40477eccb. Reason for revert: layout test diff in Chrome roll? Original change's description: > GrTessellator: hang fix. > > Some edges are not coincident with their own endpoints (because floating > point). If this happens for an edge which is a right-enclosing-edge > during the Bentley-Ottman simplify() pass, we end up an infinite loop > attempting to split the edge, since the edge is never to the right of its > endpoint. > > The easiest fix is to simply remove the right-enclosing-edge splitting > code. This code was originally added before we had proper > active-edge-list rewinding, and should no longer be necessary. > > BUG=802896 > > Change-Id: Id9f2942b73f01152af8c0088e8c6b1389891d827 > Reviewed-on: https://skia-review.googlesource.com/116920 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=robertphillips@google.com,senorblanco@chromium.org Change-Id: Icb928db6c052a21c6d327da9492cb991f769186f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 802896 Reviewed-on: https://skia-review.googlesource.com/117120 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add color fonts.Gravatar Ben Wagner2018-03-28
| | | | | | | | | | | | | BUG=skia:7624 Change-Id: I68a6bb4c6fa541ffad565d970438d93ff1bd8ed6 Reviewed-on: https://skia-review.googlesource.com/109521 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-on: https://skia-review.googlesource.com/116541 Reviewed-on: https://skia-review.googlesource.com/116984 Reviewed-by: Ben Wagner <bungeman@google.com>
* GrTessellator: hang fix.Gravatar Stephen White2018-03-28
| | | | | | | | | | | | | | | | | | | Some edges are not coincident with their own endpoints (because floating point). If this happens for an edge which is a right-enclosing-edge during the Bentley-Ottman simplify() pass, we end up an infinite loop attempting to split the edge, since the edge is never to the right of its endpoint. The easiest fix is to simply remove the right-enclosing-edge splitting code. This code was originally added before we had proper active-edge-list rewinding, and should no longer be necessary. BUG=802896 Change-Id: Id9f2942b73f01152af8c0088e8c6b1389891d827 Reviewed-on: https://skia-review.googlesource.com/116920 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Add new GrResourceCache::purgeUnlockedResources variantGravatar Robert Phillips2018-03-28
| | | | | | | | | TBR=bsalomon@google.com Change-Id: I05bef1f8a271474db878a046cc1f6ac7b60a15f1 Reviewed-on: https://skia-review.googlesource.com/116801 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* SkPDF: Accept non-monotonic text cluster indicesGravatar Hal Canary2018-03-28
| | | | | | | | BUG=skia:7055 Change-Id: Ic1540a15118dbe99db5bcff26dd1235adac5468a Reviewed-on: https://skia-review.googlesource.com/116725 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Delete GPU alpha clip masksGravatar Chris Dalton2018-03-28
| | | | | | | | | | | | | | | | The cost of switching render targets on each draw to make a custom clip is enormous. There are virtually no circumstances where this will outperform our cached, multi-threaded software mask generator. The tried-and-true approach to clipping on-GPU is with analytic FPs. And now that we support CCPR clip FPs, there ulitmately should be very few clip stacks that even require a mask as long as they don't use deprecated SkClipOps. Bug: skia: Change-Id: I79c5558c93c1b99179f1e933d029f69b14ad1ce3 Reviewed-on: https://skia-review.googlesource.com/116724 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Rename SkInsetConvexPolygon to SkOffsetPolygon.Gravatar Jim Van Verth2018-03-28
| | | | | | | | | Prep for adding new offset routines. Change-Id: I261c22d9998e5ae4567b697c5f20a31f20777ac1 Reviewed-on: https://skia-review.googlesource.com/116800 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add handling for allocation failure in GrTextureOpListGravatar Robert Phillips2018-03-28
| | | | | | | | | I believe this is what has been causing the intermittent TSAN crash Change-Id: Ie7170a3eb0495cebe8b1398a00f98ad099f78944 Reviewed-on: https://skia-review.googlesource.com/116629 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Various cleanup to remote_demoGravatar Herb Derby2018-03-27
| | | | | | | | | | | | | Integrate SkRemoteGlyphCacheRenderer into SkStrikeServer Add a Timer. Remove unused code. BUG=skia:7515 Change-Id: Idffb477af71cbcc4035df190e29e8910b61aa6e5 Reviewed-on: https://skia-review.googlesource.com/116485 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>