Commit Graph

45672 Commits

Author SHA1 Message Date
Julia Lavrova
c5313e6b2a Font features
Change-Id: I8ae44d715fd2fa195c209c8ecb514db3e9644c31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259100
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-12-10 19:19:24 +00:00
Florin Malita
c4f6e024ca [skottie] Initial SkottieSlide UI
- reveal on hover over lower region
 - live progress bar

Planning to add more features.

Change-Id: I776d5b525070c8894ae2ca3a9d9d7c407399b9e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259158
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-10 19:08:34 +00:00
Hal Canary
e9bcc4719e utils/mac/SkCreateCGImageRef: cleanup
* Use SkUniqueCFRef
  * static fns use snake_case.
  * use unique_ptr to signify ownership

Change-Id: I57c2100a64bcf5d343af43b5fe9de117cfdbcd4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259098
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-10 18:38:16 +00:00
Brian Osman
3f9199a162 GrSkSLFP: "Kind" is always kPipelineStage
Change-Id: Ia32f0858bedae79ffa551ef6dde6e46d04436f5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259096
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-10 17:29:53 +00:00
Robert Phillips
ab2b722fdd Switch SkImage::CompressionType to be an enum class
Following CLs use CompressionType much more widely so let's switch it first.

Bug: skia:9680
Change-Id: Ie8847f24936e90dd85e0ad79cbe5542d68c87b12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258882
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-10 15:58:23 +00:00
Mike Klein
7da1a13cee delete unused gyp hack
Change-Id: I042caa65ae87e4ff2d1bf81917ccbbb647a20777
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259073
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-10 15:52:43 +00:00
Nathaniel Nifong
732c49739f Return image address in image info so it can be shown in dropdown.
Note that I don't dereference this pointer, I'm just showing it to the user as it is currently
the only common identifier between the command list and the resource tab.

A longer term fix would be to show the resourse tab's indices in the command list. this is tougher
because it involves replacing UrlDataManager without breaking skiaserve.

Change-Id: Iaa0d60831e96128f19b6358e82b2e89f80444927
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258800
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2019-12-10 14:40:43 +00:00
skia-autoroll
ab26643258 Roll ../src 4e96c2bed379..ffcaa57570c0 (398 commits)
4e96c2bed3..ffcaa57570


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

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 djsollen@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: djsollen@google.com
Change-Id: I7a0a789074a25d9d8cb80230e9ba1a4fb8e5f0ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259059
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-10 04:44:53 +00:00
skia-autoroll
67016a7201 Roll third_party/externals/angle2 27c89d2b5c56..f60da87424a4 (8 commits)
27c89d2b5c..f60da87424

git log 27c89d2b5c56..f60da87424a4 --date=short --first-parent --format='%ad %ae %s'
2019-12-09 davidben@chromium.org Fix out-of-bounds access bug in ANGLE tests
2019-12-09 jonahr@google.com Add metal display type to angle_deqp_tests
2019-12-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 2b89fd4e2734..0e57fc1cfa56 (1 commits)
2019-12-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader b9f03f47d5f5..31916f494c2e (7 commits)
2019-12-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 0de87ee9a5bf..d519167d2ecb (1 commits)
2019-12-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src a3ee4384fb57..f34b9fb086b3 (3 commits)
2019-12-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src e82a428605f6..983b5b4fccea (1 commits)
2019-12-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 0a0625a3dca6..5ceb7be9a3bf (1 commits)

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

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 djsollen@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: djsollen@google.com
Change-Id: I6476e2b9ae8add84a5b8e982747396eefde93264
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259058
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-10 04:41:53 +00:00
recipe-roller
ee675f10b8 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/e9aeaee522332ff7075529cc4bf2c81f5ade3318 bot_update: only add input commit refs for gclient solution roots. (jbudorick@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0713780012f6b7037360ca070a11ed2e89175736
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259056
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-12-10 02:09:39 +00:00
recipe-roller
e56cc054db 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/19c96b27a29dbad65e5e01d28ff479e856d666bd [resultdb] Add chromium_derive function. (nodir@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6cc7b81024ab6c80f2c589815df254bd374f8e13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258886
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-12-10 00:40:00 +00:00
recipe-roller
f56c3a7957 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/bf31df7a63e41d211bd027d77e421d41a34926be [cipd] Bump client version 2.3.1 => 2.3.2. (vadimsh@chromium.org)
  https://crrev.com/198b5629865d76b2778e9ec8f6c0d139b3c1c728 pylint: make pylint-quotes available (vapier@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifa8703403c8b25738d35f1201f167a639ef03448
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258976
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-12-10 00:09:13 +00:00
Julia Lavrova
f9c6ee5461 Fixing the fix for memory leak
Change-Id: I0be996b30d3d86fc57eb9423ee7df2feb08fbda4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258883
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-09 23:29:33 +00:00
recipe-roller
838fd592af 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/ed71210a5f9b875cfaad2ef9d7484e2c573cb692 pylint: roll less spammy versions (vapier@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If6e22f6c18c91e8c26a1ced008c2fe806cbaf984
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258927
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-12-09 22:26:33 +00:00
Brian Salomon
095d2468a0 GrTextureDomain: Go back to doing vector impl when modes are the same
Doing it using scalars all the time caused a mysterious shader compilation
issue on Chromecast. In the past we've had similar problems for long shaders.

Change-Id: Ied667c1d4ae47fb4ae9eee62421a7ad52eecebba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258880
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-09 22:02:43 +00:00
Julia Lavrova
90bfd1c1c3 Small changes
Change-Id: Ic9c41a2dd11b4df8ab24037df0109e36536ec6c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257892
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-12-09 21:58:13 +00:00
Hal Canary
3f7c49c96d skparagraph: fix another leak
Change-Id: I2394dfb10994ce055d87f881ea3bd3c88ab634d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258881
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-12-09 21:39:13 +00:00
Herb Derby
659e4092e3 Pass SkGlyphRunList to GrTextBlob::Make
Change-Id: I05703d1428be088b99b9016802b6e4cb9e6ca53d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258320
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Herb Derby <herb@google.com>
2019-12-09 20:40:37 +00:00
Herb Derby
15a1e98868 Cleanup GrTextBlob management code
* cacheBlob -> cachedBlob
* listPaint -> blobPaint
* variable contextPriv
* variable colorInfo
* color -> initialVertexColor
* filterColor -> drawingColor

Change-Id: I36c6f885f8a4d041d9b0d84f787999d5648675ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258807
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-09 20:39:12 +00:00
Jim Van Verth
9b2c06f2b5 Add persistent shader cache support to Metal.
Will store either SkSL or MSL shaders for now, until we can
find a way to store shader binaries.

Bug: skia:8243
Change-Id: I4debf553467bbcb4af57aeee96d05bc0a2f2b075
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257687
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-12-09 20:35:33 +00:00
Hal Canary
189f30216b skparagraph: fix leak
Change-Id: Ieb13a5430ac78ba3d310331c72a96f0323e67d6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258811
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-09 19:33:56 +00:00
Brian Osman
c937bc5025 Improvements to uniform handling in runtime SkSL
- Support array uniforms
- Fix cases where the read head wasn't aligned in onSetData
- Default to float as the CType for half. (half4 was using
  PMColor, and other half types required a layout(ctype...)

Change-Id: I63cb1706071668de0ab80f3d812cd9ad29ff9651
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258808
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-09 17:57:05 +00:00
Hal Canary
425929c2f6 [minor] fix definition with different parameter names
Change-Id: If38451b11fad4973e033190bf1a436bbc576d2ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258810
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-12-09 17:53:35 +00:00
Kevin Lubick
99e9532050 [canvaskit] roll to 0.10.0
Change-Id: Id06aad4db1a5c827d70ae28be38709167ab749b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258815
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-12-09 17:51:23 +00:00
Herb Derby
7c7314ac29 Remove the CACHE_SANITY_CHECK system.
This was never test and turned on. I tried this a month ago
before the large changes, and it was failing then. I don't think
this tells us anything interesting, and fails if the blob is reused.

Change-Id: I8aadc2be7e6a17d255d681ed9fab04dcbc538991
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258809
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-12-09 17:47:55 +00:00
Brian Salomon
63be47c488 Add testCompile function to SkRuntimeColorFilterFactory for Chrome test
Change-Id: I31f5bf4257e8404f41b146b7e64169968d3cd291
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258804
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-12-09 16:59:34 +00:00
Florin Malita
870374825b [skottie] Explicit seek(0) in tools
With recent deferred image loading changes, Skottie relies on clients
to always/explicitly seek() before drawing a frame.

Some of the existing tools are still attempt to draw before the first
seek() fires (the animation callback is not guaranteed to occur before
the first draw).  For these, add an explicit seek(0) after loading the
animation, to ensure valid state.

TBR=
Change-Id: Ie453559af2d96560602b5e6508c25169dffb484d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258805
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-09 16:35:02 +00:00
Brian Salomon
7caa1371f3 Support mirror-repeat in GrTextureDomain
Bug: skia:9570
Change-Id: Iccfbb36b130ec2827164efda33470e2fa75ad833
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258638
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-12-09 16:15:33 +00:00
Mike Klein
67e55a2380 lift Wno-class-memaccess
Bug: skia:9674
Change-Id: I0ed1c171b0182d168798444657c200bfeec77514
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258269
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-12-09 16:12:23 +00:00
Mike Klein
9347bd8671 mark SkMD5->SkUUID copy as sane
GCC gets worried when we do things like memcpy() into non-trivial types
like SkUUID, but this one is pretty clearly fine.  (SkUUID is
non-trivial because of the implicit constructor that zeros it.)  We can
stifle the warning by casting the destination pointer to void*.

Change-Id: I6637964359f5d923fa97c4af2c608e61fdd1f457
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258448
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-09 15:38:32 +00:00
Kevin Lubick
62836903bc [canvaskit] Expose SkShader combiners
Change-Id: I84652fcec828fea55e2aa35567c054e9678ecf80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258797
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-12-09 14:19:24 +00:00
Nigel Tao
3dc3121286 Add SK_WUFFS_FAVORS_PERFORMANCE_OVER_ADDITIONAL_MEMORY_SAFETY option
Bug: skia:8235
Change-Id: If38fd4b4bb87798cd933147187dc6fde7120a7ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258696
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-12-09 14:14:42 +00:00
Nigel Tao
f0148c4881 Release SkWuffsCodec two-pass memory earlier
Running "dm --match Animated Codec gif GIF Gif | grep RAM"...

Before:
120MB RAM, 120MB peak, 0 queued, 0 active:

After:
117MB RAM, 117MB peak, 0 queued, 0 active:

In comparison, when configured with "skia_use_wuffs = false":
108MB RAM, 108MB peak, 0 queued, 0 active:

Bug: skia:8235
Change-Id: Ib7b8ac9e224f501dbe3a5d3d82d953e57fd0e8f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258697
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-12-09 13:58:42 +00:00
skia-autoroll
9910d829ad Roll third_party/externals/angle2 11e6944ec5a8..27c89d2b5c56 (9 commits)
11e6944ec5..27c89d2b5c

git log 11e6944ec5a8..27c89d2b5c56 --date=short --first-parent --format='%ad %ae %s'
2019-12-07 syoussefi@chromium.org Vulkan: fix BufferVk::map() synchronization
2019-12-07 xinyi.he@arm.com Vulkan: Resize the result vector in EGLChooseConfigTest end2end test
2019-12-06 ianelliott@google.com Vulkan: Latest Intel driver fixes 2-sample standard positions
2019-12-06 ianelliott@google.com Fix multisample renderbuffer compliance (e.g. 3->4 samples)
2019-12-06 jonahr@google.com Also use GL_RENDERER to determine vendorID
2019-12-06 jmadill@chromium.org Revert "Re-land "Add new test runner harness.""
2019-12-06 josh@joshmatthews.net Add /APPCONTAINER linker flag to shared libraries in UWP builds.
2019-12-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader bbd0694f9ab2..b9f03f47d5f5 (18 commits)
2019-12-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src e72b61c7c20d..a3ee4384fb57 (2 commits)

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

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 djsollen@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: djsollen@google.com
Change-Id: If610da681ff31240f95c737f4235c75e22496259
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258776
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-09 04:42:47 +00:00
skia-autoroll
04c9e9bfc8 Roll third_party/externals/swiftshader b9f03f47d5f5..31916f494c2e (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b9f03f47d5f5..31916f494c2e

git log b9f03f47d5f5..31916f494c2e --date=short --first-parent --format='%ad %ae %s'
2019-12-07 digit@google.com [Subzero] Remove assert that breaks Shuffle operations.
2019-12-06 bclayton@google.com SpirvShader: Use struct for MemoryVisitor callback.
2019-12-06 bclayton@google.com Regres: Update dEQP to include fence timeout fix.
2019-12-06 bclayton@google.com Vulkan: Tidy VkCommandBuffer.cpp
2019-12-06 bclayton@google.com Reactor: Rename Blend() to Shuffle()
2019-12-06 swiftshader.regress@gmail.com Regres: Update test lists @ b9f03f47
2019-12-06 bclayton@google.com Reactor: Switch swizzles over to 16-bit hex codes

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

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 djsollen@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: djsollen@google.com
Change-Id: I4935d6eb318cfcba021a1688eb764d9ef9be6fa9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258778
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-09 04:38:32 +00:00
skia-autoroll
9491aefa1b Roll ../src 36a639fc2d93..4e96c2bed379 (454 commits)
36a639fc2d..4e96c2bed3


Created with:
  gclient setdep -r ../src@4e96c2bed3

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 djsollen@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: djsollen@google.com
Change-Id: Ibc526304e68f9bff836ee01e47f6ebef39c4e39c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258777
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-09 04:37:42 +00:00
skia-recreate-skps
b60ec7f98b Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I0f920a066b8eaa15206f4257bb669630b1bba8de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258681
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-12-08 17:04:58 +00:00
Herb Derby
3d1a3bb4bb Fix fix chrome build bots
Change-Id: I4b1a2a9c89db59a6a1674388f9ab220a2ec9a61c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258656
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-06 23:54:55 +00:00
Ben Wagner
5da8e55bf4 Protect against invalid text.
SkFont::countText returns -1 to let the user know that the text was not
valid in the encoding specified. Users need to check for this and act
appropriately. Otherwise in debug and assert will probably fire and in
release unexpected things may happen.

Change-Id: I6ce91aa3d978fe5265b659f759b4023b81da261f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258639
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-12-06 23:34:36 +00:00
Herb Derby
99f228e285 Change from std to skstd for aligned_union_t
Change-Id: I67bd77cf072e203f23ffc49d591cb826fed598dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258640
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-06 22:17:15 +00:00
Herb Derby
cd498e151f Turn GrTextBlob vertices into actual structs
Change-Id: I588fbb4dd5ab5009d20df226063a984ecddb40ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258571
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-12-06 21:15:35 +00:00
Jim Van Verth
6c0f4c7d9f Fix typo in box-plane test.
Bug: skia:9698
Change-Id: I18d7c65b09c236ed0d23689c71af44e9a0414de8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258572
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-12-06 20:38:05 +00:00
Brian Osman
2715bf5b32 Switch to float vertex colors for wide color vertex attribs
Bug: chromium:985500

Change-Id: Iab73405728dc64c816f736e95b00a23e11fd4888
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258565
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-06 20:13:35 +00:00
Michael Ludwig
406172a617 Avoid implicit conversion back to int
Change-Id: I7aa85e470343825e6ab21ad210f50c2154f03ad0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258570
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-06 19:39:55 +00:00
Kevin Lubick
4b5b645049 [canvaskit] Add _RTShaderFactory for demos
Change-Id: Ib6dc1ff861efe4040508fea09c8a66d8d06db597
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258568
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-06 19:35:25 +00:00
recipe-roller
274a766baf 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/fe18a43d590a5eac0d58e7e555b024746ba290ad [git] Update bootstrapped git version to 2.24 to match fleet. (iannucci@chromium.org)
  https://crrev.com/6b52dc21e166c46707b4c8eb26c74c70d4f9977e Default to origin's default branch instead of always origin/master. (jyasskin@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib9132dc4932df03ab9a1f120fda2a31d6237b9ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258604
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-12-06 19:08:15 +00:00
Michael Ludwig
379e4961fd Merge consecutive entries that share proxy in bulk texture op
Previously, a batch draw that reused the same proxy consecutively
would create a ViewCountPair for each set entry, with its count == 1.
This turned into 1 draw per entry, so although there'd still be a single
pipeline, it didn't take advantage of merging those consecutive entries
into a larger draw to reduce draw count as well.

Initially, the thinking for the batch API was that it was for tilers
that used unique images for each tile or render pass. However, Chrome's
compositor is also responsible for rendering 9 patches as part of the UI.
These appear as 9 consecutive entries in the image set that all refer to
the same texture. With this CL the texture op will automatically merge
such occurrences into one ViewCountPair with a count of 9.

The bulkrect_1000_[grid|random]_sharedimage_batch leverages this case.
Before this CL its op would hold 1000 view count pairs that each drew
one quad. Now its op will hold 1 view count pair with a count of 1000.
On my linux workstation, the bulkrect_1000_grid_sharedimage_batch time
went from 377us to 206us. For reference, the _ref variant (which already
was a 1 view count pair with ct == 1000 due to merging of each op) has
a time of 497us. The difference between 497us and 206us represents the
overhead of calling through SkCanvas, op creation, quad optimization
analysis 1000x.

Interestingly the bulkrect_1000_random_sharedimage_batch benchmark did not
change on my workstation. My conjecture is that it is bottlenecked by
overdraw of the many overlapping rectangles.

Change-Id: Icc4195de0bcb2219f424fdaa79728281c0418558
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258418
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-06 18:49:35 +00:00
Mike Klein
456c405d4e simplify GrCCPerFlushResources::recordCopyPathInstance
I should start off with, I don't know this code.  I may have
misunderstood what it's trying to do.  Is it well tested?

GCC pointed out that using memcpy() with CopyPathRange is a bad idea
since CopyPathRange is non-trivial (has an sk_sp).

Further, this appears to be an archetypical dangerous way to use
memcpy(), because the source and destination alias each other.

Am I understanding it correctly that we want to put the new entry at
fCurrCopyAtlasRangesIdx, sliding everything already past that index over
to make room?

I've tried to replace all this with

    1) push_back() to add a slot
    2) move_backwards() to slide everything over to the right
    3) = {...} to fill in the slot.

Step 2) is a no-op when fCurrCopyAtlasRangesIdx was at the end already.

Then now that we're no longer calling emplace_back, the type
CopyPathRange now no longer needs an explicit constructor.

This is the sort of thing I'm going for here...

    ~ $ cat test.cc
    #include <stdio.h>
    #include <vector>

    int main(int, char**) {
        for (int i = 0; i <= 5; i++) {
            std::vector<int> v = {1,2,3,4,5};

            v.push_back(0);
            std::move_backward(v.begin() + i,
                               v.end() - 1,
                               v.end());
            v[i] = 42;

            for (int x : v) {
                printf("%d ", x);
            }
            printf("\n");
        }
        return 0;
    }
    ~ $ clang++ test.cc && ./a.out
    42 1 2 3 4 5
    1 42 2 3 4 5
    1 2 42 3 4 5
    1 2 3 42 4 5
    1 2 3 4 42 5
    1 2 3 4 5 42

... which I guess is a roundabout way of spelling "insert()".  :P

Change-Id: I0a445aafa9a786ef8044243c7432f8597353a6b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258454
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2019-12-06 18:47:55 +00:00
Jason Simmons
22bb52e95b Get baselines from cached default metrics if the text is empty
Change-Id: Ic04251d60d6d36f80c3e569312495190ba375d85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258488
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2019-12-06 18:36:55 +00:00
Robert Phillips
576b6a19ad Add storage of programInfos to GrRecordingContext and SkDDL
This starts setting up to expose the GrProgramInfos to SkDDL clients.

Bug: skia:9455
Change-Id: Icd89ad88565d13890476463a919bbadcb9210b02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256229
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-12-06 18:34:05 +00:00