aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* 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>
* Delazify wrapped backend textures/render target proxiesGravatar Brian Salomon2018-03-08
| | | | | | | | | | | These methods will fail on DDL contexts. This is in preparation for removing the ability to specify origin for lazy proxies. Change-Id: Iadcedfd4fce8ea2590729c974128e5c58cec38a8 Reviewed-on: https://skia-review.googlesource.com/112802 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Additional DDL playback cleanupGravatar Robert Phillips2018-03-08
| | | | | | | | | | This operates in tandem with https://skia-review.googlesource.com/c/skia/+/112702 ( Remove GrRestrictedAtlasManager) to get DDL playback working. Change-Id: I6c2178fde760677bf79f2cf0a2dee8b5990aa5bc Reviewed-on: https://skia-review.googlesource.com/113121 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Roll skia/third_party/externals/angle2/ ed8b49195..5164b797c (1 commit)Gravatar angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/ed8b49195844..5164b797cb91 $ git log ed8b49195..5164b797c --date=short --no-merges --format='%ad %ae %s' 2018-03-06 lucferron Vulkan: Support GL_LUMINANCE and GL_LUMINANCE_ALPHA 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: If748cce9f7c4cab991378781cefeae16e5fda2bd Reviewed-on: https://skia-review.googlesource.com/113141 Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* Remove GrRestrictedAtlasManagerGravatar Robert Phillips2018-03-08
| | | | | | | | | Philosophically this relies on: https://skia-review.googlesource.com/c/skia/+/111807 (Revise Text & Small Path Atlas so instantiation failure is handled at flush time) Change-Id: I4fdcf1af8c5e9ffefdfb973104045f4f5d223a4e Reviewed-on: https://skia-review.googlesource.com/112702 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Roll skia/third_party/externals/angle2/ 2202680c6..ed8b49195 (5 commits)Gravatar angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/2202680c6a5d..ed8b49195844 $ git log 2202680c6..ed8b49195 --date=short --no-merges --format='%ad %ae %s' 2018-03-07 jmadill Vulkan: Fix missing depth/stencil access flags. 2018-03-02 jmadill Add RenderTargetCache helper. 2018-03-07 ynovikov Revert "Add NPOT validation to copyTextureCHROMIUM" 2018-03-06 tobine Roll (2/2) to latest LVL as of 3/6/18 2018-03-07 jmadill Update copyright notice in the style guide. 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: I9c520ea70a5d652b4f30264392df2c98c290c7f8 Reviewed-on: https://skia-review.googlesource.com/113080 Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* ccpr: Simplify triangle cornersGravatar Chris Dalton2018-03-08
| | | | | | | | | | | | | | | | | | 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>
* ccpr: Draw curves in a single passGravatar Chris Dalton2018-03-08
| | | | | | | | | | | | | | 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>
* [skottie] Reduce parser verbosityGravatar Florin Malita2018-03-07
| | | | | | | | | TBR= Change-Id: I2fafa08cd86533526c829dcf3104577ebec6098f Reviewed-on: https://skia-review.googlesource.com/112940 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* add TrimPathEffectGravatar Mike Reed2018-03-07
| | | | | | | | Bug: skia: Change-Id: I453fb81ded4435b33567e9c8a6f3abe9535d687f Reviewed-on: https://skia-review.googlesource.com/112820 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Roll skia/third_party/externals/skcms/ da8c41528..e5ac7a7c8 (2 commits)Gravatar skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://skia.googlesource.com/skcms/+log/da8c4152866d..e5ac7a7c8d83 $ git log da8c41528..e5ac7a7c8 --date=short --no-merges --format='%ad %ae %s' 2018-03-07 mtklein start adding premul tests 2018-03-07 brianosman Add support for opaque, unpremul, and premul (both kinds) Created with: roll-dep skia/third_party/externals/skcms The AutoRoll server is located here: https://skcms-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. TBR=fmalita@google.com Change-Id: I34f178d7563653f3d95cb618b8c8e53033f1ec65 Reviewed-on: https://skia-review.googlesource.com/112921 Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* [sksg] Cache transformed TrimEffect geometryGravatar Florin Malita2018-03-07
| | | | | | | | | | | Apply the effect at revalidation time, and cache the result. TBR= Change-Id: I166fc0e4e2869bea51e5e45e5a2a50df2f034691 Reviewed-on: https://skia-review.googlesource.com/112801 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Make ProxyUtils::MakeTextureProxyFromData use wrapped textures when origin ↵Gravatar Brian Salomon2018-03-07
| | | | | | | | | | | | is kBottomLeft This is to prepare for only supporting kBottomLeft origin for wrapped texture/render targets. Change-Id: Iecb2e463867f746186695893276ebb5dc47a9d90 Reviewed-on: https://skia-review.googlesource.com/112860 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Test SKQP on Firebase Testlab and UploadGravatar Stephan Altmueller2018-03-07
| | | | | | | | | | | | | | - adds building the testlab driver (run_testlab) as a separate step - adds gcloud isolate necessary to run testlab - adds Testlab support and uploading a verified AKP to GCS (with meta data attached). Bug: skia: Change-Id: I1bf265f46c99360eb3a9eb684886f93de48085fe Reviewed-on: https://skia-review.googlesource.com/111603 Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Stephan Altmueller <stephana@google.com>
* ccpr: Combine GS triangle hulls and edges into a single drawGravatar Chris Dalton2018-03-07
| | | | | | | | | | | | | | | | Updates the geometry shader backend to match the vertex backend and draw triangle rasters together with their their edges in a single draw call. This gives a performance boost as well as cleaning up some API awkwardness. This is one step toward the final goal of drawing ccpr primitives in a single pass. Bug: skia: Change-Id: I2723692d02b9e39ca5dc5d9e022b528a051988ab Reviewed-on: https://skia-review.googlesource.com/112104 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Make Vulkan testing-only backend textures have optimal layoutGravatar Brian Salomon2018-03-07
| | | | | | | Change-Id: I984a6a657417565c36687d32e41b5f7d9bbc39f8 Reviewed-on: https://skia-review.googlesource.com/112800 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename wrap backend tex/rt methods on GrProxyProviderGravatar Brian Salomon2018-03-07
| | | | | | | | | This makes them more consistent with similar methods on GrResourceProvider. Change-Id: Ice7e5dbe8100481781015b386445e9b7101bd75e Reviewed-on: https://skia-review.googlesource.com/112821 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Have GrGlyphCache and GrAtlasManager compute the atlas limits independentlyGravatar Robert Phillips2018-03-07
| | | | | | | | | | | DDL contexts will have a GrGlyphCache but not a GrAtlasManager. This CL disentangles the computation of the atlas limits so the GrGlyphCache can function independently. Change-Id: Ia698c7d1ec625d1a0d1f0b5521b56731cfeafde9 Reviewed-on: https://skia-review.googlesource.com/112708 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Roll skia/third_party/externals/angle2/ 7618eaf9a..2202680c6 (4 commits)Gravatar angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/7618eaf9ad45..2202680c6a5d $ git log 7618eaf9a..2202680c6 --date=short --no-merges --format='%ad %ae %s' 2018-03-05 brandon1.jones Add NPOT validation to copyTextureCHROMIUM 2018-03-02 jmadill Vulkan: Always use LOAD for RenderPass attachments. 2018-03-06 tobine Roll (1/2) LVL version forward and disable VANGLE 2018-03-02 cwallez Allow rectangle textures to be sample with texture() in ESSL3 Created with: roll-dep skia/third_party/externals/angle2 BUG=757974 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: I94740d7eb994fd636d215d15b3528987935e4089 Reviewed-on: https://skia-review.googlesource.com/112760 Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* ccpr: Fix very small edgesGravatar Chris Dalton2018-03-07
| | | | | | | | | | | | | | Fixes a bug in the vertex shader backend where a pixel could be hit twice on very small, axis-aligned edges. Improves the coverage calculations to be more accurate when dealing with very small edges. Bug: skia: Change-Id: I4bac191695d7b7d73b6eef9df0fca3539503a965 Reviewed-on: https://skia-review.googlesource.com/111323 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Revert "add tiler for SkDraw""Gravatar Mike Reed2018-03-07
| | | | | | | | | | | | This reverts commit 461ef7af88cc966007c464130a971ec86c803f1d. Prev CL to SkScan_Hairline.cpp fixed the bug that caused the earlier revert. Bug: skia: Change-Id: Ifd9a364c7546175be292f726e19465b72196b45e Reviewed-on: https://skia-review.googlesource.com/112723 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revise Text & Small Path Atlas so instantiation failure is handled at flush timeGravatar Robert Phillips2018-03-07
| | | | | | | | | This paves the way to having the AtlasTextOps not need the RestrictedAtlasManager at op creation time. Change-Id: I1028faba730d50d3d3349a4c0809465d036ed611 Reviewed-on: https://skia-review.googlesource.com/111807 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* chop down huge rects before hairliningGravatar Mike Reed2018-03-07
| | | | | | | | Bug: skia: Change-Id: I18f4b1dc4f279e37832d4bced0a66b5c356d09c0 Reviewed-on: https://skia-review.googlesource.com/112572 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Roll skia/third_party/externals/skcms/ 8a7ec86c0..da8c41528 (1 commit)Gravatar skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://skia.googlesource.com/skcms/+log/8a7ec86c049f..da8c4152866d $ git log 8a7ec86c0..da8c41528 --date=short --no-merges --format='%ad %ae %s' 2018-03-07 brianosman Remove two unnecessary files Created with: roll-dep skia/third_party/externals/skcms The AutoRoll server is located here: https://skcms-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. TBR=fmalita@google.com Change-Id: Icb2f2e156606331e85a175056ff9f4e8c3e894b6 Reviewed-on: https://skia-review.googlesource.com/112717 Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
* Initial texture data is never flipped when uploaded.Gravatar Brian Salomon2018-03-07
| | | | | | | | | The first bytes of the data always refer to the pixel accessed by texture coord (0, 0). Change-Id: I708702d90f35b3bc896a48c3c3fd6a0be73f505a Reviewed-on: https://skia-review.googlesource.com/112261 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Remove attach and detach glyph cache."Gravatar Herb Derby2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 61d56b92a4076f8afd644d015913641d691e39c8. Reason for revert: broke gldft text Original change's description: > Remove attach and detach glyph cache. > > BUG=skia:7515 > > Change-Id: Ib978e3cf4cfffdefe6453feb520e5e73684abf2e > Reviewed-on: https://skia-review.googlesource.com/112560 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=bungeman@google.com,herb@google.com Change-Id: Id5723a3abcd103ed20197bba2dab06e8074be633 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7515 Reviewed-on: https://skia-review.googlesource.com/112745 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Remove abandon param from GrGpu::deleteTestingOnlyBackendTexture.Gravatar Brian Salomon2018-03-07
| | | | | | | | | Prior to the existence of GrBackendTexture this was required to delete a backend-specific blob. Now it's a no-op. Change-Id: Iba0e4233e4d07235626f0ae14b0f7e77c073d8c0 Reviewed-on: https://skia-review.googlesource.com/112569 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Reland "Reland "make SkJumper stages normal Skia code""Gravatar Mike Klein2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 78cb579f33943421afc8423a39867fcfd69fed44 This time, lowp stages are controlled by !defined(JUMPER_IS_SCALAR), not by defined(__clang__). The two are usually the same, except when we opt Clang builds into JUMPER_IS_SCALAR artificially. Some Google3 builds use compilers old enough that they barf when compiling our NEON code. It's conceivably also possible to define JUMPER_IS_SCALAR yourself, but I don't think anyone does that. Original change's description: > Reland "make SkJumper stages normal Skia code" > > This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4 > > Now with fixed #include paths in SkRasterPipeline_opts.h, > and -ffp-contract=fast for the :hsw target to minimize > diffs on non-Windows Clang AVX2/AVX-512 bots. > > Original change's description: > > make SkJumper stages normal Skia code > > > > Enough clients are using Clang now that we can say, use Clang to build > > if you want these software pipeline stages to go fast. > > > > This lets us drop the offline build aspect of SkJumper stages, instead > > building as part of Skia using the SkOpts framework. > > > > I think everything should work, except I've (temporarily) removed > > AVX-512 support. I will put this back in a follow up. > > > > I have had to drop Windows down to __vectorcall and our narrower > > stage calling convention that keeps the d-registers on the stack. > > I tried forcing sysv_abi, but that crashed Clang. :/ > > > > Added a TODO to up the same narrower stage calling convention > > for lowp stages... we just *don't* today, for no good reason. > > > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > > Reviewed-on: https://skia-review.googlesource.com/110641 > > Commit-Queue: Mike Klein <mtklein@chromium.org> > > Reviewed-by: Herb Derby <herb@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > Change-Id: I44f2c03d33958e3807747e40904b6351957dd448 > Reviewed-on: https://skia-review.googlesource.com/112742 > Reviewed-by: Mike Klein <mtklein@chromium.org> Change-Id: I3d71197d4bbb19ca4a94961a97fa2e54d5cbfb0d Reviewed-on: https://skia-review.googlesource.com/112744 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Reland "make SkJumper stages normal Skia code""Gravatar Mike Klein2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 78cb579f33943421afc8423a39867fcfd69fed44. Reason for revert: lowp should be controlled by defined(JUMPER_IS_SCALAR), not defined(__clang__). So close. Original change's description: > Reland "make SkJumper stages normal Skia code" > > This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4 > > Now with fixed #include paths in SkRasterPipeline_opts.h, > and -ffp-contract=fast for the :hsw target to minimize > diffs on non-Windows Clang AVX2/AVX-512 bots. > > Original change's description: > > make SkJumper stages normal Skia code > > > > Enough clients are using Clang now that we can say, use Clang to build > > if you want these software pipeline stages to go fast. > > > > This lets us drop the offline build aspect of SkJumper stages, instead > > building as part of Skia using the SkOpts framework. > > > > I think everything should work, except I've (temporarily) removed > > AVX-512 support. I will put this back in a follow up. > > > > I have had to drop Windows down to __vectorcall and our narrower > > stage calling convention that keeps the d-registers on the stack. > > I tried forcing sysv_abi, but that crashed Clang. :/ > > > > Added a TODO to up the same narrower stage calling convention > > for lowp stages... we just *don't* today, for no good reason. > > > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > > Reviewed-on: https://skia-review.googlesource.com/110641 > > Commit-Queue: Mike Klein <mtklein@chromium.org> > > Reviewed-by: Herb Derby <herb@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > Change-Id: I44f2c03d33958e3807747e40904b6351957dd448 > Reviewed-on: https://skia-review.googlesource.com/112742 > Reviewed-by: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,herb@google.com,fmalita@chromium.org Change-Id: Ie64da98f5187d44e03c0ce05d7cb189d4a6e6663 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/112743 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Remove attach and detach glyph cache.Gravatar Herb Derby2018-03-07
| | | | | | | | | BUG=skia:7515 Change-Id: Ib978e3cf4cfffdefe6453feb520e5e73684abf2e Reviewed-on: https://skia-review.googlesource.com/112560 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>