The previous experiment revealed that nanobench can
run on any of the online CPUs, so rather than put
the ones we don't need/want into powersave mode, just
disable them.
Maybe in the future we can run CPU tests on the big
or LITTLE cpus to get perf data on higher end or
lower end cpus, but only if we get very stable
results from this.
Bug: skia:7378
notry=true
notreechecks=true
Change-Id: I057513a691093e7f73c0f5790e17fab1a5ec0bc4
Reviewed-on: https://skia-review.googlesource.com/84820
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
These should be free of overflows now.
Bug: skia:7052
Change-Id: I05118fb8f565ffb0d973b6d93a8cd8d8e27f31a9
Reviewed-on: https://skia-review.googlesource.com/84561
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Change-Id: I7baae5f90b2e510b66443cda449071c7c6ec9ec7
Reviewed-on: https://skia-review.googlesource.com/83520
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Perf was nice and flat after https://skia-review.googlesource.com/c/skia/+/83240
but there was a 4-5x slowdown on the benchmarks themselves,
indicating that perhaps we were running nanobench on the
LITTLE cores (now on powersave) instead of the big cores we
thought (which were recently scaled down).
This experiment will show us FOR CERTAIN that we are
running on core 0 or 1 which is at .6 max frequency.
We expect to see a speedup from the previous results.
This is leading to turning of CPUs we don't need
to make sure nanobench is running on the ones we expect.
Bug: skia:
NOTRY=true
Change-Id: Ida65181e4d90e778e65e3f22d761288b9ade64f6
Reviewed-on: https://skia-review.googlesource.com/84201
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:7399
Change-Id: Id60773f77694b06a938f9a126f30ca56e4965d30
Reviewed-on: https://skia-review.googlesource.com/83981
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:7310
Change-Id: I7eeb73eb6d9c07549bf7a5d7c2d8b4d3049ac3da
Reviewed-on: https://skia-review.googlesource.com/83860
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
They seem to be their own special cases for what
governors they support.
Bug: skia:
NOTRY=true
Change-Id: I7bb220e1d3ba6851c17c7e6ef327aab24ffdba42
Reviewed-on: https://skia-review.googlesource.com/83900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This scaling logic correctly accounts for some devices
which have multiple CPUs. Previously, we were scaling
the smaller of these CPUs, which likely had a negative
impact on nanobench, given nanobench was single threaded
and the CPUs weren't allowed to idle much (because we
set the CPU).
This CL sets those additional CPUs to powersave when we run
nanobench and then correctly scales down the beefier
CPU we want to run nanobench on.
For DM, we just run it in ondemand mode, which will
hopefully be "as fast as possible", but allow the CPU
governor to scale down if overheating becomes a problem.
Bug: skia:7378
notry=TRUE
Change-Id: I45ca5d9fb32182233d1b2d094842c879f2b84da4
Reviewed-on: https://skia-review.googlesource.com/83240
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
The Nexus5x took these jobs in https://skia-review.googlesource.com/c/skia/+/82624
Also filed skia:7394 for missing coverage of "--gpuThreads 0".
Bug: skia:7382
Change-Id: If0fd823722d8b8cc3845f8d96a0a285fec935f74
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/83360
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
The new bot:
1) Extracts all fiddles out of markdown files.
2) Forces fiddle.skia.org to compile all those fiddles and get output in JSON.
3) Scans the output and reports any compiletime/runtime errors.
4) Updates markdown in site/user/api/ using the new hashes (if any) from fiddle.skia.org.
To ensure the bot does not check in unexpected changes:
* upload_md.py makes sure that all modified files are under site/user/api/. It errors out if this is not the case.
* CLs with docs only changes normally have 'NoTry: true' added to their descriptions. This is not done for the new bot because we want to run it through trybots to make sure nothing unexpected snuck in.
* rmistry@ and caryclark@ are automatically CC'ed on all uploaded changes. I plan to watch the bot closely for at least a couple of weeks.
Bug: skia:7310
Change-Id: I759fc8bae1e32a6f175e3b1a895947d14ca5fe3a
Reviewed-on: https://skia-review.googlesource.com/79941
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
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).
Please review the expectation changes, and LGTM+CQ.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/bb85b3636b13b7a3514a198b30c583439c009970 bot_update source manifest: fix test_api.py to match the actual output (hinoka@google.com)
R=kjlubick@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If6efa9cbe00163301023a847c06f10e37067f4c0
Reviewed-on: https://skia-review.googlesource.com/82540
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
'windk' is no longer a thing. There are two separate variables to point
at your compiler (win_vc), and SDK (win_sdk).
'msvc' is no longer a thing, either. By default, we look for 2017 and
then 2015 (in the default locations). If neither is located, use an
assert to let users know they should set win_vc. Then, detect if win_vc
points at a 2017 or 2015 installation, and configure it automatically.
Because the toolchain is now 2017, update the GN files to handle building
x86 in that configuration. In fact, we only support x86 builds (with 2017
or 2015) using the toolchain assets. Keep a 2015 toolchain around as a
new asset, so we can add bot coverage.
Docs-Preview: https://skia.org/?cl=81841
Bug: skia:
Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac
Reviewed-on: https://skia-review.googlesource.com/81841
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Add logic to run on Nexus 5xs in Golo.
Bug:788839
Change-Id: I12290d11a0b1b0f012ada216da3e5b2599979c5e
Reviewed-on: https://skia-review.googlesource.com/81861
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:7381
Change-Id: I2dd5443c81cd895eb1d68b0cd90221a7e2e07d46
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/80843
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This reverts commit 66db75da67.
Reason for revert: Breaking PDFium/Flutter
Original change's description:
> [infra] Move commands from isolates to gen_tasks.go
>
> This has the side effect of bundling recipes for all tasks,
> which will be required anyway to run recipes in the future.
>
> Bug: skia:7050
> Change-Id: Ia30a95c750f2a237a8bf60263b2981682673c043
> Reviewed-on: https://skia-review.googlesource.com/81300
> Commit-Queue: Eric Boren <borenet@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
TBR=borenet@google.com,bungeman@google.com,rmistry@google.com,kjlubick@google.com
Change-Id: I38e00294f098ac91285a5cc464414654fc79a9e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7050
Reviewed-on: https://skia-review.googlesource.com/81741
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This has the side effect of bundling recipes for all tasks,
which will be required anyway to run recipes in the future.
Bug: skia:7050
Change-Id: Ia30a95c750f2a237a8bf60263b2981682673c043
Reviewed-on: https://skia-review.googlesource.com/81300
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This is a reland of 6da1d32c16
Original change's description:
> Always use the Win 10 SDK, and optionally detect/use the latest version
>
> For bot toolchain builds, we were already using the Win 10 SDK. Local
> 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
> we always use the Win 10 SDK exclusively.
>
> This adds two new GN arguments: win_sdk, which points at the top level
> Windows 10 SDK directory, and win_sdk_version, which can be used to
> pin to a specific version. (Otherwise we use a script to detect the
> most recent version).
>
> Bug: skia:
> Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
> Reviewed-on: https://skia-review.googlesource.com/81304
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
Change-Id: Ide0d6bd3413c4fe7a8bada7d3d32bdba9709d11b
Reviewed-on: https://skia-review.googlesource.com/81501
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 6da1d32c16.
Reason for revert:
Caused Build-Win-Clang-arm64-Release-Android to fail.
Eg: https://chromium-swarm.appspot.com/task?id=3a467f1ddd15fb10&refresh=10
Original change's description:
> Always use the Win 10 SDK, and optionally detect/use the latest version
>
> For bot toolchain builds, we were already using the Win 10 SDK. Local
> 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
> we always use the Win 10 SDK exclusively.
>
> This adds two new GN arguments: win_sdk, which points at the top level
> Windows 10 SDK directory, and win_sdk_version, which can be used to
> pin to a specific version. (Otherwise we use a script to detect the
> most recent version).
>
> Bug: skia:
> Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
> Reviewed-on: https://skia-review.googlesource.com/81304
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=mtklein@chromium.org,borenet@google.com,bungeman@google.com,brianosman@google.com
Change-Id: Id044114fc685d570741e3f5ed003c4be2ffa84a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/81500
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
It throttles 1000x more than intended, and I suspect that some of the
trip points it uses to decide when to throttle make no sense. We've
already turned it off on the Nexus 5x.
Change-Id: Idf556a83fe61ccc5f63c7bede3eecbe80087e28b
Reviewed-on: https://skia-review.googlesource.com/81303
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
For bot toolchain builds, we were already using the Win 10 SDK. Local
2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
we always use the Win 10 SDK exclusively.
This adds two new GN arguments: win_sdk, which points at the top level
Windows 10 SDK directory, and win_sdk_version, which can be used to
pin to a specific version. (Otherwise we use a script to detect the
most recent version).
Bug: skia:
Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
Reviewed-on: https://skia-review.googlesource.com/81304
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
It's causing a lot of sleep for being too hot. ThermalManager assumes
the trip points are static, when in fact, they are dynamic.
Bug: skia:7378
NOTRY=true
Change-Id: I907a42986831b7072a03a0423afd5a36bb2dfa74
Reviewed-on: https://skia-review.googlesource.com/80981
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
The new check was a different config while we fixed the errors. Most
errors are now fixed, and merging these will help with running both on
the CQ.
No-Try: true
Change-Id: I5804ecea84a8dbbaacf6a4ea96e2af9505641d49
Reviewed-on: https://skia-review.googlesource.com/79323
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
IntelIris640 is 100% identical to IntelIris540 on Gold.
No-Try: true
Change-Id: I0e5342b182267a7d6ee510329b7c8ab7cb3a479e
Reviewed-on: https://skia-review.googlesource.com/78640
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
The previous list was created from scaling_min_freq and scaling_max_freq
instead of cpuinfo_min_freq and cpuinfo_max_freq which are the actual mins
and maxes, not the current (transient) settings of the governor.
Before:
Test-Release: 61 minutes
Perf-Debug: 41 minutes
After:
Test-Release: 32 minutes
Perf-Debug: 16 minutes
NOTRY=true
Bug: skia:
Change-Id: I9b431e92d2abcecb4fe643389daddc912a1399e1
Reviewed-on: https://skia-review.googlesource.com/78141
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Some bots, especially the Nexus 7s, seemed to occasionally
fail when setting the CPU frequency. I was unable to
repro this behavior, so this is a shotgun approach.
We add a 5 second delay between setting and checking,
checking frequency using scaling_cur_freq instead of
scaling_setspeed, set the min_freq as well as max_freq,
and retry up to 3 times if setting cpu frequency fails.
NOTRY=true
Bug: skia:
Change-Id: Id4d85d8d509c9dba8e3a0e06b5992f5adadf36d2
Reviewed-on: https://skia-review.googlesource.com/78140
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This reverts commit 373588426b.
Reason for revert: Have enough digests on Gold now.
Original change's description:
> Temporarily add Ubuntu IntelHD4400 jobs.
>
> I want to compare this with the IntelBayTrail and if the results are
> similar, replace those bots.
>
> No-Try: true
> Change-Id: Ib5476fe91dc446182cd1b37e93fe17962dcf961a
> Reviewed-on: https://skia-review.googlesource.com/76900
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
TBR=benjaminwagner@google.com,kjlubick@google.com
Change-Id: Ica07d1ee635e59e3d3da51ee73591ffe08310e34
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/77860
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
This has the side effect of using the bots in the new GCE project as
well.
Bug: skia:7278
Change-Id: Ie14c93d6e3d12ccbfb679089bc50bca482fbf605
Reviewed-on: https://skia-review.googlesource.com/76261
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Bug: skia:
Change-Id: Iefef7d617e58de2b3be2e27aac075f822641e4ce
Reviewed-on: https://skia-review.googlesource.com/77641
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
I want to compare this with the IntelBayTrail and if the results are
similar, replace those bots.
No-Try: true
Change-Id: Ib5476fe91dc446182cd1b37e93fe17962dcf961a
Reviewed-on: https://skia-review.googlesource.com/76900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
For internal hardware, it tends not to work - they work at one
clock speed, despite advertising others.
Bug: skia:
NOTRY=true
Change-Id: I10bf0fc1ab4d60bfbc2eefcef5b42ceab9e3f435
Reviewed-on: https://skia-review.googlesource.com/76720
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Also drive-by cleanup of "Win8-MSVC-ShuttleB", none of which currently
exist.
No-Try: true
Change-Id: Ide28481939b7ec2a0733ab07673379c951123f5d
Reviewed-on: https://skia-review.googlesource.com/75361
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Bug: skia:
Change-Id: I36cb94877d513fc81c211b0e58b5c4be0451ac91
Reviewed-on: https://skia-review.googlesource.com/74601
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: I391cbc6cb2bf2ae88af0612964f4265788c8e771
Reviewed-on: https://skia-review.googlesource.com/74600
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
NOTRY=true
Change-Id: I1a1755dd03f2e6ebd8d9b2c9235cca8eb34f04ad
Reviewed-on: https://skia-review.googlesource.com/75280
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This also makes *sure* the CPU frequency we set the
device to actually "takes". Along the way, I learned
if scaling_max_freq is < the frequency we set, the
scaling_max_freq will be used instead, which was
happening to the PixelCs and AndroidOnes.
As a result, this may make those two Test- configs faster.
Bug: skia:
Change-Id: I10c98d37e296a19e1cf67bfe7269bb59cdd912d5
Reviewed-on: https://skia-review.googlesource.com/74360
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
These will be replaced by the Nexus 5x.
Bug: skia:7309
No-Try: true
Change-Id: I2a56a494203f2af41f16dcfd55ebe1ca28e9e939
Reviewed-on: https://skia-review.googlesource.com/73881
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Bug: skia:
Change-Id: I994f67c3043306d7fa612feb03f8fbe8d7bf4c91
Reviewed-on: https://skia-review.googlesource.com/73760
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:7305
Change-Id: Ifb270cba27daaef75d3930f990e19215a251ca28
Reviewed-on: https://skia-review.googlesource.com/71921
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This isn't used and has become a maintenance burden.
Change-Id: I5f3af8f91e5c4f073fe4ea30e0a7f1f61efeea47
Reviewed-on: https://skia-review.googlesource.com/70640
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I15b76d5da795ee01eb7e403721beebf5f67d1bc4
Reviewed-on: https://skia-review.googlesource.com/71920
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
These won't have the "Win" or "Win10" bits in them anymore.
Change-Id: I2917c4227efcac7c2169a111fdaf62fcd83ea94a
Reviewed-on: https://skia-review.googlesource.com/70800
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
- Replace build-time GDI support in all of Skia
with run-time GDI support only in DM.
- Make the GDI bots NativeFont bots paralelling
the other NativeFonts bots.
Change-Id: I424b20f6983d8a8ba8574650efefea2b8776bbe2
Reviewed-on: https://skia-review.googlesource.com/70721
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
readd [scaled_]tilemodes_npot to blacklist after it was removed last week
since it is failing randomly on bots.
Bug: skia:
Change-Id: Ieef97470c1ae4c960fa6efb7294e2ff203cc0bd6
Reviewed-on: https://skia-review.googlesource.com/70740
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
a.k.a. GM fontpocalypse
Change-Id: If834940574adea29b48f35abec61f0a1c9bd59d3
Reviewed-on: https://skia-review.googlesource.com/69881
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
The test takes so long that the bot times out.
Bug: skia:
Change-Id: I77e7b192a1df1f422e61f09a931b7576fa55fbde
Reviewed-on: https://skia-review.googlesource.com/68440
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Bug: skia:
Change-Id: I48e37d1449c14298d03eea9c07a9aee1af78b47a
Reviewed-on: https://skia-review.googlesource.com/67809
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
I'm going to be adding changes to bots matching this pattern, but want
the previous expectation files in first.
Bug: skia:
Change-Id: I61101a0ce7c66dde1e28dc307f8f7c5f66d6644e
Reviewed-on: https://skia-review.googlesource.com/67852
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
These are no different from other bots yet, except that they only run
8888 GMs and unit tests. They will in the future pass --nativeFonts
true, while other bots will pass --nativeFonts false, the effect of
which has not quite yet been pinned down.
Change-Id: I467852269856dda05330957bc357ef15a2c2a1eb
Reviewed-on: https://skia-review.googlesource.com/67769
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
This makes failing builds print all failures, not just the first.
Successful builds, the usual case, are unaffected.
Change-Id: I8dde21e913f6715e7760b298a87f51d1b40a8789
Reviewed-on: https://skia-review.googlesource.com/67803
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: I354c295ce04f5e478e88f724e0b17ce90496a4cc
Reviewed-on: https://skia-review.googlesource.com/65341
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
NOTRY=true
Change-Id: I500eae85ec334dc7121266ebd2f41dc526ec4695
Reviewed-on: https://skia-review.googlesource.com/66880
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Adding -O1 and reducing the shards to cut down on overhead
in post-production. This seems to save us a few minutes
(e.g. ~26 -> ~23 minutes).
The optimized code has about 600 fewer reachable lines of code
(according to the Coverage measurement), which is acceptable
given our tests run on -O1 or better.
Experiments (in this review) show that O3 is faster than O1,
but not significantly enough where we want to deviate from
our normal Debug bots:
Control: 73 minutes
-O1: 59 minutes
-O2: 60 minutes
-O3: 50 minutes
Bug: skia:
NOTRY=true
Change-Id: I33344c1cd2408373004d010e36ce27d6aa03deb2
Reviewed-on: https://skia-review.googlesource.com/65503
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This reverts commit 85e98387a3.
Reason for revert: brakes build
Original change's description:
> Add testcase for gbr config running on GTX1070 bots to test.py
>
> Bug: skia:
> Change-Id: I1f993100af712ce688dd21b5e510ffae4b587dce
> Reviewed-on: https://skia-review.googlesource.com/66155
> Commit-Queue: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
TBR=mtklein@chromium.org,mtklein@google.com,brianosman@google.com
Change-Id: I3abebe01bb0285377321ed150cca0c76e8636a39
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/66422
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
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).
Please review the expectation changes, and LGTM+CQ.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/47b67c426b1d7120803e09f570e1cca312b34249 Reland "bot_update recipe: Upload source manifest" (hinoka@google.com)
R=kjlubick@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I22d3c671c6d0e654be19661c8e0d9795f920dc56
Reviewed-on: https://skia-review.googlesource.com/66060
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ryan Tseng <hinoka@google.com>
Bug: skia:
Change-Id: I1f993100af712ce688dd21b5e510ffae4b587dce
Reviewed-on: https://skia-review.googlesource.com/66155
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: I98042ea6e7fe8b81e5f1cb38d8287a6cff394279
Reviewed-on: https://skia-review.googlesource.com/66151
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The 4444 image in all_bitmap_configs now draws slightly different before
and after serialization. (It's serialized as 8888.) Still looks fine.
Change-Id: I1396cf1550b6769a1734ed25d59bd5b1866dfacd
Reviewed-on: https://skia-review.googlesource.com/65960
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 5b9a037bf4.
Reason for revert:
I got confused in here somewhere and everything is drawing wrong.
Original change's description:
> gbr- has been brg- this whole time...
>
> Rewrite things to make that a little clearer.
>
> A red pixel ends up in channel 2, what would naively draw as blue
> without a rotation. A green pixel ends up in channel 0, which would
> naively draw as red without rotation. A blue pixel ends up in channel
> 1, which would naively draw as green without this rotation.
>
> So this transformation is:
>
> r -> b
> g -> r
> b -> g
>
> i.e. rgb_to_brg
>
> Change-Id: I12331ff2622194e34a44f421f656fbe4db5d3dca
> Reviewed-on: https://skia-review.googlesource.com/65521
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=mtklein@chromium.org,brianosman@google.com
Change-Id: Ib29800b242bf736b20d61375d3c437c8f4ffdce0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/65781
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Rewrite things to make that a little clearer.
A red pixel ends up in channel 2, what would naively draw as blue
without a rotation. A green pixel ends up in channel 0, which would
naively draw as red without rotation. A blue pixel ends up in channel
1, which would naively draw as green without this rotation.
So this transformation is:
r -> b
g -> r
b -> g
i.e. rgb_to_brg
Change-Id: I12331ff2622194e34a44f421f656fbe4db5d3dca
Reviewed-on: https://skia-review.googlesource.com/65521
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:7244
Change-Id: Ifacb60b9c61daa8e1d96837363cba807afdc9be4
Reviewed-on: https://skia-review.googlesource.com/65122
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Meanwhile, we also make the bot name more similar to the perf bot.
Bug: skia:
Change-Id: I8b0e6aa2d927aa4a0ce57606345589adb6e920b3
Reviewed-on: https://skia-review.googlesource.com/64082
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
The latest OS is Lollipop, and it was originally released November 2012.
The GPU is not in the top 26 according to UMA stats (I haven't collected
data for lower than 26). We test the same GPU with the
Chromebook_303C12, and bsalomon says "Personally, I'm OK with just
relying on ChromeOS for testing."
No-Try: true
Change-Id: Ib17033153faab9d99613e7d2d069524c9435f65e
Reviewed-on: https://skia-review.googlesource.com/64066
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Bug: skia:
Change-Id: I16243853adb7722c41bfa6872557c3378e0bb589
Reviewed-on: https://skia-review.googlesource.com/63642
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
Change-Id: I31c8a625e2b4ed30a8cf0f03035b311ca1c21f88
Reviewed-on: https://skia-review.googlesource.com/63060
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Now the calmbench bot has the same name schema as the build bots
and we're testing using Clang instead of GCC. In the future, we
may also import some configuration schemas from perf bots.
Bug: skia:
Change-Id: Idd9556cff36b749a6c9139d34f70ac50ca48fbba
Reviewed-on: https://skia-review.googlesource.com/62920
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Adds new runs that benchmark just a handful of skps with CCPR.
This will also be Pixel's small debut on skpbench.
Bug: skia:
Change-Id: I7e4c3aeaa083ffe29c275f1c021ee62d177b6172
Reviewed-on: https://skia-review.googlesource.com/62302
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
BUG=skia:7191
Change-Id: I9a7f03fb332dc31e053ae3b3569474a49869c7db
Reviewed-on: https://skia-review.googlesource.com/61364
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:
Change-Id: I28d28f514b46ad0c30109beba90ae8a1bd8fc4e3
Reviewed-on: https://skia-review.googlesource.com/59961
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
As \r doesn't work on bot output, the new output will be much more concise.
TBR: borenet@google.com
Bug: skia:
Change-Id: I190daeae230ea6e0c4bfebc53c6c5c1fd46c503a
Reviewed-on: https://skia-review.googlesource.com/60840
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
This would allow us to have more test coverage on specific scan converters
which may help us detect some wierd bugs such as crbug.com/774008
Bug: chromium:774008
Change-Id: I9213b11bb47ce48a6eff8da494e1b2699d386ae9
Reviewed-on: https://skia-review.googlesource.com/60540
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Bug: skia:
Change-Id: I869776e3d9d47b4a1a11089f729a0b17581eb9f7
Reviewed-on: https://skia-review.googlesource.com/57400
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
The first "sharding" technique we will try is just by test config
(e.g. 8888, gles, etc). Thus, for backwards compatibility,
the default "shard" is All, as in all configs
Bug: skia:
NOTRY=true
Change-Id: Ia02362477a5d97f8f74d688b5f0c4f45fc129375
Reviewed-on: https://skia-review.googlesource.com/59563
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Adds the flag and a disables caching on the CCPR bots.
Bug: skia:
Change-Id: Icb85e77f89634dda1d419dacac5b8a93340723f0
Reviewed-on: https://skia-review.googlesource.com/59740
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Bug: skia:
NOTRY=true
Change-Id: Ib630d352b6922280ef5772e6843f8f031baeffaf
Reviewed-on: https://skia-review.googlesource.com/59161
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:7160
NOTRY=true
Change-Id: I673d4655b91056954253f69fb4a25f1e190222fa
Reviewed-on: https://skia-review.googlesource.com/59380
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
They pull stuff of using scp, which does not perform well
if a directory does not exist.
Skpbench also needs to be updated to use new adb.
Bug: skia:
NOTRY=true
Change-Id: I1e9f2dbddaab05e1aeb4d71d97f1e6e4bfdd299a
Reviewed-on: https://skia-review.googlesource.com/59081
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
The newer adb acts more like cp when pulling. We used to
create the dm folder on the host machine before pulling.
This used to be fine,
/device/dm_out/dm.json -> /host/dm/dm.json
However, with the update, adb would do
/device/dm_out/dm.json -> /host/dm/dm_out/dm.json
This breaks the upload step. To make this transition
a smooth one, /usr/bin/adb on the RPI is staying the same
(for a while, at least) and /usr/bin/adb.1.0.35 is being added.
That way we can use the new adb on tests after this commit, but
when we backfill, we don't break because of the unexpected folder.
Bug: skia:
Change-Id: Icbed38594fca0e17af1f8d01d75c42ce03f710b9
Reviewed-on: https://skia-review.googlesource.com/58880
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
I'm hoping that recent fixes to timing logic will prevent these problems.
Bug: skia:6534
Change-Id: Ia735e91887164c7a4882d5d3dd67df8c6115bfe9
Reviewed-on: https://skia-review.googlesource.com/54660
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Adds it for Vulkan and non-Vulkan
Bug: skia:7080
NOTRY=true
Change-Id: I5c4b30b91b96ad6ce9694c42550c4e909de4ba41
Reviewed-on: https://skia-review.googlesource.com/57560
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
This reverts commit b6abb9b4e0.
Reason for revert: It doesn't make sense that this CL would affect the tests implicated in the perf regression in skia:7143, and the revert had no effect on the perf of those tests. Seems like the perf alert was either noise or due to a different CL.
Original change's description:
> Revert "Fix a couple float-cast-overflow in SkScan*."
>
> This reverts commit 3cd0bef0fd.
>
> Reason for revert: https://bugs.chromium.org/p/skia/issues/detail?id=7143
>
> Original change's description:
> > Fix a couple float-cast-overflow in SkScan*.
> >
> > Bug: skia:5060
> > Change-Id: I60a48993c77631aaad9354bb86b13204dc618bf4
> > Reviewed-on: https://skia-review.googlesource.com/47422
> > Commit-Queue: Ben Wagner <benjaminwagner@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
>
> TBR=benjaminwagner@google.com,reed@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: skia:7143
> Change-Id: I0f19720a7d8344789a375bbb6b9e28bf4f4e55ae
> Reviewed-on: https://skia-review.googlesource.com/57240
> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
TBR=benjaminwagner@google.com,reed@google.com
Change-Id: I29ac47d6665e2e52ee2a6500488dc407c8d2af1c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7143
Reviewed-on: https://skia-review.googlesource.com/57440
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This simply uploads the results of an LLVM coverage to GCS
for later ingestion/display.
Bug: skia:7080
Change-Id: I7dcfa2307a239734a614990aca899ea37129126b
Reviewed-on: https://skia-review.googlesource.com/53880
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
NUC6i7KYK with GTX960 is an experimental eGPU setup that will be
replaced with the NUC7i5BNK.
IntelHD4600 has been replaced with IntelHD4400.
Move remainder of *AbandonGpuContext jobs to QuadroP400.
No-Try: true
Change-Id: Ic81392ec162cb88500c9da7609471dbdc4a64f84
Reviewed-on: https://skia-review.googlesource.com/57320
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Also reverts 65e7063796 which disabled buffer mapping in GrResourceProvider::createPatternedIndexBuffer.
Bug: skia:7058
Change-Id: I6816abe53251e1cd8e92eae41b8cdbe45218a341
Reviewed-on: https://skia-review.googlesource.com/50100
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Perf numbers track closely with IntelIris540, although Perf numbers from
SurfacePro2017 are more noisy.
No-Try: true
Change-Id: I9dfefd6daf69644a1c0850453334876269cd7942
Reviewed-on: https://skia-review.googlesource.com/56540
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Bug: skia:7096
Change-Id: I536d81110c842da662b32a94a352a34a6854e3a9
Reviewed-on: https://skia-review.googlesource.com/55140
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
No-Try: true
Change-Id: Ie255d46ff50d13d25d045791c1c3066f06ab9243
Reviewed-on: https://skia-review.googlesource.com/53601
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
No-Try: true
Change-Id: I449c0fd435b233e9c9538c17295ef18348380658
Reviewed-on: https://skia-review.googlesource.com/53120
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Bug: skia:
Change-Id: I55641aa4bef5a7ac863e3aae3d2902ef408f0384
Reviewed-on: https://skia-review.googlesource.com/52121
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Change-Id: If3532bcb5bef5fad8c950d6844135ad3597d2674
Reviewed-on: https://skia-review.googlesource.com/51380
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This ensures we are doing apples-to-apples comparison across runs.
The Chrome-GPU pool has different machines with the same GPU, so it's
important to lock down to a specific CPU for perf testing.
No-Try: true
Change-Id: I66648c4ea58b835af0a63d36f4830b26d7c65c5f
Reviewed-on: https://skia-review.googlesource.com/50760
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Bug: skia:
Change-Id: Iee3a94e56d1c8992f844f2b67d0bb565dd896684
Reviewed-on: https://skia-review.googlesource.com/50262
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
We don't really care about report_signal_unsafe.
Our signal handlers all just dump out a stack trace and crash.
If they crash themselves due to signal unsafe code, no big deal.
(I've never seen that happen.)
Change-Id: Ibb90b2b323d88a56d64e6ea62b9c0924a4e41444
Reviewed-on: https://skia-review.googlesource.com/50120
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Explicitly disable it on PixelC. This is arbitrary, so we continue to
get coverage of the single-threaded code.
Bug: skia:
Change-Id: I0ac91f7ca58652933db452720f353068cf2d0f2d
Reviewed-on: https://skia-review.googlesource.com/50000
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Fix core.gni to use not use Assembler for none cpu.
Right now, there are no outputs because we aren't compiling
dm or nanobench. However, this still compiles the skia
library and creates two executables, so it's a good canary
for a real WASM build.
Additional note: the two executables in question don't draw
anything to the screen via GL, which is still not possible with
Skia+WASM.
Bug: skia:
Change-Id: I0d767467e94e40d01070e34223dd90e96f1c96f2
Reviewed-on: https://skia-review.googlesource.com/49540
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
This is the same behavior as SkScalarFloorToInt, SkScalarCeilToInt, and SkScalarRoundToInt.
Bug: skia:4632
Change-Id: Iec454e841b05c5b10f335b5b089718db56740323
Reviewed-on: https://skia-review.googlesource.com/47400
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
No API change.
Bug: skia:4632
Change-Id: Ic9cb9de7cce8aca43f0ce8066abcc44a0b04ca84
Reviewed-on: https://skia-review.googlesource.com/47681
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Bug: skia:4632
Change-Id: I0f8a7d7a11fc76fcb315c3f0183577c3f0958926
Reviewed-on: https://skia-review.googlesource.com/47421
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Bug: skia:
NOTRY=true
Change-Id: I2a774ca2533572eaf284101cd6ea11b816c1441a
Reviewed-on: https://skia-review.googlesource.com/47080
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: I86c4160e0c65c9f8459087e34eaf39907a76c9da
Reviewed-on: https://skia-review.googlesource.com/47182
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: I1a2442898c8eca8cf36d8e85d2acf1d048ebfb54
Reviewed-on: https://skia-review.googlesource.com/46849
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
But respect the passed-in bucket for verbose logs and JSON summary.
Bug: skia:
Change-Id: If57c16538802125c087b76991a0ca45b0a33beb2
Reviewed-on: https://skia-review.googlesource.com/46721
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Allows differentiation between internal bots in recipes.
Bug: skia:
Change-Id: I7130f2adc13dd01f7572856ea64c428a6adf56ba
Reviewed-on: https://skia-review.googlesource.com/46844
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:4632
No-Try: true
Change-Id: I85a0b23037d5885e5d762788d8bf5b7cc6fc19b2
Reviewed-on: https://skia-review.googlesource.com/45980
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Re-enable more verbose output across all bots.
There is no good reason why we shouldn't collect additional
information that helps triaging failure.
Some of the current output might have to be expanded down the road.
Bug: skia:
Change-Id: I5ff89a803f1e390bbd859756cba53a359d2801ba
Reviewed-on: https://skia-review.googlesource.com/45140
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>