Commit Graph

45320 Commits

Author SHA1 Message Date
Herb Derby
2a8799ff08 Revert "Naive CPU large emoji"
This reverts commit 42ea8e6619.

Reason for revert: Breaks a chrome layout test.

Original change's description:
> Naive CPU large emoji
> 
> This CL uses the GPU prepare path code to calculate reject which
> are color.
> 
> What is missing is a system for scaling glyphs to the screen
> from the cache. Or a way to draw glyphs directly with no cache.
> 
> Change-Id: Id5072c3cbffb91bad06ad840549c2711f5063c5c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255980
> Auto-Submit: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

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

Change-Id: I62d27fd3ac1150ab21263afa948ee06a2932c2c4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256937
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-27 05:21:25 +00:00
Herb Derby
81777ac947 Make SkEnumerate make flatten tuples
The new c++17 only has a single level of destructuring;
append the index instead of nesting it.

Change-Id: I26bb1ca387d1de57233dbf7096dcf4bb7aaedecf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254637
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-27 05:16:23 +00:00
skia-autoroll
ed8ca4ea96 Roll ../src 92fe999ae056..c493edcc78ba (509 commits)
92fe999ae0..c493edcc78


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

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 bungeman@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: bungeman@google.com
Change-Id: I06dac167718c1060a12ccd691947617ea074c078
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256924
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-27 04:56:42 +00:00
skia-autoroll
dcb6582e62 Roll third_party/externals/angle2 f65b212492ec..c373dfd84194 (8 commits)
f65b212492..c373dfd841

git log f65b212492ec..c373dfd84194 --date=short --first-parent --format='%ad %ae %s'
2019-11-26 m.maiya@samsung.com Vulkan : Handle dirty state correctly when there are muiltiple VAOs
2019-11-26 syoussefi@chromium.org Vulkan: Fix barriers w.r.t sampled->storage image update
2019-11-26 syoussefi@chromium.org Vulkan: Remove unnecessary barrier in image -> buffer copy
2019-11-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader afc52b0b26d7..663dcefa22ea (10 commits)
2019-11-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 5efc3922e3e8..8c954d5a413d (3 commits)
2019-11-26 xinyi.he@arm.com Vulkan: Large builtins overflow during string construction in glslang
2019-11-26 lehoangq@gmail.com Metal: Support depthRange near > far
2019-11-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 39b3005ba560..6f6e3371c92a (1 commits)

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

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 bungeman@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: bungeman@google.com
Change-Id: I240ab8224a6bf6831963ace98e32ca58354bcb0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256923
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-27 04:44:42 +00:00
skia-autoroll
c47f17631b Roll third_party/externals/swiftshader f2637d0dd7eb..663dcefa22ea (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f2637d0dd7eb..663dcefa22ea

git log f2637d0dd7eb..663dcefa22ea --date=short --first-parent --format='%ad %ae %s'
2019-11-26 bclayton@google.com Reactor: Work around new MSVC brokenness.
2019-11-26 swiftshader.regress@gmail.com Regres: Update test lists @ f2637d0d
2019-11-26 bclayton@google.com Merge changes I672a4d28,I4a74212f,I5c51e8aa,I323ea936

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

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 bungeman@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: bungeman@google.com
Change-Id: I85d02a280dad620a3c8794495e2061d24557f1ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256922
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-27 04:32:02 +00:00
recipe-roller
932fe442fb 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.
recipe_engine:
  https://crrev.com/c48c77264fea1fbe3bdc8352451a91b3dd529c96 [platform] Add mac_release method. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6bd245f1b6259f67ce8a869cac4d426a7a7f6fee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256936
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-11-27 02:00:39 +00:00
recipe-roller
9238f1a828 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.
recipe_engine:
  https://crrev.com/9aa46f0fd476ce9bba0380209e52ae48b88222a1 [resultdb] Add resultdb protos (nodir@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie62687480824a057d0e19cca7ff40f4b9ead1b49
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256897
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-11-27 01:00:09 +00:00
recipe-roller
2b4cedfac1 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/5e94b80c348b570ccba50a7e68d7b97c614a233e git-hyper-blame: Fix unicode handling. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic42dee4b010ca47d999c9cbbbecebea7ae2d20e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256819
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-11-26 22:52:49 +00:00
Ethan Nicholas
a11035bf77 SkSL now handles sk_Caps in include files
This also fixes error reporting in broken include files.

Change-Id: I39b74ced4fe56f7bf654aef4c8c402713bdb15b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256778
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-11-26 22:06:49 +00:00
Herb Derby
42ea8e6619 Naive CPU large emoji
This CL uses the GPU prepare path code to calculate reject which
are color.

What is missing is a system for scaling glyphs to the screen
from the cache. Or a way to draw glyphs directly with no cache.

Change-Id: Id5072c3cbffb91bad06ad840549c2711f5063c5c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255980
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-11-26 21:52:39 +00:00
Mike Reed
0ee397aa82 hide deprecated next() on SkPath::Iter
Change-Id: Ic39461ce35eae3a5eed04259ca48dfc340d48d64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256816
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-11-26 21:45:09 +00:00
Greg Daniel
7a32f1b6ba Make sure we recycle the secondary command buffers when release primary command buffers.
Bug: skia:9603
Change-Id: Ia8b3c8f981e7fe2ead0aabcdfdf650a21aa2e3f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256818
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-26 21:44:39 +00:00
recipe-roller
15dfab8a90 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.
recipe_engine:
  https://crrev.com/1b8cdb3fb0283ac8f93a7ca517b278b1ace51353 [recipe_modules/context] Simplify context implementation. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I79acf7b4cece26de9ab752b881936c3b2a021b0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256775
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-11-26 21:28:29 +00:00
Julia Lavrova
0193e8c6bd Bug fixes
Change-Id: Id2b75e515a3f9fa695339980a6c9036435f3f5d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256658
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-11-26 21:12:44 +00:00
recipe-roller
abce584d18 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.
recipe_engine:
  https://crrev.com/e3103d1197e1d8511966713535b19c72b7ec7bfb [recipe_modules/cipd] Add option to override CIPD cache. (iannucci@chromium.org)
  https://crrev.com/1ae0516e8e33e289a9b52280c500ffddb0542979 Update luci-go protos (nodir@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib4f5a16e9f1b9134559b0a3a42c020e5988a78c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256758
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-11-26 20:58:14 +00:00
Ben Wagner
c21705992f [infra] Upgrade NVIDIA driver
Bug: skia:9652
Change-Id: I5a8b1e4468daf7201effa866404fab8fbe312a77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256417
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-26 20:45:04 +00:00
Greg Daniel
ada451ca67 Return a size of 0 for external format GrSurfaces.
This fixes a case where Chrome was hitting the assert in ComputeSize that
colorSize > 0. In general this shouldn't affect our memory/budget tracking
since external textures are generally given to us as wrapped borrowed textures
so they're memory was not counted against our budget to begin with.

Change-Id: I2fd4eaaab52d9c3dc1af3a8f5b59a1b1f3c5dbb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256656
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-26 20:35:34 +00:00
Greg Daniel
0addbdf0fb Cleanup GrVkCommandBuffer resource ownership and freeing.
This is a pre-cl to correctly handle failures in GrVkCommandBuffer to
hopefully make things more simple.

Bug: skia:9603
Change-Id: Iefdf2bbde5d5ec778aad50341772d0c88a97cda5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256418
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-26 20:34:34 +00:00
Robert Phillips
c15e890cc7 Move the initial GrProgramDesc keyLength into the header
This sets up for moving GrProgramDesc creation to GrCaps. I.e., we will have a virtual "GrProgramDesc GrCaps::makeDesc(const GrRenderTarget*, const GrProgramInfo&)" call.

Bug: skia:9455
Change-Id: I82053297383af9d405e6b485bf8287f10fa15967
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256696
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-26 20:28:34 +00:00
Ben Wagner
616aa01b29 [infra] Upgrade Intel Skylake driver
Bug: skia:9652
Change-Id: I86da27902a22ae11f7b442e4a616d3127798f69a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256358
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-26 19:59:54 +00:00
Jim Van Verth
55276e3e01 Enable cross-context textures in Metal.
No work needs to be done in Metal for cross-context textures. Metal
automatically places a barrier between different command buffer
encoders, and Skia and the external client will implicitly be using
different encoders.

Bug: skia:8243
Change-Id: I0c855e2d78aa8973f389108483184947f019342c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256699
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-11-26 19:41:24 +00:00
Florin Malita
466f571a51 [skottie] Handle null mask filter effects gracefully
We allow animating the mask filters, so we can end up with null filters
sometimes.

TBR=
Change-Id: Id93aa033407f58bfeb5e059210141c936c356701
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256697
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-11-26 19:09:04 +00:00
Eric Boren
882115da6b [infra] Make CheckGeneratedFiles use Clang
Bug: skia:9675
Change-Id: Ie9fcd38a4d6c1e369bb2c3740de664a87d1a322c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256660
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-11-26 18:04:44 +00:00
Robert Phillips
933484f6bb Stop using GrPixelConfig in Metal & Dawn's GrProgramDesc creation
In order to be able to create GrProgramDescs pre-flush we would like as little reliance on the GrRenderTarget as possible (also GrPixelConfig is going away).

Bug: skia:9455
Change-Id: Ie35c87758bb1ed97c99c6e9e130eaeb3355f4139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256457
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-26 17:51:34 +00:00
Mike Reed
7d34dc7747 Revert "Revert "switch to new filltype for SkPath""
This reverts commit 3e7af41224.

Change-Id: Id4f66b3956f4bdbe690db20fc478b7365ee89717
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256676
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-11-26 17:43:14 +00:00
Emircan Uysaler
17096c763c Revert "Disable VkProtectedContext_DDLMakeRenderTargetTest"
This reverts commit 6b4afb27fd.

Reason for revert: Fuchsia fix landed on https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=40061#c11.

Original change's description:
> Disable VkProtectedContext_DDLMakeRenderTargetTest
> 
> Bug: fuchsia:40061
> Change-Id: I9d6293298bc27b81f5b4202d56c930f976c86cfc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254336
> Commit-Queue: Emircan Uysaler <emircan@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: fuchsia:40061
Change-Id: I3db60ae3376cd8fe1719b482d2788eb9d48338f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256659
Reviewed-by: Emircan Uysaler <emircan@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-26 15:59:04 +00:00
Brian Osman
4449f1f3fa Remove ResourceProvider and ImageAsset sample impls from skottie
All tools are updated to use the new copies in skresources

Change-Id: If3cfc3104d72535ea4c49f70f1fa68dcf78af987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256657
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-11-26 15:47:14 +00:00
Michael Ludwig
704d5408db Allow Tessellator to operate on provided GrQuads
To facilitate this, the GrQuadBuffer::Iter's local GrQuads that are
modified on each next() are now allowed to be operated on for the AA
inset/outsetting. Previously this required additional GrQuads on the
stack to hold the results, and additional guards for accessing localQuad()
when the entry didn't have actual coords.

With this change, a 2D op should have its device and src GrQuads' Ws
set to 1 once, and then they are completely ignored for all iteration
and tessellation, without any more redundant initialization. In all
likelihood we won't see the needle move on powerful platforms, but may
help lower end devices.

Change-Id: I457205786766403a760918e779d36ba056d69cde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256097
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-11-26 14:57:44 +00:00
Brian Osman
849f4d6571 Copy SkottieUtils' classes into skresources
For now, we'll have two copies. Once clients are using the skresources
versions exclusively, we can remove the originals from skottie.

Change-Id: I3152f526b0505b8374bdd9b4513a80bddc702ccc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256416
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-26 14:25:44 +00:00
skia-autoroll
40a7dfc268 Roll third_party/externals/angle2 e9b68f332a30..f65b212492ec (10 commits)
e9b68f332a..f65b212492

git log e9b68f332a30..f65b212492ec --date=short --first-parent --format='%ad %ae %s'
2019-11-25 felipearchondo@google.com [fuchsia] Change all Angle Presents to Present2s
2019-11-25 courtneygo@google.com Vulkan: Fix validation issue with swiftshader
2019-11-25 flibitijibibo@gmail.com Implement BaseVertex draw calls for Vulkan, OpenGL, NULL contexts.
2019-11-25 jmadill@chromium.org Update codegen presubmit error.
2019-11-25 lehoangq@gmail.com Metal: support ANGLE_instance_arrays/EXT_instance_arrays
2019-11-25 jmadill@chromium.org Fix header typo in rapidjson.
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 24347673152e..2b89fd4e2734 (1 commits)
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 131a1ba8d06a..afc52b0b26d7 (7 commits)
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 43fe7bafb14e..38b4db48f98c (4 commits)
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 45dde9ad6dde..85f3e93d13f3 (1 commits)

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

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 bungeman@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: bungeman@google.com
Change-Id: I564f1577fc81bc6ee85695ffa1f4d9004fdbb482
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256535
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-26 06:27:43 +00:00
skia-autoroll
54036c9b8e Roll ../src 0ec8ef3c9f4f..92fe999ae056 (465 commits)
0ec8ef3c9f..92fe999ae0


Created with:
  gclient setdep -r ../src@92fe999ae0

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 bungeman@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: bungeman@google.com
Change-Id: I2fb3a400b817d3d75457c2538d62ac8be19df873
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256556
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-26 04:35:43 +00:00
skia-autoroll
796421228b Roll third_party/externals/swiftshader d44d61514749..f2637d0dd7eb (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d44d61514749..f2637d0dd7eb

git log d44d61514749..f2637d0dd7eb --date=short --first-parent --format='%ad %ae %s'
2019-11-25 jonahr@google.com Present should return OUT_OF_DATE if the window size outdated
2019-11-25 cwallez@chromium.org Make GN builds produce an ICD JSON in the build dir
2019-11-25 chrisforbes@google.com Add missing vkCmdSetLineStippleEXT function
2019-11-25 sugoi@google.com Improved pNext pointer handling
2019-11-25 awoloszyn@google.com Fix vkQueuePresentKHR is pResults is not null.
2019-11-25 swiftshader.regress@gmail.com Regres: Update test lists @ d44d6151
2019-11-25 kadam@inf.u-szeged.hu ExecutionEngine: add preliminary support for COFF ARM64
2019-11-25 bclayton@google.com Fix build: Do not return stack temporary.
2019-11-25 bclayton@google.com Fix chrome build: Use spaces (not tabs) in .gn files (2/2)

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

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 bungeman@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: bungeman@google.com
Change-Id: I5878475e5df432990b4b311741a111c42d12f859
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256534
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-26 04:32:33 +00:00
Mike Reed
3e7af41224 Revert "switch to new filltype for SkPath"
This reverts commit 3a50981a83.

Reason for revert: chrome win build found compile-problem in xpsdevice

Original change's description:
> switch to new filltype for SkPath
> 
> Change-Id: I7793324a9acf4afb0eb38c1e20fbb38eac25d636
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256102
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=fmalita@chromium.org,reed@google.com

Change-Id: Iacb3566da61c2512b9bd6b7e42b592febc85e031
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256530
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-11-26 03:34:30 +00:00
Florin Malita
74f2fb558f [skottie-wasm] Disable image pre-decoding
After [1], we can rely the image decode cache to amortize large image
decoding.

[1] https://skia-review.googlesource.com/c/buildbot/+/256364

TBR=
Change-Id: I01d7e923aed927ecbf8c0584bac4e62901628523
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256456
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-11-26 02:09:46 +00:00
recipe-roller
4f90f9d831 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/5504dc6427fbb01b66c0cd4f2eff17928b7151b2 depot_tools: Add ehmaldonado@google.com to OWNERS. (ehmaldonado@chromium.org)
  https://crrev.com/83aafc979fa6536d4d38b18b51e972bdeccdf1d3 depot_tools: Make gsutil compatible with python3. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I11125937a209751bbff9a5306c5de58d0278b681
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256536
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-11-25 23:59:16 +00:00
Mike Reed
3a50981a83 switch to new filltype for SkPath
Change-Id: I7793324a9acf4afb0eb38c1e20fbb38eac25d636
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256102
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-11-25 22:31:46 +00:00
Greg Daniel
32d6c8d024 When wrapped, store ref to GrVkSecondaryCommandBuffer on GrVkRenderTarget.
We need the wrapped GrVkSeocndaryCommandBuffer to live, holding refs to
GrVkResources until the GPU is done with the work. However, we don't know
ourselves when the command buffer gets submitted or when the GPU is done
since the client handles on that in the wrapped case. Our spec for wrapped
secondary command buffers requires to the client to keep the
GrSecondaryCommandBufferContext alive till the GPU is done the work so we
can use that to manage our needed lifetime as well. By putting the
GrVkSecondaryCommandBuffer on the GrVkRenderTarget, which is owned by the
SkGpuDevice in the above GrSCBContext, or lifetime should match what we need.

Change-Id: I7cdd92089bed390548ebf33f9d5c7e714bacc9c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256361
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-25 21:50:06 +00:00
Jim Van Verth
5fab90999f Revert "Rename GLRTFBOIDIs0 to WrapsSwapchainSurface and use for Metal."
This reverts commit b1edfde279.

Reason for revert: senorblanco@ is adding a WriteOnly flag which will
be more appropriate for this functionality.

Original change's description:
> Rename GLRTFBOIDIs0 to WrapsSwapchainSurface and use for Metal.
> 
> This provides a way to indicate that a Metal RenderTarget, and in
> particular a RenderTargetProxy, is framebufferOnly, so it can be
> restricted to certain operations.
> 
> Bug: skia:9573
> TBR: bsalomon@google.com
> Change-Id: I733fae2fce402c375534889346255afe28a57944
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255783
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:9573
Change-Id: Ide775fbbe81114c10fe81e7faa517c20784e8498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256496
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-25 21:49:46 +00:00
Michael Ludwig
8fa469d3bc Lift TextureSampler's proxy to SurfaceProxy
Now that the UniformHandlers can accept SurfaceProxies directly, there's
no need to have the restricted type on TextureSampler anymore. This will
make them one step closer to compatibility with GrSurfaceProxyView.

While making these changes, several effects performed their own source
coord normalization by peeking the texture. I updated these to just
use the proxy's backing store dimensions.

Bug: skia:9556
Change-Id: I97183e8453b7a3db86cd90d614c8c959b3707abb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255978
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-11-25 21:35:06 +00:00
Chris Dalton
d53853dd65 Reland "Reland "Enable msaa ccpr on vulkan""
This is a reland of 935a35d972

Original change's description:
> Reland "Enable msaa ccpr on vulkan"
>
> This is a reland of cb73b6250e
>
> Original change's description:
> > Enable msaa ccpr on vulkan
> >
> > TBR=egdaniel@google.com
> >
> > Bug: skia:9643
> > Change-Id: Ie06891734b700c940b996a63c7b1264ce0f2597c
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254808
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Auto-Submit: Chris Dalton <csmartdalton@google.com>
>
> Bug: skia:9643
> Change-Id: I2537f03fad41ebddabbae94312b3836f7a948639
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255008
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: skia:9643
Bug: skia:9676
Change-Id: Ibade6deba89282f62af5fc835e1b775bce2bc5a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256353
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-25 20:55:06 +00:00
Julia Lavrova
c028b42717 Ellipsis again
Change-Id: I895fd394dedc50acd648eeed4f398c375a9812ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256224
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-11-25 19:57:15 +00:00
recipe-roller
9d940c3e7e 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/0ab6a9f6e41ac3e51f5a74325507a4cc5054cacb depot_tools: Use system's python for vpython. (ehmaldonado@chromium.org)
  https://crrev.com/9ea51a5b11451a5a78768cd7c3b71d71ff0037ee depot_tools: Run roll_dep tests on Python 3. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I735553a89b282fcbeed840317eda2b3175acf38f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256354
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-11-25 19:31:46 +00:00
Florin Malita
0d603d8add [CanvasKit] Add SkResourceCache helpers
Allows clients to tune their image decode cache.

Change-Id: I121db096fe6c79a64aa1d388d3bae29f29dd2993
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256359
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-25 19:10:06 +00:00
Brian Osman
85bf9314c0 Extracted Skottie's resource provider to a separate module
This is a first pass that should help with migrating clients.
The utility implementations of ResourceProvider are still in
skottie - those are going to be harder to move. More likely
that I'll add parallel implementations in skresources, then
we can shift clients over and delete the skottie copy.

I'm planning to use this interface/system in particles.

Bug: skia:9513
Change-Id: I004da685983c05cb1b48a75f8a23bd7d73a3f5af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256077
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-11-25 18:58:26 +00:00
Herb Derby
4a327bcb10 Fix chrome build bots
Change-Id: I5f402e7998f52fa151f195ec10f8cfdeffb30fe5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256234
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-11-25 17:39:06 +00:00
Herb Derby
06a620868e Structured binding for SkZip and SkEnumerate
Change-Id: I619d45fc270b6405f687096df2d333fe5e5ecb53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254276
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-25 17:07:46 +00:00
Herb Derby
1b8dcd112c Simplify SubRun structure in GrTextBlob
* Remove Run.
* Have SubRun handle both mask and path data.
* Collect up runs of glyph with the same format to
  simplify building SubRuns.

The nexus of this change is GrTextBlob::makeSubRun. All the
invariants for a SubRun are set in this code, and those
invariants stem from the SubRunType. Much of the code has been
simplified by not having to maintain complicated invariant
state between adding glyphs.

The change that reduces the most number of problems with the
old code is having SubRun own its SkStrikeSpec. Having bulk
glyph insertion facilitated this.

Change-Id: I2439392a9ee3485e7b07a1f3fdaf1351128c4d47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255309
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-11-25 16:51:46 +00:00
Ben Wagner
61169e9c47 Fix asset_utils when no service_account_json
Change-Id: I0524c96e3a6ab1a342872d5d0d903e87526dffeb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256230
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-11-25 16:17:46 +00:00
Brian Salomon
fc118442f6 Reland "Revert "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType"""
This is a reland of 997b37fdb9

Layout tests have been suppressed.

Original change's description:
> Revert "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
>
> This reverts commit 078e8faa26.
>
> Change-Id: I67b2970584db5a1afbf9928b77c5444947ef71a3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255897
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Change-Id: I6db4cff8b71ef1f29ac47f7729b9514d009f730a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256225
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-11-25 15:46:35 +00:00
Robert Phillips
2f05a48583 Add code path that avoids large indexBuffer draws
The bulkrect_1000_random_uniqueimages_batch on a Nexus 6P/Adreno 430

w/o this CL
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config
 304/304 MB	1	151ms	159ms	158ms	163ms	3%	▆█▇▄▆▆▁▂█▅	gles

w/ this CL
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config
 286/286 MB	1	18.1ms	18.1ms	18.1ms	18.1ms	0%	▂▄▅▃▅▅▃▄▁█	gles

Change-Id: I0f6d690b953444ec7a3176cb27c8a253caa55f5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255986
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-11-25 15:31:35 +00:00