Commit Graph

45846 Commits

Author SHA1 Message Date
Kevin Lubick
933ea8c301 [canvaskit] Add build flag for pathops
This fixes up some other build flag options:
 - font-specific js code is correctly omitted when no_font is set
 - SKP serialization is only compiled in debug (or with flag).


Bug: skia:9733
Change-Id: Ifdbd2ddac278cfcefa842f6d4826d5429b6ed64b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262137
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-06 13:10:43 +00:00
skia-autoroll
f1db2661f1 Roll third_party/externals/angle2 1fdf6ca5141d..1031d2c65b5e (5 commits)
1fdf6ca514..1031d2c65b

git log 1fdf6ca5141d..1031d2c65b5e --date=short --first-parent --format='%ad %ae %s'
2020-01-04 kbr@chromium.org Upstream Mac logging changes from WebKit.
2020-01-03 shrekshao@google.com Workaround EXT_texture_norm16 for OpenGL ES drivers
2020-01-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src e4a2b7f22782..2be3fe0f8471 (7 commits)
2020-01-03 syoussefi@chromium.org Vulkan: Support vertex-only line emulation draw with xfb
2020-01-03 syoussefi@chromium.org Vulkan: Correct error message for VK_ERROR_INVALID_SHADER_NV

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

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 jvanverth@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: jvanverth@google.com
Change-Id: I5f6119491d073ad0349e4645715bdf5d4cfcbd69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262261
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-06 04:42:21 +00:00
skia-autoroll
03f3f75e48 Roll ../src a12a9d87841e..3beaf136b459 (315 commits)
a12a9d8784..3beaf136b4


Created with:
  gclient setdep -r ../src@3beaf136b4

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 jvanverth@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: jvanverth@google.com
Change-Id: Iddd9c360f22f414e19f10447bb65c401222c40dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262260
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-06 04:30:51 +00:00
skia-recreate-skps
d445e2b6fc Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I0a585bc7babf5e2e79a87464e4dde16fae4cd2ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262237
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-01-05 06:10:07 +00:00
John Rosasco
6791ee2f80 Add logger service.
Change-Id: Ic4d35e054b0fb35d9238a214933cf8004855002c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262204
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-04 02:27:14 +00:00
Herb Derby
f1b42a219f Use fCurrGlyph as the looping variable.
This clarifies the code instead of keeping fCurrGlyph and
glyphIdx in sync.

Change-Id: I2746eac3c681d14a1cb0eb73b91de920b5e6fbbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262151
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-01-03 22:51:52 +00:00
recipe-roller
bdeff3d7d9 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/f44ad10ae5127aa3120f4d105db62e080b4af9ec [swarming] Expose swarming task duration (olivernewman@google.com)
  https://crrev.com/5591fe66be52b94aab70120f5401343521aaa4cc Enable use of 'cipd ensure -max-threads'. (mohrr@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icd36281a6d2303cc8b9eb2db5604cb842f1de4af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262184
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-01-03 22:16:22 +00:00
Nathaniel Nifong
a14d809391 Support using an externally manage list of images in UrlDataManager for wasm debugger.
Bug: skia:9746
Change-Id: I07b5fe1f8f4250e29153b71ce2be106461f09928
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261998
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-03 21:25:12 +00:00
Mike Klein
365c366b47 remove FAAA/FSAA bots
These were a backstop to catch regressions in an area of code that we're
no longer actively developing (how we choose rasterization algorithms.)

Change-Id: If0b4bf71593fc9f895a69d6aa36c86ea4f8ac141
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261844
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-01-03 20:19:57 +00:00
Mike Klein
4eef4fd854 remove redundant Debug bots that have ASAN bots
Remove any Debug bot that's not on the CQ and has a corresponding ASAN
bot (fudging it a little on one Mac bot that had a Metal-only ASAN bot.)

Change-Id: Ie82dce2c37ee1dfebb8686bb1774baaed80d8fd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261842
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-03 20:16:07 +00:00
Brian Salomon
e994380d00 Some GrTypes cleanup.
Remove some unused functions/macros.

Move two functions only used by GrBufferAllocPool there.

We only ever used GrSizeAlignUp with pow 2 alignments. Require that,
rename, move to GrTypesPriv.h (along with GrSizeDivRoundUp).

Change-Id: I1a7248952d1905f16f02de2028d65768b186acee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262061
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-03 19:49:07 +00:00
Brian Osman
91b4059e9f Remove SkRuntimeColorFilterFactory
Client code has been updated to use SkRuntimeEffect directly.

Change-Id: If471fa413ea60087d6445fce20b8363a07a64049
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262063
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-03 19:14:37 +00:00
Ben Wagner
dfde190ab0 [infra] Upgrade Win to 2019
Change-Id: I709792f697d5acc5e1c7c0df361f48d8170e2a34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261377
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2020-01-03 18:32:37 +00:00
Greg Daniel
ca9dbe295d Updated proxy isProtected to return a GrProtected enum.
Change-Id: Iad19712ff60e47a7dab9895f34348f9ce1c8087e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261949
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-01-03 18:22:17 +00:00
Mike Klein
c22967e74f remove almost all Release ASAN bots
There's little need to run a Release ASAN bot when we've an equivalent
Debug ASAN bot.  This removes almost all Release ASAN bots and adds one
Debug ASAN bot.

The only Release ASAN bots I've kept are a bot on the CQ,
Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-ASAN, and the
corresponding Build bot.  We could leave that forever, replace it with
a Debug bot, or just take it off the CQ.

Change-Id: Ic0864fe2efdc39a95e204c7dfaaace238f2098ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262087
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-01-03 17:24:07 +00:00
Brian Osman
54bb838716 split CPU BonusConfigs SAN bots out explicitly
This logic that any GCE CPU *SAN bot is implicitly
a BonusConfigs bot is confusing... make it explicit.

This also means we can make BonusConfigs CPU bots
run disjoint work like the BonusConfigs GPU bots do.
No need to run the default configs redundantly.

Change-Id: I1219091f065a3d1135973bffea7c8774a8ca1ad6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262085
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-01-03 17:21:47 +00:00
Ethan Nicholas
2a099dae1e SkSL description methods are now only present in debug mode
As they are a significant chunk of code, this reduces the size of the
release executable.

Change-Id: Ib764b3ec6244629e50941b0101a540e49d56c320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261955
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-01-03 16:56:27 +00:00
skia-autoroll
ccd45a5efe Roll skia/third_party/skcms ab3cf9c7bd22..605b00d7728f (1 commits)
https://skia.googlesource.com/skcms.git/+log/ab3cf9c7bd22..605b00d7728f

git log ab3cf9c7bd22..605b00d7728f --date=short --first-parent --format='%ad %ae %s'
2020-01-03 benjaminwagner@google.com [infra] Upgrade Win to 2019

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

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 nifong@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=mtklein@google.com, nifong@google.com

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Bug: None
Change-Id: Id2b8911973cb5b5b46f350ebb841ada741ccbaec
Tbr: nifong@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262076
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-03 16:21:17 +00:00
Brian Osman
524360e9e4 Tweak the CanvasKit interface to SkRuntimeEffect
Feedback from https://skia-review.googlesource.com/c/skia/+/261439

Change-Id: I5c5b8c11e59bea11b2dbe4ee08f903dd3961ba89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261999
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-03 16:00:27 +00:00
Mike Klein
6a9f1c444a one more flourish
While staring at this code snippet for too long,
I realized it's possible to set a crazy color on
a paint and trick the code at head into thinking
that it's normalized, using the fast sRGB curves
erroneously.  Might as well fix it.

Change-Id: If16c1476dbfc913adc8ba079bdb48cab374b681d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262029
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-01-03 15:58:47 +00:00
skia-autoroll
10425508ad Roll third_party/externals/angle2 cbbfa2f28a0e..1fdf6ca5141d (1 commits)
cbbfa2f28a..1fdf6ca514

git log cbbfa2f28a0e..1fdf6ca5141d --date=short --first-parent --format='%ad %ae %s'
2020-01-02 xinghua.cao@intel.com D3D11: Restrict to translate uniform block to StructuredBuffer

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

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 nifong@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: nifong@google.com
Change-Id: If1806bb2ef4155b1e9692d0fecf7b9a08cd2b076
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262027
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-03 15:37:53 +00:00
Mike Klein
059e0433f4 ultimate retry for image shader cleanup
I _think_ I've sorted out everything that went wrong the first time:

   - Since we're not always kPremul by the time we clamp, we now
     need to clamp to [0,1] when either fClampAsIfUnpremul is set
     or... we're actually unpremul!  That's the first diff we couldn't
     figure out.

   - This was not the only use of apply(pipeline, SkColorType),
     and removing it made things fall back on apply(pipeline, bool),
     which was making us think everything was normalized.  I think
     that'll get the layout tests.

So I think this is now everything we'd want, uncompromised.

Change-Id: I46f3cd1cc79358e55f5c46a425bacb1de6932c7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262022
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-03 15:37:52 +00:00
skia-autoroll
0e841012c8 Roll ../src 81693dc9aabc..a12a9d87841e (186 commits)
81693dc9aa..a12a9d8784


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

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 nifong@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: nifong@google.com
Change-Id: I9e7539ff5f69ac4a1c47dfb67039fbe8f6fd7e8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262028
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-03 15:32:48 +00:00
Ben Wagner
4cbf1de4ac [infra] Use POSIX paths for Docker containers
This makes the Housekeeper-PerCommit-InfraTests_Win task less broken.

Change-Id: Icd82b172dede83b69ed415fb03c3c47b54b5df5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261997
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-01-03 15:32:47 +00:00
Ben Wagner
7ac038f302 Move Android GPU ASAN jobs to NVIDIA_Shield.
Followup to https://skia-review.googlesource.com/c/skia/+/261933; Pixel
bots don't have enough capacity.

Change-Id: I3b3413c32170a31ba25a53cbbdc15b65b9c66f33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261996
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-01-02 21:03:54 +00:00
Herb Derby
5919cf66db Document fBrokenRun in VertexRegenerator.
fBrokenRun indicates if the atlas became full at any
glyph other than the first glyph of the SubRun.

* Remove getter and setters for fAtlasGeneration.

Change-Id: I603f15e7a2b3b632e184a985f0143d6a711f25e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262000
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-01-02 20:54:14 +00:00
Ben Wagner
1edebbac8c Add xSAN jobs for Vulkan
Change-Id: Ib77bb0e14e0957ca48817f09246042a3c38519a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261277
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-01-02 20:35:18 +00:00
skia-autoroll
ad178db1fb Roll skia/third_party/skcms 25234a0a9c2c..ab3cf9c7bd22 (1 commits)
https://skia.googlesource.com/skcms.git/+log/25234a0a9c2c..ab3cf9c7bd22

git log 25234a0a9c2c..ab3cf9c7bd22 --date=short --first-parent --format='%ad %ae %s'
2020-01-02 benjaminwagner@google.com Use new dimension value for Win2016.

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

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 nifong@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=mtklein@google.com, nifong@google.com

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Bug: None
Change-Id: If9441b0b473ec26f288ffc655201aee406d24ec4
Tbr: nifong@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261888
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-02 20:09:53 +00:00
Mike Klein
c36a45d34d add some useful Debug/ASAN bots
We've realized we'd like to have a few more Debug Perf bots, and it
seems like maybe a good way to satisfy that is to backfill anywhere
we've got a Release Perf ASAN bot but not a Debug one.

In net, this adds:

   1) some Android ASAN Debug Build bots, both 32- and 64-bit ARM
   2) some Android ASAN Debug _Test_ bots using those new builds
   3) one CPU and one GPU Debug ASAN Perf bot

This CL originally was intended just to fulfill 3); I didn't anticipate
finding those testing gaps filled by 1) and 2), and if we find those new
bots to be a bother we can revert them.  They seemed like glaring enough
holes to try to fix now.

Change-Id: I5714522db52bb5bde458b724091a227229e55fea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261933
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-02 19:38:53 +00:00
Mike Klein
d2da6a7902 build libjpeg-turbo with -DUSE_CLZ_INTRINSIC
Otherwise it falls back on a 64K table.

Change-Id: I871fdfd9ef22ba7f3df758272b7dc557f217d5e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261942
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-02 18:06:36 +00:00
skia-autoroll
f5cde33d58 Roll skia/third_party/skcms ec78f685becd..25234a0a9c2c (1 commits)
https://skia.googlesource.com/skcms.git/+log/ec78f685becd..25234a0a9c2c

git log ec78f685becd..25234a0a9c2c --date=short --first-parent --format='%ad %ae %s'
2020-01-02 mtklein@google.com update skcms bot packages

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

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 nifong@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=mtklein@google.com, nifong@google.com

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Bug: None
Change-Id: Idaa7ef26f88e2c24d08683f1d0fdd5a24d616383
Tbr: nifong@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261939
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-02 17:57:46 +00:00
Brian Osman
ee426f223f Move SkRuntimeEffect.h to include/effects
Change-Id: I0b11d4210c6e663cfb4854fc33e1396fd79fe9a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-02 17:37:46 +00:00
Brian Osman
1bf3199970 Fix asserts in SkRuntimeEffect color filter benchmarks
The interpreter doesn't (yet) support all GPU intrinsics, so adjust the
code to avoid 'max' and 'saturate'.

The interpreter is more picky about uniform blocks being the correct
size, so don't pass the color matrix data to the "None" effect, which
has no uniforms.

Change-Id: I4609f913eaa762ca171b2875eb25d23141a0646c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261931
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-02 17:19:51 +00:00
Ben Wagner
c2b6d7f50b Enable Vulkan Debug layers
Bug: skia:8709
Change-Id: Ie7033d4545df10011af1c1f207bce9ceaff829c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/187921
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-01-02 17:15:46 +00:00
Mike Klein
250138d95c reland "clarify that there's no kMedium here"
Manual reland of https://skia-review.googlesource.com/c/skia/+/261765,
still a no-op.

Change-Id: Ie243c279db352c18945c0410f8795f881012577a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261924
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-02 17:14:46 +00:00
Mike Klein
f6a715bb10 Reland "pass more information to shaders"
This is a reland of 4f275cfe0e

Original change's description:
> pass more information to shaders
> 
> If we're going to write an image shader, we're going to need to know the
> matrix and some bits of the paint.
> 
> Instead of all possible information, I decided to pass just what the
> image shader needs for now, and will pass along more as I go.
> 
> I've added a stub implementation of SkImageFilter as a way to make sure
> I'm threading everything it'll need through.
> 
> Change-Id: I98de1724056dbc0902a34fc31da8ec6bdf38dc34
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261801
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

Change-Id: I2541903ad559fe8b584e46b1e9d68ec804b7a15d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261779
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-02 15:43:46 +00:00
Brian Osman
4ee635638f Add SkRuntimeEffect::makeColorFilter
Updated internal usage of SkRuntimeColorFilterFactory to use this
instead. Once this lands, we can update SkiaRenderer in Chrome to
use it, and remove SkRuntimeColorFilterFactory.

This doesn't support a CPU callback function in the runtime color
filter - I don't think we're going to support that in the long term.

Change-Id: I714413bd590cf5cf4416ef62809a6e1d92211688
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261681
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-02 15:01:46 +00:00
Brian Salomon
94724c6594 Fix GrColorMatrixFragmentProcessor handling of premul transparent black.
Use the original alpha in the unpremul color.

Bug: chromium:1024935
Change-Id: I6a721431781f0ef42a3f162d39f8bbac924a2c30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261680
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-02 14:55:06 +00:00
Ben Wagner
b9137be12f Fix asan_device_setup path
https://skia-review.googlesource.com/c/skia/+/225483 updated only one of
two paths. Define them in the same place.

Change-Id: I6d517368f6a703d7c8cd4def6fa227a602dc0ffc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261289
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-02 14:21:46 +00:00
Kevin Lubick
b6a3b7db70 [canvaskit] Update compile.sh with initial code size findings
make profile can be used with bloaty [1] and twiggy [2]

Some example commands for investigating code size:

    bloaty ./canvaskit/bin/canvaskit.wasm -d symbols
    bloaty ./canvaskit/bin/canvaskit.wasm -d sections

    twiggy top -n 50 --retained ./canvaskit/bin/canvaskit.wasm
    twiggy monos ./canvaskit/bin/canvaskit.wasm -g -m 40
    # Let's pretend we have a symbol called
    # AddIntersectTs(SkOpContour*, SkOpContour*, SkOpCoincidence*)
    # that we want to investigate further
    twiggy dominators --regex ./canvaskit/bin/canvaskit.wasm AddIntersectTs.+
    twiggy paths --regex ./canvaskit/bin/canvaskit.wasm AddIntersectTs.+


[1] https://github.com/google/bloaty
[2] https://rustwasm.github.io/book/reference/code-size.html#the-twiggy-code-size-profiler

Bug: skia:9733
Change-Id: I4a665fe2c750da552fee1dbf804ce0028a06c6c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261903
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-02 14:05:45 +00:00
Ben Wagner
da11774fcc [infra] Handle failure from addr2line
An error from addr2line (e.g. unknown binary type) can truncate the
output, hiding the remainder of the stack trace. Instead print the
original line.

Change-Id: I563aae4333a79a17560378e399e79b60c79f9ac7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261288
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-02 13:16:16 +00:00
Bryce Thomas
0d423a60eb Add instructions for compiling CanvasKit and viewing example page.
Bug: NONE
Change-Id: I135d8a341a10e9cda13b0b49518375acb838080f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261825
Reviewed-by: Brian Osman <brianosman@google.com>
2020-01-02 13:04:27 +00:00
skia-autoroll
d81bc733ae Roll ../src e0db4afcadab..81693dc9aabc (33 commits)
e0db4afcad..81693dc9aa


Created with:
  gclient setdep -r ../src@81693dc9aa

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 nifong@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: nifong@google.com
Change-Id: Icb6bb2904bde6464df200acb3277ea350920a85b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261896
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-02 04:32:25 +00:00
skia-autoroll
1eccf285a2 Roll third_party/externals/angle2 942d91520aa8..cbbfa2f28a0e (1 commits)
942d91520a..cbbfa2f28a

git log 942d91520aa8..cbbfa2f28a0e --date=short --first-parent --format='%ad %ae %s'
2019-12-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 59465799210b..10a900e5ffaf (1 commits)

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

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 nifong@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: nifong@google.com
Change-Id: I2ae44734f5501c21ebefc3574896d23d3863f438
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261876
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-01 04:58:14 +00:00
skia-autoroll
4872790d10 Roll ../src 39f22a4ba7a2..e0db4afcadab (60 commits)
39f22a4ba7..e0db4afcad


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

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 nifong@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: nifong@google.com
Change-Id: Ia7b7c440f78b34e65e000c71f6f926b3902a5f77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261877
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-01 04:31:44 +00:00
skia-autoroll
45d19fe063 Roll third_party/externals/angle2 fca5a005aa88..942d91520aa8 (5 commits)
fca5a005aa..942d91520a

git log fca5a005aa88..942d91520aa8 --date=short --first-parent --format='%ad %ae %s'
2019-12-30 m.maiya@samsung.com EGL: Add support for EGL_KHR_gl_colorspace extension
2019-12-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 0e57fc1cfa56..f63dd5c9d874 (1 commits)
2019-12-30 syoussefi@chromium.org Vulkan: clean up arguments to glslang wrapper
2019-12-30 syoussefi@chromium.org Avoid vector copy in BinaryOutputStream::writeIntVector
2019-12-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 5de15a256eb0..6334d594f68c (4 commits)

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

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 nifong@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: nifong@google.com
Change-Id: I8fde6ff7a14b6cf920adc3a622685a46615dc173
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261823
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-31 04:36:52 +00:00
skia-autoroll
ea492c9119 Roll third_party/externals/swiftshader 59465799210b..10a900e5ffaf (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/59465799210b..10a900e5ffaf

git log 59465799210b..10a900e5ffaf --date=short --first-parent --format='%ad %ae %s'
2019-12-30 chrisforbes@google.com Add assert in GenericValue constant access

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

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 nifong@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: nifong@google.com
Change-Id: I9d644ca2694c4b95a4f7043baafe69340ade89c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261822
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-31 04:33:12 +00:00
skia-autoroll
52fc1d897c Roll ../src 4d93cdf1ccf7..39f22a4ba7a2 (126 commits)
4d93cdf1cc..39f22a4ba7


Created with:
  gclient setdep -r ../src@39f22a4ba7

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 nifong@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: nifong@google.com
Change-Id: I01fe043fe8846991872b99b37d14189ca62d4816
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261824
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-31 04:29:42 +00:00
Mike Klein
0ec2c7a2dc Revert "refresh image shader cs/at logic"
This reverts commit 4311f19158.

Reason for revert: layout test failures seemingly not having to do with bicubic+clamping+sRGB

Original change's description:
> refresh image shader cs/at logic
> 
> Was working on SkVM versions of these when I noticed the existing
> SkRasterPipeline code wasn't terribly tidy.  The main gist here is that
> we can let SkColorSpaceXformSteps::apply() handle almost all the
> final transformation on the way out of the shader.
> 
> I remain a little puzzled why I got a few significant diffs when I tried
> leaving the A8 color unpremul, letting the steps handle matching the
> alpha types instead of me manually with SkRasterPipeline::premul.  For
> now I've left that as-is.
> 
> Similarly I think we could transform that A8 color ahead of time rather
> than doing that over and over at runtime.  This is something I've left
> as a TODO, largely because I don't care enough about coloring A8 to
> investigate right now.
> 
> I've inlined all the logic of explaining src-is-normalized into this
> shader (which is its only user).  That makes it clearer that we can
> always set that bit when bicubic sampling, since we're clamping anyway.
> This causes some invisible diffs when switching to the optimized sRGB
> transfer function stages, which we may or may not be able to get away
> with without guarding...
> 
> Change-Id: Ie6670c6ca5c69958f41aac88324341a10eb3bee1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261763
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I9c414cb751d9e51219b18dc3d4f54c92d06664ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261815
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-31 01:33:51 +00:00
Mike Klein
02eeac78f6 Revert "clarify that there's no kMedium here"
This reverts commit 60b69ecc8d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> clarify that there's no kMedium here
> 
> Reword to make it clearer we're only handling kNone, kLow, and kHigh;
> kMedium has been transformed into kLow or kHigh already at this point.
> 
> I think it's particularly easy to be confused by the line
> 
>     if (quality > kLow_SkFilterQuality) { ... }
> 
> Change-Id: If78cb6e946e26d08f5acd807d32e0446c69061b1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261765
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: Ifb639ce76ec8e533ed6af7ddcb2d2fe8c66a6558
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261814
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-31 01:28:57 +00:00