aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Revert "Enable coverage counting path rendering on non-Android"Gravatar Jim Van Verth2017-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c739b7260a36ed4f9ea803991909a438629ca1d2. Reason for revert: Turning tree red. Original change's description: > Enable coverage counting path rendering on non-Android > > Bug: skia: > Change-Id: Ife4c4378bf4323fb4a58fecfade09320ebc28026 > Reviewed-on: https://skia-review.googlesource.com/53000 > Reviewed-by: Derek Sollenberger <djsollen@google.com> > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=djsollen@google.com,csmartdalton@google.com,reed@google.com Change-Id: I89ef472a95320ff21684ca697295cd8b3939322e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/53522 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Just add new safe size apisGravatar Mike Reed2017-09-29
| | | | | | | | | | | Update skia (and then hide the older versions) to come later Inspired by https://skia-review.googlesource.com/c/skia/+/52665 Bug: skia: Change-Id: I15c7395557fb49c4163cb3b323b5428abd2c752d Reviewed-on: https://skia-review.googlesource.com/53520 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Enable coverage counting path rendering on non-AndroidGravatar Chris Dalton2017-09-29
| | | | | | | | | Bug: skia: Change-Id: Ife4c4378bf4323fb4a58fecfade09320ebc28026 Reviewed-on: https://skia-review.googlesource.com/53000 Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add a new calmbench tool for noiseless nanobenchGravatar Yuqian Li2017-09-29
| | | | | | | | | | | | | | | | | | This tool can quickly check all nanobench tests including svgs and skps (<5 minutes for CPU, ~30 minutes for GPU) and find significant performance regressions without much noise. This tool is not only faster (lower latency to get regression alerts), but also more sensitive compared to our k-means and step-fitting bots (especially for changes that only affect very few benches). It may still miss some regressions, but the regressions reported should be valid with very high probability. Bug: skia: Change-Id: I02115e6c5ab630e4c56b2087ffeb5cae1d4a618e Reviewed-on: https://skia-review.googlesource.com/50060 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Eric Boren <borenet@google.com>
* Clear uniquely keyed texture proxies out of ResourceCache when it is deletedGravatar Robert Phillips2017-09-29
| | | | | | | | Change-Id: Ice135dd4b6316b791276eefd522be6bd90b8b5eb Reviewed-on: https://skia-review.googlesource.com/53261 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add width and height option to SampleAppGravatar Yuqian Li2017-09-29
| | | | | | | | | | | So we can benchmark with given width/height dimensions. Bug: skia: Change-Id: I881c9f054cdcecc3e0b2bfb600afd778e1c57d95 Reviewed-on: https://skia-review.googlesource.com/51246 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Add AVX512 jobs.Gravatar Ben Wagner2017-09-29
| | | | | | | | | Bug: skia:6326 No-Try: true Change-Id: Iaffc0cbbe14237e7ac2d83cc9da94a4c7bea3154 Reviewed-on: https://skia-review.googlesource.com/52764 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Revert "Revert "Update GrBitmapTextureMaker for handling mipped requests""Gravatar Greg Daniel2017-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8b059bd946d9f14607f6d2e8b966267dd8e5a54d. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Update GrBitmapTextureMaker for handling mipped requests" > > This reverts commit d1935c16e889b6707a522f711e79c75353caa343. > > Reason for revert: breaking lots of GMs, especially on gles > > Original change's description: > > Update GrBitmapTextureMaker for handling mipped requests > > > > Specifically this updates the case when we are requesting to use mip > > maps but there is already an unmipped version in the cache. Previously > > we just grabbed the unmipped. > > > > Now we will create a new mipped resource. Upload the cpu data to all > > the levels besides the base, copy the base level on GPU from the > > original resource to the mipped one. Then the mipped resource will > > take over the originals unique key. > > > > Bug: skia: > > Change-Id: I38e9725c93280dc2460a0be8a7a229e7f20e1614 > > Reviewed-on: https://skia-review.googlesource.com/43840 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com > > Change-Id: Id82e8b6e8ab69e46ff018bb07ae5d1f6ea8d7e76 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/52901 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com Bug: skia: Change-Id: Ie5b9553aa67def6f9c5a61f9b6b065b9fce3ff76 Reviewed-on: https://skia-review.googlesource.com/53240 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove duplicate config for MacMini.Gravatar Ben Wagner2017-09-29
| | | | | | | | No-Try: true Change-Id: I449c0fd435b233e9c9538c17295ef18348380658 Reviewed-on: https://skia-review.googlesource.com/53120 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Make SkASSERT and co. constexpr compatible.Gravatar Mike Klein2017-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the nice bits of constexpr is that an expression is constexpr if there exists any set of argument values that make it constant. It doesn't have to be constant for _all_ argument values. This means that this expression is constexpr: condition ? constexpr_value : []{ arbitrary non-constexpr code; }(); ... it's constant when condition is true. We can use this to rewrite SkASSERT(condition) as ( (condition) ? (void)0 : []{ SK_ABORT(#condition); }() ) Both sides of the ?: are void, and when condition is true at compile time the right hand side disappears completely. In C++11 constexpr functions we just have to use the comma operator to jam SkASSERT() into the order of evaluation: constexpr uint32_t foo(int x, int y) { return SkASSERT(x > y), x - y; } Change-Id: I21878d14fb2af76d93591d2ae229460ee825cfde Reviewed-on: https://skia-review.googlesource.com/52663 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Trent Apted <tapted@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Revert "Revert "Revert "Make threaded proxy generation MDB-friendly, ↵Gravatar Brian Osman2017-09-29
| | | | | | | | | | | | and defer instantiation"""" This reverts commit 9f8d4d36b514ffe3cc3a4a48900e3dc1fecb2a96. Bug: skia: Change-Id: I8d7c1df24d8b13b94404f3d9ba69a1ab55ee00c0 Reviewed-on: https://skia-review.googlesource.com/52920 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Roll skia/third_party/externals/angle2/ a9c60e9f9..2a9e107c0 (1 commit)Gravatar angle-deps-roller@chromium.org2017-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/a9c60e9f9a23..2a9e107c072e $ git log a9c60e9f9..2a9e107c0 --date=short --no-merges --format='%ad %ae %s' 2017-09-22 jmadill Vulkan: Support multiple vertex outputs. Created with: roll-dep skia/third_party/externals/angle2 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, see: http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE TBR=jvanverth@google.com Change-Id: If164c138c37eb1ce43718e010f969166462dc8eb Reviewed-on: https://skia-review.googlesource.com/53200 Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org> Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
* Roll skia/third_party/externals/angle2/ db3422764..a9c60e9f9 (1 commit)Gravatar angle-deps-roller@chromium.org2017-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/db3422764a9b..a9c60e9f9a23 $ git log db3422764..a9c60e9f9 --date=short --no-merges --format='%ad %ae %s' 2017-09-28 jmadill Vulkan: Allow for multiple frames in-flight. Created with: roll-dep skia/third_party/externals/angle2 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, see: http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE TBR=jvanverth@google.com Change-Id: Ic837af7805e5a5120d2e00e4bfa84a3549a5abc0 Reviewed-on: https://skia-review.googlesource.com/53101 Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org> Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
* Roll skia/third_party/externals/angle2/ c71ea661e..db3422764 (5 commits)Gravatar angle-deps-roller@chromium.org2017-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/c71ea661e371..db3422764a9b $ git log c71ea661e..db3422764 --date=short --no-merges --format='%ad %ae %s' 2017-09-27 jiawei.shao ES31: Implement glSampleMaski on OpenGL 2017-09-27 cwallez Fixup Mac dEQP GLES3 expectations 2017-09-27 cwallez Add dEQP GLES3 Mac suppressions 2017-09-26 cwallez Skip dEQP GLES3 performance tests on all platforms 2017-07-10 yizhou.jiang ES31: Fix bug on incomplete texture validation of internalformat and filterable Created with: roll-dep skia/third_party/externals/angle2 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, see: http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE TBR=jvanverth@google.com Change-Id: Ib5f3f69fb454fdd5fb3e573434c5aac3aee2f97d Reviewed-on: https://skia-review.googlesource.com/53060 Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org> Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
* Revert "Update GrBitmapTextureMaker for handling mipped requests"Gravatar Greg Daniel2017-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d1935c16e889b6707a522f711e79c75353caa343. Reason for revert: breaking lots of GMs, especially on gles Original change's description: > Update GrBitmapTextureMaker for handling mipped requests > > Specifically this updates the case when we are requesting to use mip > maps but there is already an unmipped version in the cache. Previously > we just grabbed the unmipped. > > Now we will create a new mipped resource. Upload the cpu data to all > the levels besides the base, copy the base level on GPU from the > original resource to the mipped one. Then the mipped resource will > take over the originals unique key. > > Bug: skia: > Change-Id: I38e9725c93280dc2460a0be8a7a229e7f20e1614 > Reviewed-on: https://skia-review.googlesource.com/43840 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com Change-Id: Id82e8b6e8ab69e46ff018bb07ae5d1f6ea8d7e76 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/52901 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Always read half-float textures as GL_HALF_FLOAT in ES3.Gravatar Geoff Lang2017-09-28
| | | | | | | | | | | | | | ANGLE now returns GL_HALF_FLOAT as the GL_IMPLEMENTATION_READ_TYPE for ES3 contexts. BUG=765953 CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE Change-Id: I556aecc040f0274b769a3b551b7032adf4ab035a Reviewed-on: https://skia-review.googlesource.com/52523 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Reorganize blur filter to insert new implementationGravatar Herb Derby2017-09-28
| | | | | | | Change-Id: Ie9afd2de2bfb9bcd04b5f8b7f319a24025520bef Reviewed-on: https://skia-review.googlesource.com/52400 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Stephen White <senorblanco@chromium.org>
* Avoid uninitialized memory in readByteArrayAsDataGravatar Leon Scroggins III2017-09-28
| | | | | | | | | | | | | | | | | Bug: 769134 readByteArray can fail (due to not having enough available or due to the wrong alignment). If it does, do not return an uninitialized block of memory. Further, drop the initial size check, which is covered by readByteArray. Add a test. Change-Id: Ia101697c5bb1ca3ae3df1795f37a74b2f602797d Reviewed-on: https://skia-review.googlesource.com/52742 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Miscellaneous dynamic atlas fixes.Gravatar Jim Van Verth2017-09-28
| | | | | | | | | | | | | Make Chinese fling sample closer to Android test. Fix a bug in GrDrawOpAtlas::compact(), where the atlas generation wasn't incremented so the client didn't know it changed. Add some debug info for GrDrawOpAtlas. Add a comment in GrDrawOpAtlas::setLastUseTokenBulk. Change-Id: I79192a017870541a79731b1a22f665ec5deeff09 Reviewed-on: https://skia-review.googlesource.com/52761 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Roll recipe dependencies (trivial).Gravatar recipe-roller2017-09-28
| | | | | | | | | | | | | | | | | | | | | This is an automated CL created by the recipe roller. This CL rolls recipe changes from upstream projects (e.g. depot_tools) into downstream projects (e.g. tools/build). More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug. depot_tools: https://crrev.com/a16ccaf11a5a0b145b166161b80d99eaef294f4b bot_update: use patch repo instead of project if it is mapped (agable@chromium.org) TBR=borenet@google.com Recipe-Tryjob-Bypass-Reason: Autoroller Bugdroid-Send-Email: False Change-Id: I5afc28d536d06546b1015d453dd49e33094622b6 Reviewed-on: https://skia-review.googlesource.com/52768 Commit-Queue: Recipe Roller <recipe-roller@chromium.org> Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
* Update GrBitmapTextureMaker for handling mipped requestsGravatar Greg Daniel2017-09-28
| | | | | | | | | | | | | | | | | Specifically this updates the case when we are requesting to use mip maps but there is already an unmipped version in the cache. Previously we just grabbed the unmipped. Now we will create a new mipped resource. Upload the cpu data to all the levels besides the base, copy the base level on GPU from the original resource to the mipped one. Then the mipped resource will take over the originals unique key. Bug: skia: Change-Id: I38e9725c93280dc2460a0be8a7a229e7f20e1614 Reviewed-on: https://skia-review.googlesource.com/43840 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove tolerance form SkClassifyCubicGravatar Chris Dalton2017-09-28
| | | | | | | | | | | | It's too inexact as-is. If the caller wants tolerance they can do their own with knowledge of the pixel grid. The homogeneous math is stable with infinities so it's really unnecessary here. Bug: skia:7073 Change-Id: I4dc34ad96b859a138714b6d4f8804fec4f89f17a Reviewed-on: https://skia-review.googlesource.com/51182 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* CCPR: Handle very large pathsGravatar Chris Dalton2017-09-28
| | | | | | | | Bug: skia:7073 Change-Id: Iec4276703d56c14a8bdd8c34ac37fa2e6af02d0c Reviewed-on: https://skia-review.googlesource.com/52502 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Add svg support to pathfinder toolGravatar Chris Dalton2017-09-28
| | | | | | | | Bug: skia: Change-Id: I9302491c983fae5e2e84edc4ee135a917b099a42 Reviewed-on: https://skia-review.googlesource.com/52360 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Move context types into STAGE() macros.Gravatar Mike Klein2017-09-28
| | | | | | | | | | | | This is something I came up with while writing _lowp.cpp. This should all be a logical no-op, but there are some code generation changes. I'm not exactly sure why. Change-Id: Iaad36b5298b37fe26ebd375a147a48852f98e1e4 Reviewed-on: https://skia-review.googlesource.com/52003 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Remove unused param to SkGIFFrameContext ctorGravatar Chris Blume2017-09-28
| | | | | | | | | | | | | After updating the transparency index code, the reader parameter to SkGIFFrameContext's ctor is no longer needed. This patch removes it. BUG=skia:7069 Change-Id: If129f825639e8d43d73794adca2de09785f56a3c Reviewed-on: https://skia-review.googlesource.com/52602 Commit-Queue: Chris Blume <cblume@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Revert "Revert "Revert "Make threaded proxy generation MDB-friendly, and ↵Gravatar Brian Osman2017-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | defer instantiation""" This reverts commit e8b8397664666bfcba8f088ea073ede915da8a41. Reason for revert: More crashing. Original change's description: > Revert "Revert "Make threaded proxy generation MDB-friendly, and defer instantiation"" > > This reverts commit 837c6c7c0cc76bdb9d61a05244ca5f31e7573c37. > > Bug: skia: > Change-Id: I1821f1b2b772c67f1b749692b398eb757d8073c9 > Reviewed-on: https://skia-review.googlesource.com/52744 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com Change-Id: I1c8a81ed1000446c298d646d2cd5e7ebd212f18c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/52860 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Always zero vectors in start_pipeline().Gravatar Mike Klein2017-09-28
| | | | | | | | | | | | | | | | | The lowp start_pipeline() always zeros, and with floats we always zero when compiled as part of Skia, so this just makes the offline float consistent with the others. It's getting confusing to think about which code zeros and which doesn't, and it'd be nicer to be able to rely on zeros. This should change code generation only to the start_pipelines in the .S files. Change-Id: I1178b83c01e609e40dc7912d8d56df8e36eb339d Reviewed-on: https://skia-review.googlesource.com/52001 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix job name in PRESUBMIT.py.Gravatar Ben Wagner2017-09-28
| | | | | | | | | | Job was removed in https://skia-review.googlesource.com/c/skia/+/46306 No-Try: true Change-Id: I1c6e1a25c7395c27401811cdca653ee49d5e64e6 Reviewed-on: https://skia-review.googlesource.com/52762 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Revert "Revert "Make threaded proxy generation MDB-friendly, and defer ↵Gravatar Brian Osman2017-09-28
| | | | | | | | | | | | instantiation"" This reverts commit 837c6c7c0cc76bdb9d61a05244ca5f31e7573c37. Bug: skia: Change-Id: I1821f1b2b772c67f1b749692b398eb757d8073c9 Reviewed-on: https://skia-review.googlesource.com/52744 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Also mask t itself in mask_2pt_conical_degenerates.Gravatar Mike Klein2017-09-28
| | | | | | | | | | | | | | | | | | We look at t to create a mask in mask_2pt_conical_degenerates to be applied later to the colors after the normal gradient stages have run. But if t itself is NaN, that will wreak havoc in the normal gradient stages. So in addition to building the mask to kill off degenerate colors, let's also set degenerate t to zero, which should be a safe value. This fixes the fuzz mentioned in this bug. BUG=skia:7078 Change-Id: I8301450c707bdbf941abd0339959f9e60d46d955 Reviewed-on: https://skia-review.googlesource.com/52763 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix path separators on Windows in zip_utilsGravatar Eric Boren2017-09-28
| | | | | | | | Bug: skia:7077 Change-Id: I5119a7d6c7cd2317129d40ae3e0997dfc9978c25 Reviewed-on: https://skia-review.googlesource.com/52664 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* function santizer is not available on MacGravatar Mike Klein2017-09-28
| | | | | | | Change-Id: Id2ae524f765414e4c3d990066fcd3ebcea693657 Reviewed-on: https://skia-review.googlesource.com/52781 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Use wider types to compute bounds area and avoid overflowGravatar Brian Osman2017-09-28
| | | | | | | | | Bug: skia: Change-Id: I3ea8c8acf56d103a8f38e652b418239e0f517839 Reviewed-on: https://skia-review.googlesource.com/52720 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Roll recipe dependencies (trivial).Gravatar recipe-roller2017-09-28
| | | | | | | | | | | | | | | | | | | | | | | This is an automated CL created by the recipe roller. This CL rolls recipe changes from upstream projects (e.g. depot_tools) into downstream projects (e.g. tools/build). More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug. depot_tools: https://crrev.com/d86c80371561676c85680e80962733087607e1a3 Fix CheckPatchFormatted() when using inherit-review-settings-ok (agrieve@chromium.org) https://crrev.com/4145082558e22927a2dc85c8459533b106e1051f Roll "vpython". (dnj@chromium.org) https://crrev.com/2da7cbd767ab59dbe49171ad99bbae5b4e675e42 Add ability to pass extra flags to gclient.sync(). (mmoss@google.com) TBR=borenet@google.com Recipe-Tryjob-Bypass-Reason: Autoroller Bugdroid-Send-Email: False Change-Id: Ib793caa190fe2ef095c2dee1d559ca486b8bd22c Reviewed-on: https://skia-review.googlesource.com/52780 Reviewed-by: Recipe Roller <recipe-roller@chromium.org> Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
* Simplify scan converter's argsGravatar Yuqian Li2017-09-28
| | | | | | | | | | | | | | | All scan converters need an SkIRect clipBounds and a bool containedInClip. However, we previously sent in an SkRegion and a SkIRect*, and convert them into clipBounds and containedInClip all over the places. This CL converts them only once inside do_fill_path and change all args to SkIRect and bool. Bug: skia: Change-Id: I05f1d76322942d8817860fd33991f7f7ce918e7c Reviewed-on: https://skia-review.googlesource.com/52741 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Make threaded proxy generation MDB-friendly, and defer instantiation"Gravatar Brian Osman2017-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 742f3d02a1c6a916d7e0ed3bedb0b546bbe3c15f. Reason for revert: Aaah! Original change's description: > Make threaded proxy generation MDB-friendly, and defer instantiation > > Replaces GrPrepareCallback with GrDeferredProxyUploader, stored directly > on GrTextureProxy. Op lists now store a list of referenced proxies that > are being generated by worker threads. At flush time, iterate over those > proxies, and invoke their uploader. > > Lifetime of the uploader object is now tied to the proxy, but the ASAP > upload function will free the proxy's uploader, if it's called. > > Bug: skia: > Change-Id: Ieb2c6a805d19990012839a8e103c3ca5b8d3dfc6 > Reviewed-on: https://skia-review.googlesource.com/49904 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com Change-Id: I8f76a67044dc4159f903097d8b1ef19ffb48c730 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/52760 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Make threaded proxy generation MDB-friendly, and defer instantiationGravatar Brian Osman2017-09-28
| | | | | | | | | | | | | | | | Replaces GrPrepareCallback with GrDeferredProxyUploader, stored directly on GrTextureProxy. Op lists now store a list of referenced proxies that are being generated by worker threads. At flush time, iterate over those proxies, and invoke their uploader. Lifetime of the uploader object is now tied to the proxy, but the ASAP upload function will free the proxy's uploader, if it's called. Bug: skia: Change-Id: Ieb2c6a805d19990012839a8e103c3ca5b8d3dfc6 Reviewed-on: https://skia-review.googlesource.com/49904 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Update docs on Skia bots.Gravatar Ben Wagner2017-09-28
| | | | | | | | | | No-Try: true Docs-Preview: https://skia.org/?cl=52163 Change-Id: I2bcd73bc7597219e4748c28e9120b5138a0eb3d1 Reviewed-on: https://skia-review.googlesource.com/52163 Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Add GrTextureProxyPrivGravatar Robert Phillips2017-09-28
| | | | | | | | | Several upcoming additions should go in here Change-Id: I642f3c7cc36b1e6512ee0170640449e88a666d2c Reviewed-on: https://skia-review.googlesource.com/52661 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Enable caching of path mask textures by defaultGravatar Brian Osman2017-09-28
| | | | | | | | | | TBR=bsalomon@google.com Bug: skia: Change-Id: If12c3b44de76a2fed24dd527cb774fe5be270e8e Reviewed-on: https://skia-review.googlesource.com/52260 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* CCPR: Fix KLM matrix when D2=0Gravatar Chris Dalton2017-09-28
| | | | | | | | | | TBR=egdaniel@google.com Bug: skia:7073 Change-Id: I9934b7f071e271d4f7296d65de5be8ff91fc5e79 Reviewed-on: https://skia-review.googlesource.com/52324 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* make SkPath::fConvexity atomicGravatar Mike Klein2017-09-28
| | | | | | | | | | | | | | | | | The TSAN bots fail regularly with races on fConvexity. Very annoying. We used to have this very same problem with SkPath::fFirstDirection until we made it atomic. This does the same to fConvexity. This makes the field as lightly atomic as possible, with all operations using a relaxed memory order. The value of fConvexity isn't guarding any other non-atomic memory or implying any other writes have happened so I don't think we need anything beyond relaxed here. Change-Id: I0da1f892dc2b7072d692ce8b460fb1862aebef77 Reviewed-on: https://skia-review.googlesource.com/52180 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap"Gravatar Jim Van Verth2017-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88757dacd4f532a0f647c02ae0ee596d31ab5c68. Reason for revert: Still seems to be failing Chromium "telemetry_perf_unittests (with patch) on Android" on android_n5x_swarming_rel. Original change's description: > guard old apis for querying byte-size of a bitmap/imageinfo/pixmap > > Now with legacy behavior for allocpixels > > This was reverted, so the current CL is a "fix" on top of ... > https://skia-review.googlesource.com/c/skia/+/50980 > > Related update to Chrome (in preparation for this change) > https://chromium-review.googlesource.com/c/chromium/src/+/685719 > > Bug: skia: > Change-Id: I4b370ee7e95083ab27421f008132219c9c7b86e9 > Reviewed-on: https://skia-review.googlesource.com/51341 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=fmalita@chromium.org,reed@google.com Change-Id: I827a0ca1d1e3909e648fde3342cdb8601d34da8d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/52381 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Fix crash in setLastUseTokenBulkGravatar Jim Van Verth2017-09-27
| | | | | | | | Bug: skia:3550 Change-Id: I00f83f40b30549cbfcb65e6a39afba6355d62299 Reviewed-on: https://skia-review.googlesource.com/52420 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Treat invalid indices as transparent in gifsGravatar Chris Blume2017-09-27
| | | | | | | | | | | | | | | Other browsers (including old Chrome) treat invalid palette indices as transparent for gifs. And there are gifs in the wild which rely on this. As an example, if the palette only has 64 entries (0-63) then index 64 is treated as transparent. BUG=skia:7069 Change-Id: I15e8919a953387506c9ac5945c3ae6a2b90189ab Reviewed-on: https://skia-review.googlesource.com/51100 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Chris Blume <cblume@google.com>
* Fix truncated webp imagesGravatar Leon Scroggins III2017-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: b/65290323 If a webp file is truncated such that no rows can be decoded, WebPIDecGetRGB does not initialize its "last_y" parameter. We use rowsDecoded (passed as last_y) to determine which remaining rows to fill. Check the return value of WebPIDecGetRGB. If it fails (returns null), or rowsDecoded is <= 0 (matching Chromium's check), return kInvalidInput, since there is nothing to draw. Note that this is a change in behavior for Android. Previously we would decode an empty webp to just a transparent/black rectangle, whereas now we simply fail. I think this is a change for the better. Add a test which truncates a file to have 0 rows available and attempts to decode it. msan verifies that we no longer depend on the uninitialized value. Stop attempting to test decoding subsets from an incomplete webp (in CodecTest.cpp). Unless we have decoded the portion covered by the subset, this will fail. Remove test images inc0.webp (from both dm/ and colorspace/) and inc1.webp. These just decode to transparent rectangles. Replace them with inc2.webp and inc3.webp, which decode part of the image and then have to fill with transparent. Change-Id: I64d40be91c574b45963f9a43d8dd8f4929dd2939 Reviewed-on: https://skia-review.googlesource.com/50303 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: James Zern <jzern@google.com>
* Handle instantiation of proxies with pending invalidation messagesGravatar Brian Osman2017-09-27
| | | | | | | | Bug: skia: Change-Id: Id6808734df2335c521d4a563122ceeca906b7601 Reviewed-on: https://skia-review.googlesource.com/52002 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Try finding exact scratch texture in cache before approx, take 2Gravatar Greg Daniel2017-09-27
| | | | | | | | | | | | This is a reland of https://skia-review.googlesource.com/c/skia/+/42940 which was reverted since its parent CL had to be reverted. The parent has since relanded. Bug: skia: Change-Id: Ibf4bf7ce0332e4faea9a6e95a40d1c1f07fb0e75 Reviewed-on: https://skia-review.googlesource.com/51244 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Manually roll recipe DEPSGravatar Eric Boren2017-09-27
| | | | | | | | Bug: skia: Change-Id: I55641aa4bef5a7ac863e3aae3d2902ef408f0384 Reviewed-on: https://skia-review.googlesource.com/52121 Commit-Queue: Eric Boren <borenet@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>