Commit Graph

46816 Commits

Author SHA1 Message Date
Kevin Lubick
9279798022 [canvaskit] Expose releaseResourcesAndAbandonContext on GrContext
Bug: skia:9910
Change-Id: If0a6aa106d42c680f1f0f3092c4a4dbd0f04c937
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270936
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-02-24 17:11:28 +00:00
Weston Tracey
cc08d9fabf Update tasks.json based on Go Deps Cl.
Merge commit 'refs/changes/95/272895/2' of https://skia.googlesource.com/skia


Update Go Deps

Change-Id: I8d56caafce1d21bd6bead373c96f57ed0c7d96a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273016
Auto-Submit: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-02-24 16:54:15 +00:00
Brian Salomon
4282d2992c Prevent unbounded invalidator growth on SkPathRef from GrSWPathRenderer
Bug: b/149684076
Change-Id: I8edb871c26296da9cc76ab57f9fd9c09d5ebcae5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272654
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-24 16:52:25 +00:00
skia-autoroll
8da5c3d450 Roll skia/third_party/skcms 605b00d7728f..cbf3b9df1ae1 (1 commits)
https://skia.googlesource.com/skcms.git/+log/605b00d7728f..cbf3b9df1ae1

git log 605b00d7728f..cbf3b9df1ae1 --date=short --first-parent --format='%ad %ae %s'
2020-02-24 benjaminwagner@google.com Update Xcode

Created with:
  gclient setdep -r skia/third_party/skcms@cbf3b9df1ae1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC jlavrova@google.com,mtklein@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

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

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Bug: None
Change-Id: I2368ab4ab1a61ed94e19d96aff2398992320fb12
Tbr: jlavrova@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272982
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-24 16:46:45 +00:00
Chris Dalton
2e7ed26cc7 Lift calls for setting dynamic state to Ganesh level
Previously, all backends were responsible to check for dynamic state
and update it during their internal draw calls. This CL adds
setScissor() and bindTextures() methods to GrOpsRenderTask, and places
this responsibility to update dynamic state on Ganesh instead. It also
replaces the backend-specific "onDrawMeshes" call, with a singular
"onDrawMesh" call that gets called for each mesh.

For now we keep drawMeshes() on GrOpsRenderPass for convenience, but
it will soon be removed and each call site will be responsible to set
its own dynamic state.

Change-Id: If141feae857b22cbf04416557d0c89986eda2a62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271976
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-02-24 16:41:45 +00:00
Chris Dalton
7d25230226 Remove "setData" operations from GrMtlPipelineState::setTextures
Change-Id: Iaba354865599097d562b29c2ba5e7da8112b22a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272724
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-02-24 16:03:35 +00:00
Ben Wagner
108a494984 Omit crashing bench on iOS Metal
Bug: skia:9799
Change-Id: I341a83b575a4e4595756c3ee055fcbc1418bc962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272636
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-02-24 15:40:35 +00:00
Robert Phillips
1cec4d5e3d Add a program iterator to SkDeferredDisplayList
Bug: skia:9455
Change-Id: I201218174b5d6efb72f7c06766a49f6711325bd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272530
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-02-24 14:03:06 +00:00
Florin Malita
9642b31a71 [skottie] Add support for text animator blur
In adition to transforms/opacity/etc, text animators can target
per-glyph opacity.

Change-Id: I6ab63a6e49a64beaf63fc955f0b672a5b8ba84ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272886
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-02-24 14:01:16 +00:00
Nathaniel Nifong
cc5415a8ce Modify 3D example with light and bump shader.
Depends on what I assume the final version of https://skia-review.googlesource.com/c/skia/+/272646 will be
Change-Id: I53485c5f47e0fef120c8a1bd6d0620fddfb3cde9
Bug: skia:9866
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272529
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-02-24 12:46:35 +00:00
skia-autoroll
57bc977e12 Roll third_party/externals/angle2 94ec1e5f8df5..b5576b67bcf5 (18 commits)
94ec1e5f8d..b5576b67bc

git log 94ec1e5f8df5..b5576b67bcf5 --date=short --first-parent --format='%ad %ae %s'
2020-02-22 spang@chromium.org Vulkan: Fix pipeline stage when waiting on a semaphore
2020-02-21 jmadill@chromium.org Vulkan: Rename CommandGraphResource to Resource.
2020-02-21 spang@chromium.org Reformat GN files
2020-02-21 ynovikov@chromium.org Suppress SwANGLE dEQP GLES3 failure.
2020-02-21 spang@google.com Roll chromium_revision a9ad696264..86e00b5dd2 (742676:743688)
2020-02-21 khushalsagar@chromium.org Add uniform location checks for ignored/invalid location
2020-02-21 ynovikov@chromium.org Suppress SwANGLE dEQP failures
2020-02-21 jmadill@chromium.org Refactor DrawCallPerf test parameters.
2020-02-21 spang@chromium.org Implement glImportMemoryZirconHandle & glImportSemaphoreZirconHandle
2020-02-21 geofflang@chromium.org Add geofflang@google.com to OWNERS.
2020-02-21 jmadill@chromium.org Trace/Replay: Add uniform location type.
2020-02-21 jmadill@chromium.org Vulkan: Remove command graph size overlay widget.
2020-02-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src c357af84c7cb..136207a63495 (3 commits)
2020-02-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 74d3f371f201..f50cc82b3bed (6 commits)
2020-02-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 6112b121e104..a09ab94aa920 (5 commits)
2020-02-21 jmadill@chromium.org Vulkan: Remove CommandGraph code.
2020-02-21 jmadill@chromium.org Run debug callback in perf render tests.
2020-02-21 lexa.knyazev@gmail.com Reland "Move sampleAlphaToCoverage out of blendState"

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

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 jlavrova@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/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jlavrova@google.com
Change-Id: Ic36a4e01896cc052ffa44036406af414477054da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272890
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-24 05:07:45 +00:00
skia-autoroll
3a5e853d8c Roll ../src f5ddd865c430..f0bb4f52c523 (1392 commits)
f5ddd865c4..f0bb4f52c5


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

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 jlavrova@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/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: jlavrova@google.com
Change-Id: I8b3c6951ed3ed04391955bf8d9b7ebec0bbd37a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272889
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-24 05:05:35 +00:00
skia-autoroll
f084b8b6b6 Roll third_party/externals/swiftshader f50cc82b3bed..214ec337a0b2 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f50cc82b3bed..214ec337a0b2

git log f50cc82b3bed..214ec337a0b2 --date=short --first-parent --format='%ad %ae %s'
2020-02-23 thakis@chromium.org Fix Wrange-loop-analysis warnings in swiftshader.
2020-02-21 amaiorano@google.com Replace target_cpu with current_cpu in Build.gn files
2020-02-21 sugoi@google.com Revert "Subzero: add support for large stacks on Windows"

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

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 jlavrova@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/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: I5033f69fedc14c0cc62fdc610f5c24c43883c269
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272891
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-24 04:34:36 +00:00
Ben Wagner
998066127e Update XCode
Chromium now requires the 10.15 SDK
(https://bugs.chromium.org/p/chromium/issues/detail?id=1023913), which
breaks the CommandBuffer bot because it's trying to compile with XCode
10.3, which provides the 10.14 SDK.

What's worse, due to reasons I don't fully understand, after failing to
compile CommandBuffer due to the dependence on the 10.15 SDK, the ninja
out dir is poisoned for future compiles that don't depend on the 10.15
SDK.

Also includes a code snippet from
https://skia-review.googlesource.com/c/skia/+/264429 to find the xSAN
dylibs.

Change-Id: I3cd7661a5ea984ea6899e7a5e8cf878581538d9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272736
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-02-23 23:15:26 +00:00
Ben Wagner
d1c90e10f0 Whitespace change to re-trigger Mac/iOS tests
Change-Id: I82104e6a3f9218db48551ec934734c3768e71543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272916
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-02-23 20:55:01 +00:00
Mike Reed
9e8f605344 SkM44.h is now in include/public
Change-Id: I679d3328a65123d4cbb15045d98fe4ac498ee531
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272837
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-22 16:43:56 +00:00
Kevin Lubick
ecd8762e1f [canvaskit] Support children shaders into runtime shaders
Change-Id: I88106babe35f6e5b3ee764e7fbaf82c7f43d136d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272646
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-02-22 12:38:52 +00:00
recipe-roller
1a85d581c9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/1773f37de61efb55634bc3966510141df5ecf143 (ehmaldonado@google.com)
    gclient_utils: Add temporary_file method.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I52528b08df4755c13e005fb34316da8473622674
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272776
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>
2020-02-22 01:15:13 +00:00
Nathaniel Nifong
77798b4585 Expose 4x4 matrices on canvas in a way similar to SimpleMatrix, add example.
Bug: skia:9866
Change-Id: I718455743e482e4f60a462027b629dc19b1dbad3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270201
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-02-22 00:12:13 +00:00
Mike Reed
0e6832de5a remove bench -- we don't exercise this class anymore
Change-Id: I86b4cee170028278f2ce5ea0398c0b387b1b7724
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272725
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-21 23:13:13 +00:00
Leandro Lovisolo
16656fc96c Revert "Create D3D device and queue"
This reverts commit 29dc430f43.

Reason for revert: This is breaking the Google3 autoroller due to header file d3d12.h not being available on google3.

Original change's description:
> Create D3D device and queue
> 
> Bug: skia:9935
> Change-Id: Ib6548f413ca3a8befb553d2d47354b400c9162b9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272520
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com

Change-Id: I3857444cae52cc2338258c46b974ae5496bbaedc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272726
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
2020-02-21 22:49:12 +00:00
Herb Derby
6cc2d9fefc Use a hash table to quickly locate the strike
The hash table maps descriptors to strikes. So, instead
of searching through the linked list, find the strike
directly.

Change-Id: I53c6fc72c009c35e3476fabd02cee9ee93145c64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272465
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-21 22:37:03 +00:00
recipe-roller
7f83eec790 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/1dc66e16b362430d8a549b6626f86f5fac7f4e74 (ehmaldonado@google.com)
    presubmit: Add should_continue and more_cc to presubmit json output.
  https://crrev.com/8410164ab1222df526dbf81f728512a082318c5a (ehmaldonado@google.com)
    git-cl: Fix invocation of git new-branch

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iee1f7ec61db7a768c813c6c1daef9667dccd507e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272718
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>
2020-02-21 22:11:43 +00:00
recipe-roller
2127594533 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/4dc5b7792fe10298a379e3d46e4693a7bdb03f1d (ehmaldonado@chromium.org)
    git-cl: Fix split branch name
  https://crrev.com/7c34a225375d758beb8225e2171fcd3c031f0e8c (ehmaldonado@chromium.org)
    git-cl: Fix Change object construction for git-cl split

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0e1b70629ea0ccaac69d7a8501987c9c01d4daac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272697
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>
2020-02-21 21:40:33 +00:00
Robert Phillips
4d5594dff1 Move SkDeferredDisplayList.h into include\core (take 2)
Clients will need official access to this class for the compilation iterator.

This CL also hides some of the cruft we don't want exposed.

Bug: skia:9455
Change-Id: I696c058f1c409fb459229552fbbdd935ec112358
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272643
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-21 21:26:02 +00:00
Florin Malita
178b860769 [skottie] Initial support for per-character 3D
When per-character 3D is enabled, text properties can be animated in
3 dimensions.

 - position and scale become 3-value vectors
 - in addition to existing "r" (really rz), rotation gains "rx" and "ry"
 - instead of specializing for 3D, expand the existing structures to
   handle both 3D and 2D modes
 - also ensure that sksg::Transform does not flatten to SkMatrix

Change-Id: I426a7ee1ff38c1702deb85e9f1db80f6069f36d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272648
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-02-21 21:14:02 +00:00
Mike Reed
82260fc756 remove unneeded include
Change-Id: Ie3c08d79ae36f28ff48f825699a2542154ca3096
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272652
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-21 21:01:32 +00:00
Herb Derby
bcd65f1970 Reland "Multi-threaded strike cache"
This is a reland of a6cd7c0b1f

Original change's description:
> Multi-threaded strike cache
>
> Allow multiple threads to share the same strike. The old
> system of removing the cache from the linked list is no longer.
> The strikes stay in the list and can be found by other threads.
>
> * Removed strike size verification. There was no way to get the
> locks to work out. The whole point of the change was to have multiple
> threads muting the structure at the same time.
>
> * Strikes are now refed instead of being checked out. Therefore,
> ExclusiveStrikePtr is now just wraps an sk_sp, and should be renamed
> in a future CL.
>
> Change-Id: I832642332a3106e30745f9cdd3156ae72d41fd0b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272057
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: Id02381de93ff82bca58f09e07a457883d57d5565
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272436
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-21 21:01:12 +00:00
Greg Daniel
822f7b2543 Make sure to call gl finishCallbacks if we are disconnected or deleting the GrGLGpu.
Our contract is that we will call the finishedCallbacks at some point. So if we
are either abandoning or just deleting the GrGLGpu make sure we call any outstanding
callbacks.

Change-Id: I1425e951185d350a1faa567f0342822c41aafb65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272650
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-02-21 20:46:12 +00:00
Brian Osman
6fa47769cb In SkRuntimeEffect, use a single shared Compiler instance
I've been increasingly concerned about the CPU and memory costs of
creating and holding on to many Compiler instances. Given that they're
use infrequently, having a shared (guarded) instance seems fine.

We can still look at reducing the startup cost of a single instance, but
this removes a large blocker to wider usage of SkRuntimeEffect.

Change-Id: Ia6dc721c73fdf8c9c4c7a8c1af5f350d2c028b22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272466
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-02-21 20:25:04 +00:00
Sean Gilhuly
8ff6f354a7 SkiaDawn: Add onBindPipeline()
Fix a compilation error in SkiaDawn by adding an onBindPipeline()
implementation and renaming onDraw() to onDrawMeshes(). onBindPipeline()
does nothing because onDraw() previously did not use the drawBounds
parameter.

Change-Id: Icf3d49296359bfdee8936cc63d6b5d33b597fb4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272511
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-02-21 20:11:32 +00:00
Jim Van Verth
29dc430f43 Create D3D device and queue
Bug: skia:9935
Change-Id: Ib6548f413ca3a8befb553d2d47354b400c9162b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272520
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-02-21 19:49:52 +00:00
Brian Osman
a95f10c162 Fail gracefully when encountering 'in fragmentProcessor' in raster backend
SkSLSlide was triggering this assert - now it prints an error every
frame, but doesn't crash.

Bug skia:9941
Change-Id: I4c02a89c8d824acc71ab595af99e1df2f5fc980d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272639
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2020-02-21 19:05:02 +00:00
Mike Reed
fab619867b share code around animating the rotating cube
Change-Id: I90e0918b1ce6df7f54fae67916754289eb9a263b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272638
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-21 18:50:02 +00:00
Julia Lavrova
7dcb4d263d Bugs
Change-Id: Id26530bbd54626a74bfb4fccd4c066fa39346411
Bugs: skia:9892

getGlyphPositionAtCoordinate should return correct code point index

Change-Id: Id26530bbd54626a74bfb4fccd4c066fa39346411
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272347
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-02-21 18:46:42 +00:00
Robert Phillips
305033b6e8 Revert "Move SkDeferredDisplayList.h into include\core"
This reverts commit ad3b2c9886.

Reason for revert: clang

Original change's description:
> Move SkDeferredDisplayList.h into include\core
> 
> Clients will need official access to this class for the compilation iterator.
> 
> This CL also hides some of the cruft we don't want exposed.
> 
> Bug: skia:9455
> Change-Id: I408c19f9ecd6880a5a7853def591407b0ca43e4e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272343
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ica80434e7423fb202355eb77a614ece1c4d54726
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272641
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-21 18:38:31 +00:00
Robert Phillips
ad3b2c9886 Move SkDeferredDisplayList.h into include\core
Clients will need official access to this class for the compilation iterator.

This CL also hides some of the cruft we don't want exposed.

Bug: skia:9455
Change-Id: I408c19f9ecd6880a5a7853def591407b0ca43e4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272343
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-02-21 18:23:11 +00:00
recipe-roller
a973365512 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/7e4c38a48b04677803505d759ba4b0623141f661 (sque@google.com)
    Roll out new goma client binary VERSION=191
  https://crrev.com/1eb16f67982b134323bd89c9f639ba1908700b88 (brucedawson@chromium.org)
    Fix build summary to classify *.mojom*.obj as .obj

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7d66192a4f9c73972393a2399653fd27e6f8be0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272616
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>
2020-02-21 17:32:01 +00:00
Mike Reed
415caceb11 adopt new name convention
Change-Id: I7dedf2c8724256cf6889d8a608b425cb9188c030
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272597
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-21 17:28:42 +00:00
Mike Reed
2a7c619546 switch to SkM44
Change-Id: I2d44eb5b1984212fb461977f5e9ee95717046a8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272467
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-21 17:19:02 +00:00
Mike Reed
09a73000ea Skip rewriting headers that reference SkM44.h until we can remove the private copy of it
Change-Id: I4c390fa4e2eae71203c688433569a7afb5e02642
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272535
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-21 17:04:37 +00:00
Ben Wagner
828a7ef39d [infra] Switch iOS to updated libimobiledevice.
Bug: skia:9799
Change-Id: I94069d58bde1762ef19122605147bd75232b6ed8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270446
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-02-21 16:21:20 +00:00
Brian Osman
72126aaf5a Make it easier to add vector versions of byte code instructions
I'm about to add more of these, wanted to land this first.

Change-Id: Ic7ec30f531456075b1f9032f1f07cc54d234af95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272527
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-02-21 16:02:40 +00:00
Ben Wagner
31d0dc1620 [infra] Add ios-dev-image-11.4 asset
Needed for https://skia-review.googlesource.com/c/skia/+/270446

Bug: skia:9799
Change-Id: I0b5814aa3bae73ca6c231b5ced7a0c94e0efa6dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270447
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
2020-02-21 16:01:40 +00:00
Mike Reed
46f5c5f08b Make SkM44 public
Need to migrate clients from private/ to core/ include
Unexperimentalize concat44() methods on SkCanvas

Change-Id: I64b8816722a9d93316cb8b8691d2d9a3e36f167f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272464
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-21 15:50:31 +00:00
Kevin Lubick
f8f9cd84fa [canvaskit] Expose bindings to particles uniforms.
Uniforms in the general case can be multiple floats, so
we expose a small struct to provide information about all
uniforms (including the built in ones like "dt") as well
as effectUniforms and particleUniforms which return Float32Arrays
bound to the WASM memory containing those unifroms.

Thus, by modifying the Float32Array, one can directly affect
the particle/effect properties.

This allows us to expose sliders on particles.skia.org
(https://skia-review.googlesource.com/c/buildbot/+/272398)

Change-Id: Ie390f3d2dc571ee4ebaab59a7fa1b7b2dc24d871
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272377
Reviewed-by: Brian Osman <brianosman@google.com>
2020-02-21 14:43:01 +00:00
Robert Phillips
bf5cb0f539 Revert "Remove copies for wrap modes in GrTextureProducer."
This reverts commit 7fba244ea9.

Reason for revert: See if this is blocking the Chrome roll

Original change's description:
> Remove copies for wrap modes in GrTextureProducer.
> 
> GrTextureEffect now supports implementing wrap modes in shaders
> for subsets and texture types with HW sampling restrictions.
> 
> Change-Id: I5c93ade044465e13c5f56f7437fbbe288db0a8a8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271056
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I14397bec8ff4ba165c28faa8f44497f47d865862
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272522
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-21 13:47:00 +00:00
Kevin Lubick
392846665c [canvaskit] Expose parseColorString
This is handy for interacting with <input type=color>

Change-Id: I7946c08ef10a2481016885d58cc52f76f5cd40e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272344
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-02-21 12:43:15 +00:00
skia-autoroll
77521d9e06 Roll third_party/externals/angle2 2801bf43716e..94ec1e5f8df5 (24 commits)
2801bf4371..94ec1e5f8d

git log 2801bf43716e..94ec1e5f8df5 --date=short --first-parent --format='%ad %ae %s'
2020-02-21 syoussefi@chromium.org Vulkan: Update shader compilation documentation
2020-02-21 spang@chromium.org Pass ContextVk instead of gl::Context to internal methods
2020-02-21 cnorthrop@google.com CaptureReplay: Emit unused resources
2020-02-21 jmadill@chromium.org Vulkan: Sanitize Images & Buffers with non-zero values.
2020-02-20 spang@chromium.org Generate entrypoints for Fuchsia external objects extensions
2020-02-20 jmadill@chromium.org Vulkan: Add command stream diagnostics when graph is disabled.
2020-02-20 tobine@google.com Vulkan:Add FramebufferVk cache
2020-02-20 jmadill@chromium.org Vulkan: Enable FenceNV extension without graph.
2020-02-20 spang@chromium.org Add external object extensions for Fuchsia to GL API
2020-02-20 jmadill@chromium.org Vulkan: Make mapped memory available with graph disabled.
2020-02-20 jgilbert@mozilla.com Don't clamp in glBlendColor if context supports renderable [half-]float.
2020-02-20 jmadill@chromium.org Vulkan: Fix store ops with linear command recording.
2020-02-20 courtneygo@google.com Update expectations after swiftshader fix
2020-02-20 cnorthrop@google.com Vulkan: Update ES 3.1 test expections
2020-02-20 jmadill@chromium.org Const-ify the validation layer.
2020-02-20 xinyi.he@arm.com Vulkan: Implement eglWaitNative function
2020-02-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 113d07a6ebda..c12493ff69e2 (3 commits)
2020-02-20 tobine@google.com Vulkan:Skip appendToStartedRenderPass()
2020-02-20 wez@chromium.org [fuchsia] Migrate to SDK-provided FIDL & package targets.
2020-02-20 jmadill@chromium.org Vulkan: Fix image queue changes with graph disabled.
2020-02-20 syoussefi@chromium.org Update status of ANGLE conformance
2020-02-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 8def9063c4fd..74d3f371f201 (1 commits)
2020-02-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src f155ccfd202d..6112b121e104 (8 commits)
2020-02-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src 39e685ccd37e..c357af84c7cb (1 commits)

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

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 lovisolo@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/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: lovisolo@google.com
Change-Id: I2d4e50a1806391b6f1d21655689df21b69a77e21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272543
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-21 04:35:48 +00:00
skia-autoroll
e420bf016c Roll third_party/externals/swiftshader 74d3f371f201..f50cc82b3bed (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/74d3f371f201..f50cc82b3bed

git log 74d3f371f201..f50cc82b3bed --date=short --first-parent --format='%ad %ae %s'
2020-02-20 amaiorano@google.com Subzero: add support for large stacks on Windows
2020-02-20 sugoi@google.com VK_EXT_shader_stencil_export support
2020-02-20 bclayton@google.com Remove rr::Thread
2020-02-20 capn@google.com Support JIT on a separate thread
2020-02-20 sugoi@google.com Revert "VK_EXT_shader_stencil_export support"
2020-02-20 sugoi@google.com VK_EXT_shader_stencil_export support

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

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 lovisolo@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/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: lovisolo@google.com
Change-Id: I9a65247e81025da8eee04829b9738e044eaac100
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272544
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-21 04:35:38 +00:00