We were already running unit tests twice--once with inlining on, and
once with inlining off, but always with optimization on. Now, the two
passes are instead "inliner + optimizer both on" and "inliner +
optimizer both off". (Testing the full 2x2 matrix of possibilities seems
like overkill.)
Change-Id: I73fb0932877c7b953c1f2e122125e5e7781a8582
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539396
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Fixes a minor issue discovered by http://review.skia.org/539198 .
Change-Id: I63f555cc005df33ce50c412796a8c773a501d271
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539199
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Previously we didn't have any mechanism for disabling the optimizer when
building golden outputs, so every golden output always had optimizations
applied.
Change-Id: I8f370b06daab6cb50bb4339eab0d39578621413b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539198
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Some APIs have been const-ified.
Change-Id: I08699f219944057bd730d3f7a5f5466cdd829233
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539064
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit 167e608bb3.
Reason for revert: breaking Housekeeper-CheckGeneratedFiles
(fetch-clang-format)
Original change's description:
> [infra] Remove old python scripts and urllib2 references
>
> I was searching for urllib2 while resolving issues with
> https://skia-review.googlesource.com/c/skia/+/538636
> when I found several old, apparently unused scripts.
>
> Rather than fix them, let's get rid of them. If they
> are still in use, the conversion to urllib.request is
> pretty easy.
>
> Change-Id: I27d419601e81c93a3d53e280188a379dfab927c4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538936
> Auto-Submit: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>
Change-Id: I139a3cd070da2e6fee2f8865138cf6a63441a8cb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539201
Auto-Submit: John Stiles <johnstiles@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
This comment fell out-of-date when the Graphite modules were added.
(I had tweaked it slightly at the time, but had missed some other places
that talked about injecting static code snippets.)
Change-Id: Ibbdf5ce14b8c77393f9da2ee22c82001e3bfd6c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539045
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Make it easier to figure out READ_FAILURE is reporting a problem.
Bug: chromium:1287356
Change-Id: I3962932aed5c55efc2ded941cf218e5a8e75e972
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539044
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
https://dawn.googlesource.com/dawn.git/+log/9483b741a884..be0abb611aed
$ git log 9483b741a..be0abb611 --date=short --no-merges --format='%ad %ae %s'
2022-05-09 dawn-autoroll Roll ANGLE from e316203a6a2f to 78d88796b44b (1 revision)
2022-05-08 dawn-autoroll Roll ANGLE from 225d8f83af71 to e316203a6a2f (1 revision)
2022-05-07 dawn-autoroll Roll SwiftShader from 00efa1913863 to 1dd93361b1d9 (1 revision)
2022-05-07 dawn-autoroll Roll ANGLE from cadb933fdb12 to 225d8f83af71 (2 revisions)
2022-05-07 dawn-autoroll Roll vulkan-deps from e13072c54977 to 626b2fd72bde (2 revisions)
2022-05-07 dawn-autoroll Roll SwiftShader from 74e34ab97aeb to 00efa1913863 (2 revisions)
2022-05-06 dawn-autoroll Roll ANGLE from 1d5d09e4191a to cadb933fdb12 (14 revisions)
2022-05-06 dawn-autoroll Roll vulkan-deps from 4957ae734445 to e13072c54977 (21 revisions)
2022-05-06 dawn-autoroll Roll SwiftShader from 62c1af08ea4d to 74e34ab97aeb (5 revisions)
2022-05-06 bclayton tint: Rename and move builtin_table and builtin-gen
2022-05-06 bclayton dawn: Fix clang warning treated as error
2022-05-06 zhaoming.jiang dawn: Add shader module validation for WGSL extension
2022-05-06 dawn-autoroll Roll ANGLE from 2ce60b52a239 to 1d5d09e4191a (10 revisions)
2022-05-05 jrprice Surface Vulkan validation messages in errors
2022-05-05 bclayton tint: Change all ProgramBuilder literals to 'i' or 'u' suffix
2022-05-05 dawn-autoroll Roll ANGLE from 9865ed8b8117 to 2ce60b52a239 (4 revisions)
2022-05-05 bclayton tint: Castable - support non-default-constructable return types
2022-05-05 dawn-autoroll Roll SwiftShader from 2e793ae08002 to 62c1af08ea4d (1 revision)
2022-05-05 amaiorano tint: add --overrides flag to specify pipeline overrides
2022-05-05 pkasting Fixes for C++20 support.
2022-05-05 bclayton tint: Add Bitcast helper
2022-05-05 bclayton tint: Fix CFI error in BlockAllocator
2022-05-05 dawn-autoroll Roll ANGLE from 9053a641bf5d to 9865ed8b8117 (1 revision)
2022-05-04 senorblanco OpenGLES: disable some end2end tests which require reading from depth textures.
2022-05-04 bclayton tint/reader/spirv: Generate 'i' suffixed literals
2022-05-04 bclayton tint: Merge [S|U]intLiteralExpression
2022-05-04 dawn-autoroll Roll SwiftShader from 643179694ec7 to 2e793ae08002 (1 revision)
2022-05-04 bclayton tint: Lex three types of integer literal
2022-05-04 dsinclair Enable more `gn check` results.
2022-05-04 dawn-autoroll Roll ANGLE from 84e42c3b04da to 9053a641bf5d (12 revisions)
2022-05-04 bclayton webgpu-cts/expectations.txt: Remove expectations that now pass
2022-05-04 amaiorano Disable angle dependency on wayland
2022-05-04 bclayton tint: Chromium-style fixes
2022-05-04 jamessliu2020 AST fuzzer: Change unary expression operator
2022-05-04 dawn-autoroll Roll SwiftShader from c75846ead9a0 to 643179694ec7 (3 revisions)
Created with:
roll-dep third_party/externals/dawn
Change-Id: I6656ab41573ce465e9ced94ad65731be9bc5dafe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538716
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
The comments in this shader are copied from
719239cd69:src/gpu/ganesh/gradients/GrGradientShader.cpp;l=806.
We could also link to that code in the comments themselves if that would
be helpful.
Bug: skia:13302
Change-Id: I8f0733bd02d519c603f62612b5299b6d1d56792a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538416
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
Change-Id: I4643cc4c1f75deab279625e752b9fee7da2e2779
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539039
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This simplifies the bot script slightly. More importantly, it means that
local developers don't need to remember to do this when building ANGLE
on Mac.
Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac12-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-ANGLE
Change-Id: Ia60cd07f15e3b447b58cfa1198ea26f68f72384b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539036
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Use if constexpr so that tracing code does not bit rot.
Change-Id: Ib85f79b53c6a48bb1b80a51e5539dbdf077802d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538898
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
I was searching for urllib2 while resolving issues with
https://skia-review.googlesource.com/c/skia/+/538636
when I found several old, apparently unused scripts.
Rather than fix them, let's get rid of them. If they
are still in use, the conversion to urllib.request is
pretty easy.
Change-Id: I27d419601e81c93a3d53e280188a379dfab927c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538936
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Simplify the fields used by each, and simplify the CTORs in
the original SkGlyphRunPainter.
TODO: come up with a better no gpu method. Eventually, this
should be pure Sk. There is no need for GPU to make and
serialize a slug only to draw them.
Change-Id: I446fe0c285ae778a14b30e09c8a2cff3cd1a56c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538896
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Move the SubRun buffers from the Paint to the Builder that is held
by the Canvas. This allows better sharing of the buffers, and enables
splitting the Painter into CPU and GPU.
Change-Id: I860441732b4042be0534af3d002d63ece02de8c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538662
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
In theory all glyph representations including masks, paths and drawables
should keep a reference to the SkStrike which owns the actual data they
refer to. For paths this is worked around by always creating a copy of
the path (which is inexpensive) which itself simply reference counts the
underlying path data which is not directly owned by the SkStrike. For
masks it is impractical for every mask to hold a reference to the
SkStrike in any event as the pointer alone would often be larger than
the image. For drawables the implementation may be simply a pointer to
the scaler context and a glyph id. In theory each drawable could hold a
reference to the SkStrike, but potentially means a lot of references
when ensuring the SkStrike outlives any drawables it produces would be
more effecient.
This change ensures that the SkStrike is referenced while holding
references to drawables the SkStrike produced.
Bug: chromium:1322902
Change-Id: I6db8ae1bd614167da008caaff089e7d3e15aa9bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537980
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Isolate the buffers to move them from the Painter, where they are
situated on the Device(CPU) or SurfaceDrawContext(GPU), to the
Canvas. This will allow better sharing of the buffers, and the
splitting out of the CPU and GPU parts of the Painter.
Change-Id: Ie2a99dc7f9e784c4f00012b71ece5ff482687a88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538660
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Now that the painter has moved from a GlyphRun to a GlyphRunList,
handle the buffers at the GlyphRunList level only.
Change-Id: I37416c8b2164bbde207ecab0a77b419775d58e66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538659
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Also updates a script with 2to3 to be python3-compatible.
Change-Id: I45981349664aef4491e7ab20e49889d461f8bf3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538417
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Bug: skia:13263
Change-Id: I29e04ccc88a9ff2286c82302740e404aeba1b740
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534669
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Change-Id: I43ca73d208334c71b393a4b6352b758c8c45ce27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538045
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
For usages of constants in classes outside of skgpu::tess (e.g. when
using tessellation in skgpu::v1 or skgpu::graphite), the constants are
accessed with tess::. This is just to help with clarity since it scopes
the constant name. However, functions and types are still referred to
without that, and using namespace skgpu::tess is used to keep those
references simpler.
In headers, tess:: is added when there are only a few usages of the
types, or it's brought in as an alias.
Change-Id: I12af595659fe791de419db0393482dae6cd238e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534668
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
On a Linux x64 build, this saves ~17 KB of code size.
It also reliably makes all sksl_spirv_ benchmarks faster.
Change-Id: If4a0f7cc320eb73017791d2e09127f96addec629
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538044
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Rename processGlyphRun to categorizeGlyphRunList. Change processing
a single glyph run to processing the entire list. By taking
an SkGlyphRunList the code will have access to the buffers it needs
for processing when I move the buffers to the builder.
Clean up - remove some unneeded includes.
Change-Id: I2ce66292b7e63b9cbc63610ba9653b255417d7c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538037
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Calls to "python" won't work on vanilla MacOS installs (nor many
distributions of Linux), and AFAICT we're assuming it refers to python3
anyways.
xreadlines was removed in Python 3, and the suggested equivalent is to
use the file directly as an iterator:
https://docs.python.org/2.7/library/stdtypes.html#file.xreadlines
Change-Id: Iae51e3923e38ea63f857a17b9ff80e79871efee5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537982
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
Bug: 1320964
Change-Id: I5f05ea469b824b1382f64c1eb3fb9be0498cf329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537517
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The canvas contains the builder. By passing a pointer to the
builder with the GlyphRunList, we can add the machinety for
building SubRuns in future CLs.
Currently, all the buffers needed for building SubRuns are
maintained in the Device for CPU and the SurfaceDrawContext
for GPU. Because of the Layer mechanism in the API this means
we can have multiple sets of buffers. By moving the buffers to
the builder, there will be only one set, and the memory will
be hotter.
Change-Id: I47223b0dcfbab7d9b383d8410bb8d8e897706dd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537776
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
For additional context, see "Codifying Certain Build Options"
and "Building on the CI" in the design doc go/skia-bazel
Suggested review order:
- builder_name_schema.json to see the three required and
one optional part of BazelBuild jobs.
- jobs.json to see one new BazelBuild job added. In an
ideal world, this job would have been named
BazelBuild-//modules/canvaskit:canvaskit_wasm-debug-linux_x64
but Buildbucket (?) requires jobs match the regex
^[a-zA-Z0-9\\-_.\\(\\) ]{1,128}$
so we use spaces instead of slashes or colons.
- gen_tasks_logic.go; noting the makeBazelLabel function
expands most of the spaces to / and the last one to a
colon to make a single-target label. If there are three
dots, then it is a multi-target label, and we do not
need to add a colon.
- bazel_build.go; This is a very simple task driver, and
I do not anticipate getting too much more complex.
The place where we decide which args to augment
a build with depend on the host platform and thus
should be set in gen_tasks_logic.go.
- bazel/buildrc to see some initial configurations set,
one of which, "debug", is used by the new job.
The "release" version of CanvasKit probably works on
3.1.10 which had a bugfix, but we are still on
3.1.9
- .bazelrc to see a rename of the linux-rbe config to
linux_rbe (our configs should have no dashes if
we want to specify them verbatim in our Job names).
It also imports the Skia-specified build configs
from //bazel/buildrc and supports the user-specified
//bazel/user/buildrc file if it exists.
- All other files in any order.
Change-Id: Ib954dd6045100eadcbbf4ffee0888f6fbce65fa7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537797
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
This is a reland of commit 094bcdb9e5
Original change's description:
> [infra] Use Python3 for our Presubmits
>
> https://source.chromium.org/chromium/chromium/tools/depot_tools/+/main:presubmit_support.py;l=319;drc=443d9135cc33f3156d5fe25ebec33f9adffbab65
>
> This also makes any errors from `make train -C infra/bots`
> look well formatted because check_output returns a bytestring
> in Python3 and when that is printed, the newlines et al are not
> rendered correctly. Thus we want the output of check_output
> to be encoded to UTF-8.
>
> Without setting the USE_PYTHON3 = True in PRESUBMIT.py,
> it appears that `git cl upload` would try to run our
> infra_tests.py in Python2 mode, which does not have
> the encoding argument for check_output.
>
> Apparently cipd_bin_packages/vpython3 does not have the
> "six" package installed (but cipd_bin_packages/vpython does)
> so I replaced the six.StringIO with io.StringIO, which
> is where that is located in Python3.
>
> Change-Id: Ic8f61bf943531583ba3d110a85260d69bdbf5eb2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537677
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: Ia7fb2f3b6d8b70ca95cf10763782d4a0122053e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537978
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
I don't know if we ever actually used this feature. Removing it removes
and needless loop over all the render tasks.
Change-Id: Ife8014c45a34fdec743227dea09e440e0d1d9ea3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537516
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
9865ed8b81..1d5d09e419
2022-05-06 syoussefi@chromium.org Vulkan: Prefer MAILBOX over IMMEDIATE present mode
2022-05-05 cclao@google.com Vulkan: Reduce kMaxBufferToImageCopySize to 64M
2022-05-05 cclao@google.com Vulkan: Limit the total bytes of suballocation garbages in flight
2022-05-05 lubosz.sarnecki@collabora.com FramebufferTest: Add FramebufferChangeTest test.
2022-05-05 cnorthrop@google.com Scripts: Strip prebuilt debug APK from AOSP roll
2022-05-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1c301e690de1 to 7a60295b6324 (184 revisions)
2022-05-05 cclao@google.com Vulkan: Force prune when there are lots of suballocations destroyed
2022-05-05 boliu@google.com Remove limit_max_texture_size_to_4096 workaround
2022-05-05 cclao@google.com Vulkan: Use heuristic to decide how many empty buffers to keep
2022-05-05 lubosz.sarnecki@collabora.com Tests: Add Alto's Odyssey trace.
2022-05-05 pkasting@chromium.org Fixes for C++20 support.
2022-05-05 abdolrashidi@google.com Vulkan: Set timeout for MultiContextDrawWithSwap*
2022-05-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 6db3a94387ed to 1c301e690de1 (550 revisions)
2022-05-05 ynovikov@chromium.org Decommission win7-x86-amd and win7-x64-nvidia
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jlavrova@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
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/+doc/main/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: jlavrova@google.com
Test: Test: ./scripts/roll_aosp.sh and inspect //build
Test: Test: angle_end2end_tests --gtest_filter="FramebufferTest_ES3.FramebufferChangeTest/*"
Test: Test: angle_perftests --gtest_filter="*altos_odyssey*"
Change-Id: I9fb3e027c895be626e0385dcc533a8e56f71c582
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537900
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>