Commit Graph

44632 Commits

Author SHA1 Message Date
Kevin Lubick
3085d9ac7d [canvaskit] Roll chrome version for testing
Also disabling failing perf test.

Change-Id: I5776a5dfba0d429ad6a9d725de26c585e61ba37b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249427
Reviewed-by: Hal Canary <halcanary@google.com>
2019-10-18 17:37:52 +00:00
Florin Malita
814f3cc079 [skottie] Default camera for 3D layers
When 3D layers are present, we need a camera view even when no explicit
camera is present.

TBR=
Bug: skia:8914
Change-Id: I408986d516e03bc4f80c7c09103e09821704ff2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249420
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-10-18 17:20:11 +00:00
Joe Gregorio
f8813913ba [docs] - Add link to buildbot search.
No-Try: true
Docs-Preview: https://skia.org/?cl=249426
Change-Id: I75e12f90a6b52cd13b9f8fc2741d610c47293d88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249426
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2019-10-18 17:14:22 +00:00
Florin Malita
a3adb9ac7e [skottie] Camera does not apply to regular/2D layers
Per [1], "Cameras affect only 3D layers and 2D layers with an effect
with a Comp Camera attribute."

[1] https://helpx.adobe.com/after-effects/using/cameras-lights-points-interest.html#create_a_camera_layer_and_change_camera_settings

Bug: skia:8914
Change-Id: Ic63ac1a9bfd0913757061684f64adf3df8424246
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249419
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-10-18 16:45:07 +00:00
Ben Wagner
e8960ecfbf Add SkColorData.h to gn.
Allows IDEs to find it, brings us a bit closer to getting gn check to
work.

Change-Id: I1e0c8d01f272c41c97dbbf40402b64f44a6c3c48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249421
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-10-18 14:54:41 +00:00
Jim Van Verth
cbf59e0e39 Use LazyProxy to set up Metal swapchain.
The purpose of this is to delay acquiring the next drawable in the
swapchain to avoid stalling and gain better parallel execution between
the CPU and GPU.

Change-Id: I40ef7672394fd00616de43685530d2feaf7cab2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249005
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-10-18 14:04:41 +00:00
Stephen White
7b86d4e8a2 Dawn: allow CopySrc usage of swapchain texture.
This allows readbacks, which fixes backdrop_hintrect_clipping test.

Change-Id: I6b9002d7387b0bc79301848a2e7c70deb7b95f70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249418
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-18 13:56:31 +00:00
Stephen White
f4b3d6b9f3 Dawn: fix single-sided stencil.
GrStencilSettings requires that single-sided stencil be accessed via
frontAndBack(), not via front() or back().

Change-Id: Ib35e6187bda05e21c164685f7b726ce4849979fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249416
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-18 13:00:00 +00:00
skia-autoroll
b80d31f8cb Roll third_party/externals/angle2 ed6e230ec65e..6dee176c8d7d (11 commits)
ed6e230ec6..6dee176c8d

git log ed6e230ec65e..6dee176c8d7d --date=short --no-merges --format='%ad %ae %s'
2019-10-17 tobine@google.com Vulkan:Roll vulkan layers and headers
2019-10-17 jmadill@chromium.org Add more test_utils functions.
2019-10-17 geofflang@chromium.org Fix compiler warning in NativeBufferImageSiblingAndroid.h.
2019-10-17 tobine@google.com Make invalid extension directive a CHROMEOS warning
2019-10-17 geofflang@chromium.org Fix building libpng on arm CPUs.
2019-10-17 lehoangq@gmail.com Report Metal as unavailable
2019-10-17 jmadill@chromium.org Vulkan: Move SwiftShader ICD json to root_out_dir.
2019-10-17 jmadill@chromium.org Fix broken GN "all_dependent_configs".
2019-10-17 shaobo.yan@intel.com Add "DIFF_LINES_OF_CONTEXT: 1" to fix format issue
2019-10-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 9097eeb5359b..6652f0b64287 (11 commits)
2019-10-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 1ff0c181bb37..a959deb00750 (12 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@6dee176c8d7d

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC csmartdalton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=csmartdalton@google.com
Change-Id: I31cfd6244e31bcbbaea758f8c3f8d30e2a6155c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249363
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-18 06:00:40 +00:00
skia-recreate-skps
adcf7dd059 Update Go deps
Change-Id: Icf94b0e2f401c7b1fa5f32041638867d1c82598b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249371
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-10-18 05:25:20 +00:00
skia-autoroll
c5d7ee2128 Roll third_party/externals/swiftshader 6652f0b64287..a68a80a4dbf9 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6652f0b64287..a68a80a4dbf9

git log 6652f0b64287..a68a80a4dbf9 --date=short --no-merges --format='%ad %ae %s'
2019-10-17 sugoi@google.com Vulkan header update

Created with:
  gclient setdep -r third_party/externals/swiftshader@a68a80a4dbf9

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC csmartdalton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=csmartdalton@google.com
Change-Id: I78acab6cf4cca20c3ebd18906e036a26ac5c1202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249362
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-18 04:34:10 +00:00
skia-autoroll
2ae29f7046 Roll ../src e27799abf3f0..7ca6de3adb8e (467 commits)
e27799abf3..7ca6de3adb


Created with:
  gclient setdep -r ../src@7ca6de3adb

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC csmartdalton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=csmartdalton@google.com
Change-Id: I3fc3c841ba54b47e66f2b16fc6349b54c0a49007
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249364
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-18 04:29:20 +00:00
Herb Derby
20eafffd2d Convert prepareForDrawing to glyph buffers
* Have prepareForDrawing leave empty glyphs in.
  This allows the SkSourceGlyphBuffer to track indexes properly.
  Rename prepareForDrawingRemoving empty to prepareForDrawing.
  This is only temporary until the new unified drawing CL is submitted.
* Make the device fallback case properly support subpixel positioning.
* Add calls to SkDrawableGlyphBuffer to handle the glyph flow of the
  prepareForDrawing system.
* Remove most of the old buffering system except for path handling.

Change-Id: I3e51c96ec041896e07dd4a8f580c207e857911f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249221
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-18 03:05:59 +00:00
recipe-roller
da29d70f1a Roll recipe dependencies (trivial).
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/88d7869db09169044c1a0b2d1fbb57f11ffaee2a Reland "depot_tools: Add httplib2 to .vpython" (ehmaldonado@chromium.org)
  https://crrev.com/5abb9b7c5d0c0a5f81f4a0da741680df9b9d128c Revert "Reland "depot_tools: Add httplib2 to .vpython"" (nodir@chromium.org)
  https://crrev.com/59b06a838a4e06c43075db252921f4bd45f7f673 git-cl: Add yapfignore support to git cl format (bsheedy@chromium.org)
  https://crrev.com/2b034d469f80990a841c0770823d692c6c7b4444 Make the queue module work with both Python 2 and Python 3. (raphael.kubo.da.costa@intel.com)
  https://crrev.com/e9342a723b81999d4514f1d10aef25a5a38a592f Use assertEqual() rather than assertEquals() in Python tests. (raphael.kubo.da.costa@intel.com)
  https://crrev.com/0ca844e294d930184ce4859fff5d558b0e754c44 upload_to_google_storage_unittest.py: Make StringIO usage Python 3-compatible (raphael.kubo.da.costa@intel.com)
  https://crrev.com/377d251f10614cc178f7d56d7425d62107972def Make download_from_google_storage_unittest.py work with Python 3. (raphael.kubo.da.costa@intel.com)
  https://crrev.com/1ab0a72d103d7731b2328df730594656cd1a98fd Make upload_to_google_storage.py and tests work with Python 3. (raphael.kubo.da.costa@intel.com)
  https://crrev.com/e16ffffc28f3985c98cfc495840e93d9afa8884e Add logging to bot_update.py and gclient_scm.py (erikchen@chromium.org)
  https://crrev.com/c6512213a7b74a8363c93788a9c376ebaeb4ec6c depot_tools: Run recipe scripts using vpython. (ehmaldonado@chromium.org)
  https://crrev.com/61d3d4b0bd55ee9027a831d27210ddfcbb9531a7 Revert "depot_tools: Run recipe scripts using vpython." (machenbach@chromium.org)
  https://crrev.com/ba97f6065ed1e9336585468dd85e680cf09d5166 Trivial: Removing gendered pronouns from watchlists.py. (chrishall@google.com)
  https://crrev.com/a0568178808dbdb5646474532f559ed47b5e0a78 depot-tools: Remove support for --auth-refresh-token-json. (ehmaldonado@chromium.org)
  https://crrev.com/812ac228e3fe9950338265760d65004c8cb23749 git-cl: Add diff lines of context setting. (jmadill@chromium.org)
  https://crrev.com/55e5853e5ce49fda2589948c5a0fa6a56d4b3015 depot_tools: Stop using oauth2client (ehmaldonado@chromium.org)
  https://crrev.com/6e48505301f4144dee51e90a40ba8a32f346a266 put goma client in depot_tools (ukai@google.com)
  https://crrev.com/8076771cb14634c62b8f2eec87c2947b7682b66d Revert "put goma client in depot_tools" (ukai@chromium.org)
  https://crrev.com/989bc351863dd6cbb7e645a027a3c5e04104e44f Revert "depot_tools: Stop using oauth2client" (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/950046182d106b95a9686c6c9b168f53da83be57 [buildbucket] Inherit child fields from parent (olivernewman@google.com)
  https://crrev.com/b136036c0d8153d4ecd15d78c639cf18a5edc021 Revert "[buildbucket] Inherit child fields from parent" (machenbach@chromium.org)
  https://crrev.com/2e4e53bf9cdae23c725d97942ac9a99ca730e9d0 Reland "[buildbucket] Inherit child fields from parent" (olivernewman@google.com)
  https://crrev.com/713cbe54d445dcc8d9c67bce559ccc4ed82c1a54 properties: deprecate buildbot-like usage of its test_api. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic7b918271d6b9ed7e708cd3ed8d95020420e5f7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249288
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-10-17 21:40:09 +00:00
Florin Malita
d9e8586d23 [skottie] Fix camera/3D layer transform interactions
Currently, the camera view transform is attached to the render tree as a
TransformEffect.  This means it gets "flattened" to an SkMatrix in isolation,
and does not compose with other layer transforms in 4x4 format.

Refactor the implementation to

  - build the camera transform upfront
  - compose (chain) all layer transforms from this camera transform

This ensures that transform composition happens in SkMatrix44.

E.g. render tree topology change (TE == TransformEffect)

Before:

                      [root]
                        |
                      [TE]<---[CameraT]
                        |
       ------------------------------------
      |                                    |
      |                                    |
    [TE]<--[Layer1T]          [Layer2T]-->[TE]
      |                                    |
  [Layer1]                              [Layer2]
      |                                    |



After:
                      [root]
                        |
                        |
       ------------------------------------
      |                                    |
      |             [CameraT]              |
      |                / \                 |
    [TE]<--[Layer1T]<--   --->[Layer2T]-->[TE]
      |                                    |
  [Layer1]                              [Layer2]
      |                                    |


TBR=
Bug: skia:8914
Change-Id: Idd407712f75c48623b5299a4284ddb17b98c155f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249217
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-10-17 20:57:09 +00:00
Mike Klein
ad82b40708 Revert "impl. _clamp_8888 shaders using general mechanism"
This reverts commit dfa1de9180.

Reason for revert: 1 Google3 Scuba diff.  :/

Original change's description:
> impl. _clamp_8888 shaders using general mechanism
> 
> This should result in roughly the same binary at
> the same speed but with less duplication of code.
> 
> The idea is that we take all the runtime configurable
> fields and make it clear to the compiler that they're
> actually constants, and it propagates them through.
> 
> Order of operations does change slightly up in the float
> code and some operations become FMAs so there are tiny
> invisible diffs when we don't hit lowp.
> 
> Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
> Change-Id: Ic9d44207bcad39d0cf96c0b55bd65fb61997194f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249054
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,reed@google.com

Change-Id: Ic549e8c6488dc6db1d71e34f5e06fcdf9410c8b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249279
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-17 20:13:21 +00:00
Brian Osman
eddfc3562f Particles: Fake 3D example
Change-Id: I6d29290eb2962262bb080a86dc829c39986cae4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249226
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-17 20:10:05 +00:00
Hal Canary
c99a4df86e WebGL2: Add BlitFramebuffer, ShaderDerivativeSupport
fix from paraboul@

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit,Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit

Bug: skia:9052
Change-Id: If0c408f33f4bb6cd47513a2c1f3a1e3ac3da3320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249228
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-17 20:05:39 +00:00
Heather Miller
75317268b8 add release notes for m79
No-Try: true
Docs-Preview: https://skia.org/?cl=249227
Bug: skia:
Change-Id: Ia5508bbbd16533085f06260c61b532850a6f9db4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249227
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2019-10-17 20:04:59 +00:00
Kevin Lubick
87fe9b0395 Tell rewrite_includes to ignore node_modules
Change-Id: Ibd82b52d15f9de7fbbd4a5a91d7be8310f6568d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249135
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-10-17 19:44:49 +00:00
Brian Osman
5f827ee657 Add spinning cube demo to particle gallery
No-Try: true
Docs-Preview: https://skia.org/?cl=249229
Bug: skia:9513
Change-Id: If72d809d843af73debb8cb2d797283d9aa65f314
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249229
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-17 19:42:39 +00:00
Stephen White
96d9a07a90 Update Dawn to ToT.
Separate out generation of cpp headers.

Change-Id: I4b3e14dcf7f31a4587fc2de48d79455e98bbf53c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248935
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-17 19:16:09 +00:00
Mike Klein
dfa1de9180 impl. _clamp_8888 shaders using general mechanism
This should result in roughly the same binary at
the same speed but with less duplication of code.

The idea is that we take all the runtime configurable
fields and make it clear to the compiler that they're
actually constants, and it propagates them through.

Order of operations does change slightly up in the float
code and some operations become FMAs so there are tiny
invisible diffs when we don't hit lowp.

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: Ic9d44207bcad39d0cf96c0b55bd65fb61997194f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249054
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-17 19:08:39 +00:00
Robert Phillips
6c2aa7af0b Revert "Reduce inputs to GrProgramDesc::Build method(s)"
This reverts commit 63a3873957.

Reason for revert: fail

Original change's description:
> Reduce inputs to GrProgramDesc::Build method(s)
> 
> This moves the computation of the GrStencilSettings into GrProgramDesc::Build for the Vulkan backend
> 
> This makes it clear that the stencilSettings are determined by the GrProgramInfo.
> 
> Note that this does change some behavior in that the number of stencil bits is now determined (and set up for) the number requested not the number actually available on the attached stencil buffer at flush time.
> 
> Bug: skia:9455
> Change-Id: Ia5fa4e30e34952c1a492b8d571094abf2291b2a4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248696
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=egdaniel@google.com,robertphillips@google.com

Change-Id: Ib0b337c19acea8000b5592f3dfeda181fd6ef157
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249222
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-17 19:06:52 +00:00
Robert Phillips
63a3873957 Reduce inputs to GrProgramDesc::Build method(s)
This moves the computation of the GrStencilSettings into GrProgramDesc::Build for the Vulkan backend

This makes it clear that the stencilSettings are determined by the GrProgramInfo.

Note that this does change some behavior in that the number of stencil bits is now determined (and set up for) the number requested not the number actually available on the attached stencil buffer at flush time.

Bug: skia:9455
Change-Id: Ia5fa4e30e34952c1a492b8d571094abf2291b2a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248696
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-17 18:32:40 +00:00
Joe Gregorio
5363719efb [perf] - Update docs.
No-Try: true
Docs-Preview: https://skia.org/?cl=248811
Change-Id: I23deb4000dac155294f69429e37f675bcd3fa29c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248811
Reviewed-by: Heather Miller <hcm@google.com>
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
2019-10-17 18:22:45 +00:00
Robert Phillips
f272bea9a6 Plumb GrBackendFormat into the GrPrimitiveProcessor::TextureSampler
This is not a substantive CL. It is just setting up for removing the
usage of the GrGpu in the creation of the GrProgramDesc.

Change-Id: Ic24204de256862e5e780626bde3a44f4d735c6e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249121
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-17 18:07:59 +00:00
Dominik Röttsches
8c1cb1c3f2 Remove unused transform parameter of ctfont_create_exact_copy
All instances were using this function with a nullptr transform
parameter. Remove the parameter and pass nullptr to CoreText call
instead.

Change-Id: Ic3b4d97a800758a45f1d771cbf9230e255775821
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248936
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-10-17 17:48:19 +00:00
Herbert Derby
d7689d434c Reland "Introduce SkGlyphSourceBuffer"
This is a reland of 77c53087c1

Original change's description:
> Introduce SkGlyphSourceBuffer
>
> SkGlyphSourceBuffer provides a system for taking rejected glyphs from
> one glyph drawing stage, and turns them into the source for the next stage.
> It is rarely used, so it tries to conserve memory.
>
> Change-Id: I5275ffa3e804fc494eb2f5803e0cf2d148a755f7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248260
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: Ib90508a21993b12c71ee86cbdeb51c4d4c2ec913
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249128
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-17 17:26:37 +00:00
Greg Daniel
c3a927fc45 Remove GrPixelConfigIsCompressed call.
Bug: skia:6718
Change-Id: Ia6363d74f016b076fa5e19a57d223f7c47b723c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248999
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-10-17 17:10:17 +00:00
Stephen White
883c7e9f59 Dawn: silence some warnings on win-clang.
Change-Id: Ifcab9738b5e1d17ed71e26fa30bb34951e421567
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249126
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-17 15:10:34 +00:00
Stephen White
fbffb99bb6 Dawn: build libdawn-native as a static lib, not shared.
Also clean up the main BUILD.gn file to use deps instead of public_deps
where possible.

Change-Id: I2cc7719e42ae70be9181bdb02a1995cd2c780672
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249177
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-17 15:04:14 +00:00
Brian Osman
e8bcc56951 Fix a couple minor bugs in particle code
- Copy effect state to particle uniforms before each script, so changes
  from spawn or update are visible.
- Guard path binding against out of range access
- New effect that actually stresses both of these conditions

Change-Id: Ice6112793099e515438af8bb863e9e1bf03d08b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249125
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-17 14:55:34 +00:00
Heather Miller
93e853bf2b Update Skia milestone to 80
TBR=reed

Change-Id: I121ad8cf68f4a42ba5285cef5c2f9d450ba7545b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249123
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2019-10-17 14:51:14 +00:00
skia-autoroll
0df7697235 Roll third_party/externals/angle2 0b9ebe58e380..ed6e230ec65e (10 commits)
0b9ebe58e3..ed6e230ec6

git log 0b9ebe58e380..ed6e230ec65e --date=short --no-merges --format='%ad %ae %s'
2019-10-17 jmadill@chromium.org Vulkan: Re-enable release ASSERTs.
2019-10-16 jonahr@google.com Fix ANGLE_FEATURE_CONDITION style issue
2019-10-16 jmadill@chromium.org Vulkan: Fix ASSERT that could be triggered on some swaps.
2019-10-16 mihu@microsoft.com Disabling multisampled_render_to_texture extension if renderer is ADRENO.
2019-10-16 jmadill@chromium.org Delete README.angle from googletest.
2019-10-16 timvp@google.com Vulkan: Mark destination buffers dirty after a copy
2019-10-16 jmadill@chromium.org Vulkan: Refactor RenderTargetVk ImageViews.
2019-10-16 tobine@google.com Revert "Vulkan: Define VK_USE_PLATFORM_XLIB_KHR"
2019-10-16 tobine@google.com Vulkan: Define VK_USE_PLATFORM_XLIB_KHR
2019-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 036463457e5f..9097eeb5359b (8 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@ed6e230ec65e

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC csmartdalton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=csmartdalton@google.com
Change-Id: I254be8d4bb74193ce226b540516c3f06d9db0b82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249074
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-17 06:01:13 +00:00
skia-recreate-skps
6a19e03047 Update Go deps
Change-Id: I2c4f2c8fb2c38d54d93803751b9d5d068f02a799
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249152
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-10-17 05:24:33 +00:00
skia-autoroll
6e48de0ce5 Roll third_party/externals/swiftshader 9097eeb5359b..6652f0b64287 (11 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9097eeb5359b..6652f0b64287

git log 9097eeb5359b..6652f0b64287 --date=short --no-merges --format='%ad %ae %s'
2019-10-16 amaiorano@google.com Subzero: fix calling C functions on Windows x86
2019-10-16 amaiorano@google.com Subzero: fix invalid arg access on Windows x86
2019-10-16 amaiorano@google.com Subzero: fix warnings for VS 2019 x86 build
2019-10-16 amaiorano@google.com Subzero: fix calling C functions on Windows x64
2019-10-16 amaiorano@google.com Add .clang-format file to third_party/subzero
2019-10-16 amaiorano@google.com Reactor: add test for external call to routine
2019-10-16 amaiorano@google.com Reactor: add unit tests for testing arg passing
2019-10-16 amaiorano@google.com Reactor: add overload of rr::Call for void(...)
2019-10-16 natsu@google.com Remove hardcoded sdk_versions in third_party
2019-10-16 tdusnoki@inf.u-szeged.hu Define getHostCPUFeatures for Windows on ARM64 platform
2019-10-16 srisser@google.com Fix how we calculate potential overflows with PBOs

Created with:
  gclient setdep -r third_party/externals/swiftshader@6652f0b64287

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC csmartdalton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=csmartdalton@google.com
Change-Id: Ia6011176bd4feb5392f9e272044eee6fd50f30be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249073
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-17 04:34:13 +00:00
skia-autoroll
859dbad65e Roll ../src fbf280c2d283..e27799abf3f0 (477 commits)
fbf280c2d2..e27799abf3


Created with:
  gclient setdep -r ../src@e27799abf3

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC csmartdalton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=csmartdalton@google.com
Change-Id: I0c6936b2605612c3a6f5311f1cab6e133a0dc15f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249075
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-17 04:33:43 +00:00
Heather Miller
d5153bb05a update formatting, add links
Bug: skia:
Change-Id: I1f74e95781d575570d560003f706eb073b1b0a01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249118
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2019-10-17 04:28:44 +00:00
Mike Klein
97afd2e21c add bsl.16b, cmeq.4s, cmgt.4s
These implement select, eq_i32, lt_i32, and gt_i32 on ARMv8.

Change-Id: Ic36dda1cc425ca91700f9b120594e420ea0f560a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248970
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-17 01:54:33 +00:00
Herb Derby
f29cb70281 Revert "Introduce SkGlyphSourceBuffer"
This reverts commit 77c53087c1.

Reason for revert: Breaks some windows builds

Original change's description:
> Introduce SkGlyphSourceBuffer
> 
> SkGlyphSourceBuffer provides a system for taking rejected glyphs from
> one glyph drawing stage, and turns them into the source for the next stage.
> It is rarely used, so it tries to conserve memory.
> 
> Change-Id: I5275ffa3e804fc494eb2f5803e0cf2d148a755f7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248260
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com

Change-Id: I4270d092f8daba3dddcadd6abbed10f14bf57490
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249077
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-16 21:28:35 +00:00
Robert Phillips
1dfc77cc08 Add unit test to exercise GrTextureFreed message handling after a context abandon
Bug: 1011368, 1014993
Change-Id: Ie9f7be15b321daa05fcac8109a24e42810f10737
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249008
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-16 21:11:12 +00:00
Herbert Derby
77c53087c1 Introduce SkGlyphSourceBuffer
SkGlyphSourceBuffer provides a system for taking rejected glyphs from
one glyph drawing stage, and turns them into the source for the next stage.
It is rarely used, so it tries to conserve memory.

Change-Id: I5275ffa3e804fc494eb2f5803e0cf2d148a755f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248260
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-16 20:55:32 +00:00
Robert Phillips
ddc21485cb Work around un-safe downcast in PromiseLazyInstantiateCallback destructor after a context abandon
90% of this CL is just renaming. The only two substantive changes are:
   holding a GrTexture* (rather than a GrGpuResource*) in the GrTextureFreedMessage (this avoids the downcast)
   adding the abandoned() checks to the two GrContext::purgeUnlockedResources methods (this prevents accesses of the message queue)

Bug: 1011368, 1014993
Change-Id: Ifff3842f7802add6b7cd34595578369543698ba1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249001
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-16 19:24:03 +00:00
Mike Klein
5d835d0e98 remove ternary min/max
It's just syntax sugar, and it's
too easy to typo max() -> mad().

Change-Id: Idd0088292c68547d45c274e80ee8735f698d0c36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248963
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-10-16 19:00:16 +00:00
Hal Canary
e054d3cf3d CanvasKit: Switch to WebGL 2.0
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit,Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit

Bug: skia:9052
Change-Id: I444031276aea90d82f289b16ba6cd36de5192abd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248927
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-16 18:45:46 +00:00
Brian Osman
11e6aa823d Starting to hack up HDR transfer function support
Brings over skcms' encoding scheme, etc.

Change-Id: Ib8abec911acd1c50df3b201b4a9bde01b1cb123b
Bug: chromium:960620
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249000
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-16 18:40:16 +00:00
Mike Klein
0f61c12737 add used_in_loop bit to skvm::Builder::Instruction
Most hoisted values are used in the loop body (and that's really the
whole point of hoisting) but some are just temporaries to help produce
other hoisted values.  This used_in_loop bit helps us distinguish the
two, and lets us recycle registers holding temporary hoisted values not
used in the loop.

The can-we-recycle logic now becomes:
   - is this a real value?
   - is it time for it to die?
   - is it either not hoisted or a hoisted temporary?

The set-death-to-infinity approach for hoisted values is now gone.  That
worked great for hoisted values used inside the loop, but was too
conservative for hoisted temporaries.  This lifetime extension was
preventing us from recycling those registers, pinning enough registers
that we run out and fail to JIT.

Small amounts of refactoring to make this clearer:
   - move the Instruction hash function definition near its operator==
   - rename the two "hoist" variables to "can_hoist" for Instructions
     and "try_hoisting" for the JIT approach
   - add ↟ to mark hoisted temporaries, _really_ hoisted values.

There's some redundancy here between tracking the can_hoist bit, the
used_in_loop bit, and lifetime tracking.  I think it should be true, for
instance, that !can_hoist && !used_in_loop implies an instruction is
dead code.  I plan to continue refactoring lifetime analysis (in
particular reordering instructions to decrease register pressure) so
hopefully by the time I'm done that metadata will shake out a little
crisper.

Change-Id: I6460ca96d1cbec0315bed3c9a0774cd88ab5be26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248986
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-16 18:29:06 +00:00
Hal Canary
04b06774be [minor] SkGlyphRunList public before private
Change-Id: I7e82ff246ebab3e28c7400f5e09a0213dfffdbb0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248998
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-10-16 17:44:06 +00:00
Mike Klein
b5a30767e0 Reland "mark which SkVM tests should JIT or not"
This is a reland of 52435503e9

with better checks for when we should expect JIT and not.

Original change's description:
> mark which SkVM tests should JIT or not
>
> Most of these tests converted over to test_interpreter_only()
> are failing to JIT because of unimplemented instructions.  No
> bug there, just TODOs.
>
> But SkVM_hoist _should_ be JITting.  A while back I landed a CL
> that messed with value lifetimes that prevents it from JITting.
> Will be using this as a regression test to fix that bug.
>
> Change-Id: Id2034f6548a45ed9aeb9ae3cbb24d389cad7dc60
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248980
> Commit-Queue: Mike Klein <mtklein@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

Cq-Include-Trybots: skia.primary:Test-Android-Clang-NVIDIA_Shield-CPU-TegraX1-arm64-Release-All-Android,Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-SK_CPU_LIMIT_SSE2,Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-SK_CPU_LIMIT_SSE41,Test-Mac10.13-Clang-VMware7.1-CPU-AVX-x86_64-Debug-All-NativeFonts,Test-Mac10.14-Clang-VMware7.1-CPU-AVX-x86_64-Debug-All-NativeFonts
Change-Id: Id7bde7e879649e435fa424a9c9d6c51a31afd5e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248990
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-16 17:35:06 +00:00