aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* start hardening pathmeasureGravatar Cary Clark2018-03-09
| | | | | | | | | | | | | | | | | change int to unsigned (just make it uniform, part of it was already unsigned) change path by pointer to path by value since it will be copied on write; fixes bug where path changes from underneath measure R=reed@google.com Bug: skia:7675 Change-Id: Ibfcfd4379cabd86b4ef4ea9ff6788d5ccb137ac1 Reviewed-on: https://skia-review.googlesource.com/113269 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Mike Reed <reed@google.com>
* IWYU for test files starting with 'B'.Gravatar Ben Wagner2018-03-09
| | | | | | | | | | Found reproduction of iwyu issue #486, fixed at https://github.com/include-what-you-use/include-what-you-use/pull/522 Change-Id: Ic77a1a0c3b02b7853517c7fc4d98d92b29c2b0eb Reviewed-on: https://skia-review.googlesource.com/113214 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* roll clang_linux package to Clang 6Gravatar Mike Klein2018-03-09
| | | | | | | | | It was released yesterday. Change-Id: Ied9ef3c65fcee0ac7af785c6642fb899d6bd4b0d Reviewed-on: https://skia-review.googlesource.com/113380 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* harden line clipper against slight numerical drift.Gravatar Mike Reed2018-03-09
| | | | | | | | Bug: skia:7491 Change-Id: I8d2b7cbfb580c0aabc76a72dfb317c35db43b329 Reviewed-on: https://skia-review.googlesource.com/113425 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove use of attach/detatch cache from distance field textGravatar Herb Derby2018-03-09
| | | | | | | Change-Id: I09549cb21e8bdbc2924a54bc2eca3d399e5a7f44 Reviewed-on: https://skia-review.googlesource.com/113429 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Fix issue with negative translations of small pathsGravatar Jim Van Verth2018-03-09
| | | | | | | | | | | | Truncating negative values will produce a negative fractional part when you subtract out the integer value, which causes havoc with rendering the path and searching for it in the cache. What we want is the floor. Bug: 819966, 819522 Change-Id: I2feb451e28bfb863111479f70fd99fa1299abac0 Reviewed-on: https://skia-review.googlesource.com/113428 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Do not set record to empty if it's already computedGravatar Yuqian Li2018-03-09
| | | | | | | | | | | | Otherwise, the following test will fail: ./out/Debug/dm --config t8888 -m strokes_round Bug: skia: Change-Id: Ifc618fc42c6f387eae7b6aadd8424001c3e1464e Reviewed-on: https://skia-review.googlesource.com/113440 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Ensure Y->X ordering when building a region from a pathGravatar Mike Reed2018-03-09
| | | | | | | | | | | | | | | | | | | | | | Our region-builder-blitter insists on being called in a Y->X sorted order, which means (for example) if it is given a rect, then next blit call must be below that rect. However, we have helpers that blit rects "through" a region, and they iterate through the region using Cliperator, which returns the minimum (mostly) number of rects inside the region -- but these are not in strict Y->X order. Hence the problem. This CL avoids this by fixing it at the source. When we are asked to build a region by drawing a path clipped to another region, we check if that clip is complex. If it is, we first regionize the path against the clip's bounds (easy), and then call a region-op to intersect that with the complex clip. Bug: skia:7491 Change-Id: Ibf0a99e5bb38e369c4b263b0b07bfc04a572de63 Reviewed-on: https://skia-review.googlesource.com/113424 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Shim to enforce that canvas virtuals are overriddenGravatar Brian Osman2018-03-09
| | | | | | | | Change-Id: Iad70d449bbc43195baefd70d20c41996a8435e6e Reviewed-on: https://skia-review.googlesource.com/113320 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* SkResourceCache.h shouldn't include itself.Gravatar Ben Wagner2018-03-09
| | | | | | | | | | The include guards make this not bad, but it seems strange and iwyu complains about it. Change-Id: I4e40d290b4c7208dddf82fdd1b107780c239d8fc Reviewed-on: https://skia-review.googlesource.com/113423 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove TLS glyph cache calls.Gravatar Herb Derby2018-03-09
| | | | | | | Change-Id: Iafeb02d395cac81e8fe6d74c989a37607503919c Reviewed-on: https://skia-review.googlesource.com/113208 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Add GPUSink getters to suppress unused field warnings in no gpu build.Gravatar Brian Salomon2018-03-09
| | | | | | | Change-Id: Iab66cf3a8fd1d3008f62d832cdb7f9a65b2077f7 Reviewed-on: https://skia-review.googlesource.com/113420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove another set of AttachCacheGravatar Herb Derby2018-03-09
| | | | | | | | | | Compared against images using config gldft. Everything the same. Change-Id: I9c9209dfcae4f4d79cbdb8c2acac3b623c87300f Reviewed-on: https://skia-review.googlesource.com/113401 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* ccpr: Simplify triangle cornersGravatar Chris Dalton2018-03-09
| | | | | | | | | | | | | | | | | | | | | Modifies triangle corner shaders to just approximate their coverage with linear values that ramp to zero at bloat vertices outside the triangle. For the vertex backend, since corners now have the same fragment shader as the rest of the triangle, we fold them in with the other steps and draw triangles in a single pass. The geometry backend still draws triangles in two passes, as there is not an apparent performance advantage in combining them. Updates SampleCCPRGeometry to better visualize this new geometry by clearing to black and drawing with SkBlendMode::kPlus. Bug: skia: Change-Id: Idf8df8ff715dfab7ac91a07b914f65c08e46010b Reviewed-on: https://skia-review.googlesource.com/113287 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* update tool to sniff images during deserializationGravatar Mike Reed2018-03-09
| | | | | | | | | Bug: skia: Change-Id: I0162225772a5fe9849d3d51b2d1dd5d67c606097 Reviewed-on: https://skia-review.googlesource.com/113212 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Fix no gpu buildGravatar Greg Daniel2018-03-09
| | | | | | | | | Bug: skia: Change-Id: I9d357ec2e03ce83a7de70b61eab5cdd386724d22 Reviewed-on: https://skia-review.googlesource.com/113426 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove getCache from SkAutoGlyphCache*Gravatar Herb Derby2018-03-09
| | | | | | | Change-Id: Iac853ce1d37a89bc94b66f0d31d61e181c7808f6 Reviewed-on: https://skia-review.googlesource.com/113203 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Fix breakage from merge conflict related to deleteTestingOnlyBackendTexture ↵Gravatar Brian Salomon2018-03-09
| | | | | | | | sig. change Change-Id: I28c50efb9c7723df19041640809994bff8ea5041 Reviewed-on: https://skia-review.googlesource.com/113421 Reviewed-by: Brian Salomon <bsalomon@google.com>
* Enable opList-based DDLsGravatar Robert Phillips2018-03-09
| | | | | | | | | | This relies on https://skia-review.googlesource.com/c/skia/+/113268 (https://skia-review.googlesource.com/c/skia/+/113268) landing first Change-Id: I473d71adbf1e5a9f1ec9ff2d0060920e98429e03 Reviewed-on: https://skia-review.googlesource.com/113169 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make GrGpu::deleteTestingOnlyBackendTexture() take const GrBackendTexture&Gravatar Brian Salomon2018-03-09
| | | | | | | Change-Id: Ibd00d0dc6d8c73628f26851e102defdbafab149b Reviewed-on: https://skia-review.googlesource.com/113164 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix a logical test in GrColorSpaceXform::EqualsGravatar Brian Osman2018-03-09
| | | | | | | Change-Id: I2408278355cdd5a8a65748b5dd313b9466aee2b1 Reviewed-on: https://skia-review.googlesource.com/113211 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add promise images for deferred instantiation of wrapped gpu texturesGravatar Greg Daniel2018-03-09
| | | | | | | | | | | | | This will allow a client to make an SkImage that "wraps" a gpu texture, however the client does need to supply the actual gpu texture at Image creation time. Instead it is retrieve at flush time via a callback. Bug: skia: Change-Id: I6267a55ab7102101a7bd80a6f547b6a870d2df08 Reviewed-on: https://skia-review.googlesource.com/109021 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Remove one use of AttachCache, and a paint variant of FindOrCreate...Gravatar Herb Derby2018-03-09
| | | | | | | | | | This is a point change to see if it causes bad draws using config gldft. Checked with skdiff on that config. Change-Id: Ibee4630df21456ba9dccf28480bded82d1d9bf47 Reviewed-on: https://skia-review.googlesource.com/113204 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Make GrTextureStripAtlas DDL friendlyGravatar Robert Phillips2018-03-09
| | | | | | | Change-Id: If8fdd7a1c027bc2b2791cfe1af13f99c2561d93d Reviewed-on: https://skia-review.googlesource.com/113268 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Vulkan backend render targets don't allow client to specify stencil bitsGravatar Brian Salomon2018-03-09
| | | | | | | | | | | We already always create the stencil buffer even for wrapped RTs. Make VulkanWindowContext use SkSurface::MakeFromBackendRenderTarget. Change-Id: I5df429d347331801954ec17cb9d75e323a7af345 Reviewed-on: https://skia-review.googlesource.com/113206 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Roll skia/third_party/externals/angle2/ e8a93c6ed..331404098 (1 commit)Gravatar angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/e8a93c6ed6fe..33140409810f $ git log e8a93c6ed..331404098 --date=short --no-merges --format='%ad %ae %s' 2018-03-08 lucferron Vulkan: Fix readPixels to support sub image reads correctly Created with: roll-dep skia/third_party/externals/angle2 The AutoRoll server is located here: https://angle-skia-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE TBR=fmalita@google.com Change-Id: Iff4a449e91b5575a85f3147c07047622c13a62d5 Reviewed-on: https://skia-review.googlesource.com/113372 Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* Update SKP versionGravatar UpdateSKPs2018-03-09
| | | | | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR=update-skps@skia.org NO_MERGE_BUILDS Change-Id: Id2e4c4c0937811665783d42af4c3ba2c07e6a65c Reviewed-on: https://skia-review.googlesource.com/113374 Commit-Queue: update-skps <update-skps@skia.org> Reviewed-by: update-skps <update-skps@skia.org>
* ccpr: Fix stale array access after dynamic resizeGravatar Chris Dalton2018-03-09
| | | | | | | | Bug: skia:7656 Change-Id: I0db2219a1c31e966e1da064011c849b4458ff9c1 Reviewed-on: https://skia-review.googlesource.com/113363 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add GM configs that test rendering to a GL backend texture and render targetGravatar Brian Salomon2018-03-09
| | | | | | | | | This also adds GrGpu::create/deleteTestingOnlyBackendRenderTarget. Implemented in GL only for now. Change-Id: I9e5fdc953c4a249959af89e08332f520cefe9d90 Reviewed-on: https://skia-review.googlesource.com/113305 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* ccpr: Fix crash on zero-length fan tessellationsGravatar Chris Dalton2018-03-09
| | | | | | | | | | | | Hardens the path parser to handle zero-length fan tessellations. In this case the vertex pointer returned by the tessellator will be null, so we need to indicate whether a tessellation exists in a different way. Bug: skia:7642 Change-Id: If29df9d08565ff613059f2d3b49ab4eb79908495 Reviewed-on: https://skia-review.googlesource.com/113362 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Remove all uses of getCache with get.Gravatar Herb Derby2018-03-09
| | | | | | | | | | Holding off on removing definition until android cleans up its code. Change-Id: I19cce13d6d1f10f172770a926966761686bc7d6a Reviewed-on: https://skia-review.googlesource.com/113168 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Avoid serializing to 'typ1' on Mac.Gravatar Ben Wagner2018-03-09
| | | | | | | | | | | | | | | | | | | | | CoreGraphics does not provide a means to get the original font data for a CGFont, only the tables. As a result, Skia pieces the font data back together when requested. The most awkward part of this is choosing the first four bytes, and the CTFont suggestion seems to often be wrong. This change doublechecks the selection of 'typ1', prefering to use 'OTTO' if there are no 'TYP1' or 'CID ' tables. These sorts of fonts are extremely old and unlikely to be in current use. It appears that CTFont may report that it has this format if it is an 'OTTO' font with very few glyphs. If Skia serializes such a font with 'typ1' as the first four bytes, CoreGraphics will not create a CGFont from the resulting font data. BUG=chromium:809763,skia:7630 Change-Id: I9979b9f0ebdd27c4ad0903e8ee6237241e755541 Reviewed-on: https://skia-review.googlesource.com/113306 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* some fuzzer fixesGravatar Cary Clark2018-03-09
| | | | | | | | | | | | should fix three or four of the PathOp asserts triggered by the fuzzer tool. R=kjlubick@google.com Bug: skia: Change-Id: I470895addf1e922da6a7c41d44d54eca92e68fb6 Reviewed-on: https://skia-review.googlesource.com/113163 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* Remove SKQP bots from masterGravatar Stephan Altmueller2018-03-09
| | | | | | | | | No-try: true Bug: skia: Change-Id: I89fbd3cca0a14682c4b9282ba2094afe92e2d3de Reviewed-on: https://skia-review.googlesource.com/113241 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Stephan Altmueller <stephana@google.com>
* Roll skia/third_party/externals/angle2/ 80964f97e..e8a93c6ed (1 commit)Gravatar angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/80964f97e9ab..e8a93c6ed6fe $ git log 80964f97e..e8a93c6ed --date=short --no-merges --format='%ad %ae %s' 2018-01-04 jdarpinian New transform feedback buffer binding rules Created with: roll-dep skia/third_party/externals/angle2 The AutoRoll server is located here: https://angle-skia-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE TBR=fmalita@google.com Change-Id: I6427a749809ea48304abc453425a9c89befe87fd Reviewed-on: https://skia-review.googlesource.com/113364 Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* Harden size check during textblob deserializationGravatar Wei Li2018-03-09
| | | | | | | | | | | | | Check the text size read from a buffer should not exceed the size of the input buffer. This is to avoid memory allocation errors such as out of memory. BUG=chromium:809200 Change-Id: I47824f6e8122bd550ee97ac83e2251b7725865e7 Reviewed-on: https://skia-review.googlesource.com/113289 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Roll skia/third_party/externals/angle2/ 5164b797c..80964f97e (6 commits)Gravatar angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/5164b797cb91..80964f97e9ab $ git log 5164b797c..80964f97e --date=short --no-merges --format='%ad %ae %s' 2018-03-08 lucferron Vulkan: Support of GL_UNSIGNED_BYTE type in drawElements 2018-03-05 brandon1.jones Add NPOT validation to copyTextureCHROMIUM 2018-03-08 jmadill Return an Error from Framebuffer::syncState. 2018-03-08 jmadill Vulkan: Use RenderTargetCache in FramebufferVk. 2018-02-15 lucferron Vulkan: Implement scissored clears. 2018-03-08 jmadill Return errors from gl::State::syncDirtyObjects. Created with: roll-dep skia/third_party/externals/angle2 The AutoRoll server is located here: https://angle-skia-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE TBR=fmalita@google.com Change-Id: I935cc7797cb725e99c44027e5d7139e83ac6d756 Reviewed-on: https://skia-review.googlesource.com/113290 Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* Change behavior of custom image serial/deserialGravatar Mike Reed2018-03-08
| | | | | | | | | | | | | | | | New behavior is to *always* call the client's deserial image proc for all data. This allows the client to make decisions even on "std" image data like PNG. The change also means that if there is no client deserial image proc, Skia will still attempt to create an image from the data, even if it was written by a custom serial proc. Bug: skia:7706 Change-Id: Ia58bdd10b86d497f02187082c6373c029e9c8293 Reviewed-on: https://skia-review.googlesource.com/113302 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add ability to uninstantiate lazy proxies after every flush.Gravatar Greg Daniel2018-03-08
| | | | | | | | | Bug: skia: Change-Id: Id32540cda54a9c5e3e6cb721776699be3cc8ac1a Reviewed-on: https://skia-review.googlesource.com/113263 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fill in some missing virtuals from canvas subclassesGravatar Brian Osman2018-03-08
| | | | | | | | Bug: skia: Change-Id: If7306fa6c5a1619952e1159e6ebca8f04b4d9c8e Reviewed-on: https://skia-review.googlesource.com/113262 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Split GrDDL- & GrDirect- Contexts into their own filesGravatar Robert Phillips2018-03-08
| | | | | | | | | Following up on an prior CLs TODO Change-Id: I99397d4ffa5cc67b39726900f48b399e38fdbdd9 Reviewed-on: https://skia-review.googlesource.com/113201 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* tighten check when we might overflow legacy shader mathGravatar Mike Reed2018-03-08
| | | | | | | | Bug: skia:7700 Change-Id: I2ca06b7ba36f2e17d6addd31b1f67a07d478e207 Reviewed-on: https://skia-review.googlesource.com/113264 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Use clippedIR instead of clipBounds to filter coverage deltasGravatar Yuqian Li2018-03-08
| | | | | | | | | | | | | Due to precision limit, some cubics may generate lines exceeding the path's IR. Since we created delta list or delta mask using clippedIR, it's important that we use the stricter clippedIR instead of clipBounds to filter the coverage deltas. Bug: oss-fuzz:6189 Change-Id: I775408282fb45ada41968426c2f32d28bb567af1 Reviewed-on: https://skia-review.googlesource.com/113160 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Upgrade IntelIris540 Win10 GPU driver, take 2.Gravatar Ben Wagner2018-03-08
| | | | | | | | | | | | | This version is the latest from Windows Update, which is not available from Intel. It is an earlier version than the one used in https://skia-review.googlesource.com/c/skia/+/106202, but all later drivers seem to have the same issue that caused that CL to be reverted. Bug: skia:7490, skia:6398 Change-Id: I96f4262d16066dbd1a05dadd66df32b29d1bd9d6 No-Try: true Reviewed-on: https://skia-review.googlesource.com/111064 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Re-enable PGO for SkiaGravatar Pirama Arumuga Nainar2018-03-08
| | | | | | | | | | | | | Also use the same profile file as Android's hwui (hwui/hwui.profdata). Since hwui and skia both also use LTO, the profile files need to be the same to satisfy the Clang LTO plugin. Test: Verify that the miscompiles are fixed. Change-Id: I2a5217b64966144319e63b83351dea2388b60250 Reviewed-on: https://skia-review.googlesource.com/112106 Reviewed-by: Zhizhou Yang <zhizhouy@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Fix preAbandonContext botGravatar Robert Phillips2018-03-08
| | | | | | | | | | | This fixes a bug in https://skia-review.googlesource.com/c/skia/+/113121 (Additional DDL playback cleanup) TBR=egdaniel@google.com Change-Id: Idef804c00816fa373c75814ffa5d28b7c9f64d41 Reviewed-on: https://skia-review.googlesource.com/113161 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "ccpr: Draw curves in a single pass"Gravatar Chris Dalton2018-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit df04ce29490a24f9d5b4f5caafd8f6a3368a19e0. Reason for revert: Going to revisit AAA quality Original change's description: > ccpr: Draw curves in a single pass > > Throws out the complicated MSAA curve corner shaders, and instead just > ramps coverage to zero at bloat vertices that fall outside the curve. > > Updates SampleCCPRGeometry to better visualize this new geometry by > clearing to black and drawing with SkBlendMode::kPlus. > > Bug: skia: > Change-Id: Ibe86cbc741d8b015127b10dd43e3b52e7cb35732 > Reviewed-on: https://skia-review.googlesource.com/112626 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,csmartdalton@google.com Change-Id: I014baa60b248d870717f5ee8794e0bed66da86e6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/113181 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "ccpr: Simplify triangle corners"Gravatar Chris Dalton2018-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 622650a1949f9a68793ac895d9fbadee7177d860. Reason for revert: Going to try to improve AAA quality on curve corners Original change's description: > ccpr: Simplify triangle corners > > Modifies triangle corner shaders to just approximate their coverage with > linear values that ramp to zero at bloat vertices outside the triangle. > > For the vertex backend, since corners now have the same fragment shader > as the rest of the triangle, we fold them in with the other steps and > draw triangles in a single pass. > > The geometry backend still draws triangles in two passes, as there is > not an apparent performance advantage in combining them. > > Bug: skia: > Change-Id: Ib4a89d793a3c706f734d0271875c8a3e5c87c49b > Reviewed-on: https://skia-review.googlesource.com/112632 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,csmartdalton@google.com Change-Id: I45e7b9d7d7f8452b28bd54ca1e90a1f046cb2462 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/113180 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Use kLow_SkFilterQuality when generating shader masksGravatar Florin Malita2018-03-08
| | | | | | | | | This prevents edge aliasing for kDecal tiling. Change-Id: I3a66e49ec1900bbe19c6700ec2f766122af4a3ce Reviewed-on: https://skia-review.googlesource.com/113124 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Add testing only helper to flush and sync gpu.Gravatar Greg Daniel2018-03-08
| | | | | | | | | | | | The use case for this is mostly for Vulkan where we need to make sure the gpu is done with resources before we delete or use them in some way. Previously we used readPixels to do this which was just an ugly hack. Bug: skia: Change-Id: I7949ebc695032533675133aabca0e32840b417ba Reviewed-on: https://skia-review.googlesource.com/113122 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>