aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* check for bad xIntervals before multiplyGravatar Mike Reed2018-05-02
| | | | | | | | Bug: oss-fuzz:6120 Change-Id: Icbd464352ad8ef1d35d274da049bc3424ccfa4d4 Reviewed-on: https://skia-review.googlesource.com/125420 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* check for huge cubics in patchutilsGravatar Mike Reed2018-05-02
| | | | | | | | Bug: oss-fuzz:6128 Change-Id: I4c7551ea2ac4e32dc96c93426846f5ddcd42a449 Reviewed-on: https://skia-review.googlesource.com/125440 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* fonts: Reland push font remoting.Gravatar Khushal2018-05-02
| | | | | | | | | | | | | | | | | | | This relands the following changes: 1) https://skia-review.googlesource.com/c/skia/+/120283 2) https://skia-review.googlesource.com/c/skia/+/125029 3) https://skia-review.googlesource.com/c/skia/+/125140 The original changes had to be reverted due to a memory leak in SkBaseDevice from SkTextBlobCacheDiffCanvas. This has been addressed by https://skia-review.googlesource.com/c/skia/+/125160 TBR=herb@google.com Bug: skia:7515, 831354 Change-Id: I73f4fcb1c397f31bf01553ff48c71ed2d6dd0770 Reviewed-on: https://skia-review.googlesource.com/125326 Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
* check for finite verticesGravatar Mike Reed2018-05-02
| | | | | | | | Bug: oss-fuzz:6115 Change-Id: Ib971304141322cfcf62ed079ef10c2910a9e2bf1 Reviewed-on: https://skia-review.googlesource.com/125343 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* use SkLeftShift in case the first arg is negativeGravatar Mike Reed2018-05-02
| | | | | | | | Bug: oss-fuzz:6117 Change-Id: I08521aaf4372a63428a1f663f4da78e72dfdf225 Reviewed-on: https://skia-review.googlesource.com/125344 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Mike Reed <reed@google.com>
* check for 0x8000 before calling absGravatar Mike Reed2018-05-02
| | | | | | | | Bug: oss-fuzz:6124 Change-Id: I1897a4ce8f6e60bf93b9e6579725443763e8d287 Reviewed-on: https://skia-review.googlesource.com/125342 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Add the filter rec bypass to make canonical strike descriptorsGravatar Herb Derby2018-05-02
| | | | | | | | | | | | SkDescriptors used describe strikes need to have a standard form to pass them between on process and another. This change allows a canonical form. Change-Id: I451c74e4073b4e5d6de02f88cbd2ed5eb51cdad9 Reviewed-on: https://skia-review.googlesource.com/125340 Auto-Submit: Herb Derby <herb@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
* Modify SkGpuBlurUtils::GaussianBlur's reexpand method and allow more approx ↵Gravatar Robert Phillips2018-05-02
| | | | | | | | | | | fit intermediates This CL didn't cause and gm or skp image diffs locally but, since the backing fit is being changed in some cases, it is likely to do so on some bot. Change-Id: I13decf44fb12e457951381bcc9c2c15103553a43 Reviewed-on: https://skia-review.googlesource.com/125225 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Reland "Remove devKerning"Gravatar Herb Derby2018-05-02
| | | | | | | | | | | | | | | | | | | | | | This is a reland of c86c5c0144b85d0bc8ec791f9609ee2d4e7d835a Original change's description: > Remove devKerning > > Dev kerning is not supported by any scalers. This is > mostly removed. The remaining fields fRsbDelta and > fLsbDelta are kept to keep Android compiling. > > Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809 > Reviewed-on: https://skia-review.googlesource.com/124921 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> Change-Id: Ibf5fac5f1442c7e62392d5146ad460da27b10d5c Reviewed-on: https://skia-review.googlesource.com/125300 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Take sk_sp<SkDevice> instead of SkDevice*Gravatar Herb Derby2018-05-02
| | | | | | | | | Change-Id: I0b296bf5b80adc19758a3dc99160be9d2ed05680 Reviewed-on: https://skia-review.googlesource.com/125160 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com> Auto-Submit: Herb Derby <herb@google.com>
* Revert "fonts: Set up remote glyph caching to push fonts."Gravatar Mike Klein2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 101d56359a5a5dc3b8a2a4149ac171e25eb0bec0. Reason for revert: 5 of 5 Original change's description: > fonts: Set up remote glyph caching to push fonts. > > Currently the SkStrikeClient is designed to pull fonts from the server > on demand, and to pre-fetch a batched request by analyzing the ops using > a SkTextBlobCacheDiffCanvas. This change modifies the design to support > a push based model, where the server pushes fonts required by the client > and sets up the requisite SkGlyphCaches on the client prior to > rasterizing the ops. > > This model still relies on the SkTextBlobCacheDiffCanvas for analyzing > the glyphs required for rasterizing an op. The glyph caches required for > raster are locked and missing glyphs to be sent to the client are tracked > by the SkStrikeServer. The embedder can serialize this font data at any > point, but must ensure that this data is deserialized by the > SkStrikeClient at the remote end, before rasterizing any ops analyzed > prior to serialization. Any refs on the caches are released once the > font data is serialized by the server. > > The locking of glyph caches relies on the embedder providing discardable > handles. These handles can be created on the server and serialized to be > sent to the client, and map to an instance of SkGlyphCache. This allows > the server to control the lifetime of the caches on the client. > > Bug: skia:7515 > Change-Id: Id39f346b47b60899778404bbd0429ee811d0e53b > Reviewed-on: https://skia-review.googlesource.com/120283 > Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> > Reviewed-by: Herb Derby <herb@google.com> TBR=mtklein@google.com,herb@google.com,khushalsagar@chromium.org Change-Id: If72caf968ddcbf70b8b9d71782a2339a118ed202 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7515 Reviewed-on: https://skia-review.googlesource.com/125264 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Remove devKerning"Gravatar Mike Klein2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c86c5c0144b85d0bc8ec791f9609ee2d4e7d835a. Reason for revert: 4 of 5 Original change's description: > Remove devKerning > > Dev kerning is not supported by any scalers. This is > mostly removed. The remaining fields fRsbDelta and > fLsbDelta are kept to keep Android compiling. > > Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809 > Reviewed-on: https://skia-review.googlesource.com/124921 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=bungeman@google.com,herb@google.com,reed@google.com Change-Id: If865f702868192a1b72cd811baa996dd1282bbce No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/125263 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "fonts: Dont memcpy with nullptr in SkRemoteGlyphCache"Gravatar Mike Klein2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7e7369f7131d0b00f87cfb94e0fcbf91b02b4ee6. Reason for revert: 3 of 5 Original change's description: > fonts: Dont memcpy with nullptr in SkRemoteGlyphCache > > The behaviour is undefined and causes ASAN bots to complain. > > Bug: skia:7515 > Change-Id: I454714ab9047a6fced5ab7bfdbc12214d728eadf > Reviewed-on: https://skia-review.googlesource.com/125029 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> TBR=herb@google.com,brianosman@google.com,khushalsagar@chromium.org Change-Id: I6548019d7bf34b38f964234034e58af09d0b8508 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7515 Reviewed-on: https://skia-review.googlesource.com/125262 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "fonts: Bandaid fix for desc mismatch in SkRemoteGlyphCache."Gravatar Mike Klein2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ef4142a9bc5fb5fe3158139e18f41e7da867ff93. Reason for revert: 2 of 5 Original change's description: > fonts: Bandaid fix for desc mismatch in SkRemoteGlyphCache. > > Since the typeface proxies on the client don't perform the same > filtering done on the server during SkDescriptor generation, it causes > the desc mismatches during raster. Disable this filtering on the server > until this is resolved. > > Bug: 831354 > Change-Id: I5683372fb497a4874dede5aec9c734cd1392872c > Reviewed-on: https://skia-review.googlesource.com/125140 > Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> > Reviewed-by: Herb Derby <herb@google.com> TBR=herb@google.com,khushalsagar@chromium.org Change-Id: I8e732f57aa49323c186e3c4ea6120ff1caf8e25b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 831354 Reviewed-on: https://skia-review.googlesource.com/125261 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Add padding back to make msan happy"Gravatar Mike Klein2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2050565fe116008ad6df7533900f5f76dd5b9730. Reason for revert: 1 of 5 Original change's description: > Add padding back to make msan happy > > SkGlyph are stored directly in the hash table with uninitialized > pad bytes. When the hash table is resized, the uninitialized pad > bytes are moved causing msan to complain. > > Change-Id: I559ff1bd369d12be061cce7d3c826c2afdd3a03c > Reviewed-on: https://skia-review.googlesource.com/125240 > Commit-Queue: Herb Derby <herb@google.com> > Commit-Queue: Mike Klein <mtklein@google.com> > Auto-Submit: Herb Derby <herb@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,herb@google.com Change-Id: Iaa61ad17c837544bd7394ddc6fc52c14d8389d7e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/125260 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Add padding back to make msan happyGravatar Herbert Derby2018-05-02
| | | | | | | | | | | | | SkGlyph are stored directly in the hash table with uninitialized pad bytes. When the hash table is resized, the uninitialized pad bytes are moved causing msan to complain. Change-Id: I559ff1bd369d12be061cce7d3c826c2afdd3a03c Reviewed-on: https://skia-review.googlesource.com/125240 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Fix DDL blur image filterGravatar Robert Phillips2018-05-02
| | | | | | | | | | This fixes on of the DDL render problems in the imageblurclampmode GM. Bug: skia:7765 Change-Id: I2d6779183cd47b63b47f9f071c2266643d222feb Reviewed-on: https://skia-review.googlesource.com/125000 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* fonts: Bandaid fix for desc mismatch in SkRemoteGlyphCache.Gravatar Khushal2018-05-01
| | | | | | | | | | | | | Since the typeface proxies on the client don't perform the same filtering done on the server during SkDescriptor generation, it causes the desc mismatches during raster. Disable this filtering on the server until this is resolved. Bug: 831354 Change-Id: I5683372fb497a4874dede5aec9c734cd1392872c Reviewed-on: https://skia-review.googlesource.com/125140 Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Remove devKerningGravatar Herb Derby2018-05-01
| | | | | | | | | | | Dev kerning is not supported by any scalers. This is mostly removed. The remaining fields fRsbDelta and fLsbDelta are kept to keep Android compiling. Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809 Reviewed-on: https://skia-review.googlesource.com/124921 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Correct precondition for SDF mask format.Gravatar Ben Wagner2018-05-01
| | | | | | | | | | | When creating an SDF glyph the mask format of the underlying glyph must be A1 or A8. Currently the code just checks for ~ARGB, but LCD16, 3D, and any other possible mask formats are also unsupported. Change-Id: I092a18828742dddfc93687eabd9858186605fc96 Reviewed-on: https://skia-review.googlesource.com/125083 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* fonts: Dont memcpy with nullptr in SkRemoteGlyphCacheGravatar Khushal2018-05-01
| | | | | | | | | | The behaviour is undefined and causes ASAN bots to complain. Bug: skia:7515 Change-Id: I454714ab9047a6fced5ab7bfdbc12214d728eadf Reviewed-on: https://skia-review.googlesource.com/125029 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* Fix index overflow check for rewriting fans as triangles.Gravatar Brian Salomon2018-05-01
| | | | | | | | | | Not only could the old test cause int overflow, it was just wrong. Bug: skia:8085 Change-Id: Id6b81f4aa1b115f0dbfd2266aee8fab5d5d30aee Reviewed-on: https://skia-review.googlesource.com/124779 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Use a cached index buffer for triangle fans in GrDefaultPathRenderer."Gravatar Brian Salomon2018-05-01
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ddff425b0a9cd4b178c74d7feee2c5c22e37c8d1. Reason for revert: bad gms Original change's description: > Use a cached index buffer for triangle fans in GrDefaultPathRenderer. > > Change-Id: I3c3c8db6506c71e4b273c8bc7adcc68d3d768626 > Reviewed-on: https://skia-review.googlesource.com/124841 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: I701b55f188c949c2ee39b39f9bbf5b233f80f174 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/125040 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* fonts: Set up remote glyph caching to push fonts.Gravatar Khushal2018-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the SkStrikeClient is designed to pull fonts from the server on demand, and to pre-fetch a batched request by analyzing the ops using a SkTextBlobCacheDiffCanvas. This change modifies the design to support a push based model, where the server pushes fonts required by the client and sets up the requisite SkGlyphCaches on the client prior to rasterizing the ops. This model still relies on the SkTextBlobCacheDiffCanvas for analyzing the glyphs required for rasterizing an op. The glyph caches required for raster are locked and missing glyphs to be sent to the client are tracked by the SkStrikeServer. The embedder can serialize this font data at any point, but must ensure that this data is deserialized by the SkStrikeClient at the remote end, before rasterizing any ops analyzed prior to serialization. Any refs on the caches are released once the font data is serialized by the server. The locking of glyph caches relies on the embedder providing discardable handles. These handles can be created on the server and serialized to be sent to the client, and map to an instance of SkGlyphCache. This allows the server to control the lifetime of the caches on the client. Bug: skia:7515 Change-Id: Id39f346b47b60899778404bbd0429ee811d0e53b Reviewed-on: https://skia-review.googlesource.com/120283 Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Convert skcms to only export functions (not data)Gravatar Brian Osman2018-05-01
| | | | | | | | | | | | | | This simplifies shared library builds on Windows (no need to conditionally change declspec to dllimport). Once this lands, we can make the same change (plus update internal references): https://skia-review.googlesource.com/c/skcms/+/124982 Change-Id: I0d4fa9031258f77d370e6e6e018afaf543c29d85 Reviewed-on: https://skia-review.googlesource.com/124983 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* handle non-a8 masks in coverage blitterGravatar Mike Reed2018-05-01
| | | | | | | | Bug: skia:7885 Change-Id: I3ae2d3c7a762d3d718b9a6d40d8c1d696b6aaefc Reviewed-on: https://skia-review.googlesource.com/124923 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Use a cached index buffer for triangle fans in GrDefaultPathRenderer.Gravatar Brian Salomon2018-05-01
| | | | | | | Change-Id: I3c3c8db6506c71e4b273c8bc7adcc68d3d768626 Reviewed-on: https://skia-review.googlesource.com/124841 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* pin offset request before applying to regionGravatar Mike Reed2018-05-01
| | | | | | | | Bug: oss-fuzz:8085 Change-Id: I2e19250822a6ffc3d68a474c8eb4cca0ea66c991 Reviewed-on: https://skia-review.googlesource.com/124700 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Alter the decimation portion of Ganesh's GaussianBlur methodGravatar Robert Phillips2018-05-01
| | | | | | | | | This CL doesn't change any GMs for me locally but (because of the backingFit and clipRect changes) it has the possibility of doing so. Change-Id: Iaa1ad9baf420624d118bf1b12d8bac726218274d Reviewed-on: https://skia-review.googlesource.com/124283 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* ccpr: Avoid inline array definitionsGravatar Chris Dalton2018-04-30
| | | | | | | | | | | | MoltenVK currently has an issue translating these to MSL: https://github.com/KhronosGroup/SPIRV-Cross/issues/558 Bug: skia: Change-Id: Id210780672f8ec3920f8087bd60a9108e8fb0256 Reviewed-on: https://skia-review.googlesource.com/124525 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Move TestForPreservingPMConversions memset to FP fileGravatar Brian Osman2018-04-30
| | | | | | | | | | | Fixes CheckGeneratedFiles error introduced by: https://skia-review.googlesource.com/c/skia/+/124350 Change-Id: I2e1314c6fa9e6a938a0c26ae49aa5b9121a7229f Reviewed-on: https://skia-review.googlesource.com/124640 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove GrPrimitiveType::kTriangleFanGravatar Brian Salomon2018-04-30
| | | | | | | Change-Id: Ia121198ebcdc34e32a3ff99b0821047256df282d Reviewed-on: https://skia-review.googlesource.com/124503 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Use skcms equality to detect sRGB profilesGravatar Brian Osman2018-04-30
| | | | | | | | | | | This ensures that table-based sRGB profiles convert to Skia's sRGB color space. Previously, they would turn into complex XYZ SkColorSpaces. Change-Id: Idda71970c6545b50d8ac8ff52872ed44e20aee39 Reviewed-on: https://skia-review.googlesource.com/124502 Auto-Submit: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com>
* Check that Android is not looking up fontsGravatar Herb Derby2018-04-30
| | | | | | | | Change-Id: I86529296dc1229a1c9864dd12886d52d7db3aae2 Reviewed-on: https://skia-review.googlesource.com/124580 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* memset arrays in TestForPreservingPMConversions in case of read pixels failureGravatar Brian Salomon2018-04-30
| | | | | | | | Bug: chromium:837649 Change-Id: Iced3cef5af8745964323ef3fa8cc5ac9d184c3b4 Reviewed-on: https://skia-review.googlesource.com/124350 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rewrite SkVertices specified with triangle fans as indexed trianglesGravatar Brian Salomon2018-04-28
| | | | | | | Change-Id: Ifaacc426bc657b324f6a885a8ef70b347b048226 Reviewed-on: https://skia-review.googlesource.com/124349 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Call SkMatrix::getType to make it thread safeGravatar Yuqian Li2018-04-28
| | | | | | | | | TBR: reed@google.com, mtklein@google.com Bug: skia: Change-Id: I6da4b12b38ecaba71441de7a45a1990b000b1de4 Reviewed-on: https://skia-review.googlesource.com/124402 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Copy SkBitmap to make it thread safeGravatar Yuqian Li2018-04-28
| | | | | | | | | | TBR: reed@google.com, mtklein@google.com Bug: skia: Change-Id: I9aa1ac8bc5387c5a86301c242e12b3448b332d26 Reviewed-on: https://skia-review.googlesource.com/124400 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Just pass color glyph masks to filters.Gravatar Ben Wagner2018-04-27
| | | | | | | | | | | | | | | Allow the filters to try to apply themselves to the color mask. Most mask filters will just return false, but allow them the opprotunity. This removes the behavior of trying to create a mask from the color mask. This updates the blur mask filter to handle kARGB32_Format directly by using just the alpha (which mirrors current behavior). Change-Id: I15eb736060ecf9b24aca874758c167b74d9ebc22 Reviewed-on: https://skia-review.googlesource.com/124185 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* ccpr: Remove canMakeClipProcessorGravatar Chris Dalton2018-04-27
| | | | | | | | | | | | Now that conics are supported we can make a ccpr clip FP out of any path. No need to ask. And the 'fDrawCachablePaths' check was redundant since clip paths are always volatile anyway (for now). Bug: skia: Change-Id: I670474a3b91f1c252ed323eb627bbb109788e6b8 Reviewed-on: https://skia-review.googlesource.com/124362 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Reland "Reland "Reland "Exercise the threaded backend in test bots"""Gravatar Yuqian Li2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 47f2b7b089c688503b12caff9c8a84fb185d01c5. Reason for revert: try to fix the issue by reducing the set of bots Original change's description: > Revert "Reland "Reland "Exercise the threaded backend in test bots""" > > This reverts commit 7ddad479e464a3d481d106415c9c1b8cc8496848. > > Reason for revert: bots failure > > Original change's description: > > Reland "Reland "Exercise the threaded backend in test bots"" > > > > This reverts commit 0f5972604ce4439fd33118d6be1e4f24fe6c267f. > > > > Reason for revert: ASAN/MSAN should have been fixed > > > > Original change's description: > > > Revert "Reland "Exercise the threaded backend in test bots"" > > > > > > This reverts commit 654ca8a340700ca8089abb7828adc2c229c6241e. > > > > > > Reason for revert: ASAN,MSAN failures > > > > > > Original change's description: > > > > Reland "Exercise the threaded backend in test bots" > > > > > > > > This reverts commit ea51393ba918f75c1b40d521081789eeb3b42d6f. > > > > > > > > Reason for revert: try again after many fixes of the threaded backend > > > > > > > > Original change's description: > > > > > Revert "Exercise the threaded backend in test bots" > > > > > > > > > > This reverts commit a39991ebd70f4aaf1290dd516467d729811e45ee. > > > > > > > > > > Reason for revert: Random bots timeout > > > > > > > > > > Original change's description: > > > > > > Exercise the threaded backend in test bots > > > > > > > > > > > > We can't draw everything correctly now, but it's at least not crashing. > > > > > > > > > > > > The draw_to_canvas is modified by adding flush because now the raster > > > > > > canvas also needs flush like GPU canvases because of the threaded > > > > > > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink > > > > > > and that's why it was not crashing.) > > > > > > > > > > > > > > > > > > Bug: skia: > > > > > > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd > > > > > > Reviewed-on: https://skia-review.googlesource.com/118886 > > > > > > Reviewed-by: Kevin Lubick <kjlubick@google.com> > > > > > > Commit-Queue: Yuqian Li <liyuqian@google.com> > > > > > > > > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > > > > > > > Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1 > > > > > No-Presubmit: true > > > > > No-Tree-Checks: true > > > > > No-Try: true > > > > > Bug: skia: > > > > > Reviewed-on: https://skia-review.googlesource.com/119100 > > > > > Reviewed-by: Yuqian Li <liyuqian@google.com> > > > > > Commit-Queue: Yuqian Li <liyuqian@google.com> > > > > > > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > > > Bug: skia:7838 > > > > Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f > > > > Reviewed-on: https://skia-review.googlesource.com/121680 > > > > Commit-Queue: Yuqian Li <liyuqian@google.com> > > > > Reviewed-by: Yuqian Li <liyuqian@google.com> > > > > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > > > Change-Id: Id1b273e22a1d0cbc15a2155252909f576b401fa4 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia:7838 > > > Reviewed-on: https://skia-review.googlesource.com/123360 > > > Reviewed-by: Mike Klein <mtklein@google.com> > > > Commit-Queue: Mike Klein <mtklein@google.com> > > > > TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: skia:7838 > > Change-Id: I205d579f2959ea726b447993314c1326b731730e > > Reviewed-on: https://skia-review.googlesource.com/123660 > > Commit-Queue: Yuqian Li <liyuqian@google.com> > > Reviewed-by: Yuqian Li <liyuqian@google.com> > > TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com > > Change-Id: I1d3986cc2af12836dd7acbcbba713081a88301a6 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7838 > Reviewed-on: https://skia-review.googlesource.com/124200 > Reviewed-by: Yuqian Li <liyuqian@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com Change-Id: I2d4d0c172849a86b37c60b32938a7a2b828258fa No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7838 Reviewed-on: https://skia-review.googlesource.com/124201 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Add ASYNC trace macrosGravatar Brian Osman2018-04-27
| | | | | | | | | These allow markers over long (non-nested, non-scoped) blocks of time. Change-Id: I2ebd724e644232f1b911121d25a37dcee193a15d Reviewed-on: https://skia-review.googlesource.com/124320 Reviewed-by: Xiao Yu <xster@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* use std::atomic in SkRegionPrivGravatar Mike Reed2018-04-27
| | | | | | | | Bug: skia:7882 Change-Id: I333f3457fbcd9621d712c40844f4896bd85a9a1c Reviewed-on: https://skia-review.googlesource.com/124266 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Mike Reed <reed@google.com>
* workaround for Intel OpCompositeConstruct bugGravatar Ethan Nicholas2018-04-27
| | | | | | | | | | | | | | | | The SPIR-V spec permits constructing a vector from mixed vectors and scalars, e.g. vec3(vec2, float). Intel's Vulkan driver does not handle this correctly. We already have a workaround in place for vector construction (writing the code as vec3(vec2.x, vec2.y, float) instead), but missed that matrix construction can produce the same problem, as each column requires a vector to be constructed for it. This CL extends the workaround to handle matrix construction as well. Bug: skia:7851 Change-Id: I0fe5d300ec7ad5db87bcc6662cf8371bcd6deed8 Reviewed-on: https://skia-review.googlesource.com/124321 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add InternalSurfaceFlag so we know if RenderTargetProxys and RenderTargets ↵Gravatar Greg Daniel2018-04-26
| | | | | | | | | | use GL FBO 0. Bug: skia:7748 Change-Id: I2fda3cde12ccdef19fe06ff287a8024b58d28ef0 Reviewed-on: https://skia-review.googlesource.com/124048 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Replace flatten with writeFlattenable for desc.Gravatar Ben Wagner2018-04-26
| | | | | | | | | | | | | | | | This replaces calls to SkFlattenable::flatten(SkWriteBuffer&) with calls to SkWriteBuffer::writeFlattenable(const SkFlattenable*) when creating the descriptor for an SkScalerContext. This adds the identifier of the flattenable to the descriptor to avoid collisions when two flattenables take the same (or no) parameters. This used to be enforced when the SkScalerContext re-created the flattenable from the descriptor, but since this is no longer required these possible collisions may occur. Change-Id: I2b7efebebf20ffcc0f2b58a081ff0c58158f7d70 Reviewed-on: https://skia-review.googlesource.com/124054 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Don't use triangle fans in default path rendererGravatar Brian Salomon2018-04-26
| | | | | | | Change-Id: Ie5dc65adfb843ba22690fe624c8bcb882a5fe43f Reviewed-on: https://skia-review.googlesource.com/123744 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Call destructors during reset to avoid memory leakGravatar Yuqian Li2018-04-26
| | | | | | | | | | | | | | Otherwise, the following ASAN test would fail: out/ASAN/dm --config t8888 -m savelayer_initfromprev Bug: skia: Change-Id: I464dd419c64dcb06197169cca51253f26c44e93e Reviewed-on: https://skia-review.googlesource.com/124053 Commit-Queue: Yuqian Li <liyuqian@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Auto-Submit: Yuqian Li <liyuqian@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Revert "Reland "Revert "Add arcs as a specialized geometry to GrShape."""Gravatar Brian Salomon2018-04-26
| | | | | | | | | | This reverts commit 580aee2fa4a57bf8208498fbc23acea04e16e092. Bug: skia:7794 Change-Id: I9c2b923859c826dff58c22c529dc4e2ab4d0f186 Reviewed-on: https://skia-review.googlesource.com/124042 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Track tail of strike cacheGravatar Herb Derby2018-04-26
| | | | | | | | | Change-Id: Ic5d5ae5d4c45d0bc5b82dd2257752184a8b529d0 Reviewed-on: https://skia-review.googlesource.com/123935 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Auto-Submit: Herb Derby <herb@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>