The experiment with using Goma to speed up Windows compiles was very
close to being successful, but at this point the ongoing maintenance
does not seem to be worth the 50-70 seconds saved.
Change-Id: Ie3900b9a681e448a3e47634efbab7695ebccad33
Reviewed-on: https://skia-review.googlesource.com/114363
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
No-Try: true
Change-Id: I119c7853299b6eef65f991b41cbb2afb0a35f431
Reviewed-on: https://skia-review.googlesource.com/113673
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Adds procdump_win asset.
Enable ProcDump for some of the jobs failing in skia:7177 as a test
case. If it has no ill effect, we can proceed with enabling it for all
Win bots (and remove "ProcDump" tag).
Bug: skia:7626, skia:7177
Change-Id: I50c67ecfca86fe0c6d91d5f970f81485cc9cfd0a
Reviewed-on: https://skia-review.googlesource.com/113265
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
- adds building the testlab driver (run_testlab) as a separate step
- adds gcloud isolate necessary to run testlab
- adds Testlab support and uploading a verified AKP to GCS (with
meta data attached).
Bug: skia:
Change-Id: I1bf265f46c99360eb3a9eb684886f93de48085fe
Reviewed-on: https://skia-review.googlesource.com/111603
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
Bug: skia:7646
Change-Id: Iddf55940230c99fea9d838a1b03a8c3bb476262e
Reviewed-on: https://skia-review.googlesource.com/109360
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:
Change-Id: I0415690911a52059eaaf7f32c81b7a4c66117d5b
Reviewed-on: https://skia-review.googlesource.com/109162
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: Ib0e9ddb621056ddce2422b53f312ec42d4d7aa3c
Reviewed-on: https://skia-review.googlesource.com/107880
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: I8154b9a0b2fcf76fa02af0efa6b57425c6f9ac31
Reviewed-on: https://skia-review.googlesource.com/101580
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
It should work on 32 and 64 bit android running M or newer.
Bug: skia:
Change-Id: I7e6d4000f4fee8f2704b84b7174174dd0e68d21c
Reviewed-on: https://skia-review.googlesource.com/93700
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
We do some of this already in skpbench.
Bug: skia:
Change-Id: Ia698466e83f9b476644c126747a2f89346361d13
Reviewed-on: https://skia-review.googlesource.com/93561
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This is a followup to https://skia-review.googlesource.com/c/skia/+/90343,
which causes task durations to increase due to copying over images, skps,
etc. on every run.
Bug: skia:7408
Change-Id: I42e829e287b7343e969159ac19c587a87ebe99e8
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/90942
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Add a job that doesn't allow fallback so we know when things aren't
working as expected.
Change-Id: If993976d6807635bde455c2091f8a1ba18c41e27
Reviewed-on: https://skia-review.googlesource.com/83700
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Change-Id: I26e75cf6cd865ec6c47b7766679177bfd30387da
Reviewed-on: https://skia-review.googlesource.com/82921
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>
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>
To enable, set skia_embed_resources=true in args.gn.
Also add *-EmbededResouces bots.
Change-Id: Ia69b26e926a3ad4676a4fa021894432ea2104538
Reviewed-on: https://skia-review.googlesource.com/82626
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Using full paths in skia.h causes "file not found" with Goma. All other
Builds seem fine without the path, so I changed find_headers.py to use
the basename.
Change-Id: Ib520e91a92ebffe36a736eb53f643d359f5bb2ce
Reviewed-on: https://skia-review.googlesource.com/79360
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@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>
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>
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>
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:
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>
These bots use https://clang.llvm.org/docs/SafeStack.html.
This separates the safe (constant size?) parts of the stack like return
address and some local variables apart from the unsafe over- and
underflow prone array uses. These go on the "unsafe stack".
In theory this makes sense on {Linux,Mac}x{Debug,Release},
but let's just start with Linux/Debug.
Change-Id: I9f5cbeb7081e7d9ac8e1298ca0d86880a6085cfa
Reviewed-on: https://skia-review.googlesource.com/62743
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
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>
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>
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>
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>
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>
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>
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>
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>
Use gcc-4.8 when compiling for Ubuntu14. Rename the CT tasks to make it
clear their child tasks run on Ubuntu14.
Move to Debian-9.1 bots created with the changes in
https://skia-review.googlesource.com/c/31281 and
https://skia-review.googlesource.com/c/31820
Change the cache dir used by the ct_skps recipe so that changing the
bot name doesn't invalidate the cache.
Bug: skia:6921
Bug: skia:6818
No-Try: true
Change-Id: Idaac8187427b5c2c7bffe66ad6674496b8cd0c0e
Reviewed-on: https://skia-review.googlesource.com/31242
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
BUG=skia:2679
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-x86_64-Release
Change-Id: I861366ae1340abcc67e87041904d08337b465bbe
Reviewed-on: https://skia-review.googlesource.com/28864
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:6896
Change-Id: If2ed083703e6300b9d2a86cfb298011bbf54e018
Reviewed-on: https://skia-review.googlesource.com/28180
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:6893
Change-Id: I54480ddd1ad1989661393500044f9164a99ce7b0
Reviewed-on: https://skia-review.googlesource.com/27700
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:6870
Change-Id: Idd9a27518c1123c0a729b4d07461047f5530aae3
Reviewed-on: https://skia-review.googlesource.com/24960
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Remove #defines that lived in gn_to_bp.py and
android_framework_defines.gni. These have been moved into a new file
in Android, SkUserConfigManual.h, in https://googleplex-android-review.git.corp.google.com/#/c/2519600/
Update gn_to_bp.py to include SkUserConfigManual.h, so it will still
result in using the same #defines.
Lately, we've found it difficult to guard changes behind a flag. e.g.
a change to drawing causes a CTS failure in Android, so we have to do
the following:
- put the change behind a flag, and add it to gn_to_bp.py or
android_framework_defines.gni
- generate new images on Android (by running CTS with external/skia
modified to not define the flag)
- create a CL in CTS that uses the new images
- land a CL in Skia that stops defining the flag
- when the Skia change lands, wait for the auto-roller to create a CL
that includes the change, stop the auto-roller, add the topic to the CTS
CL so the two can land at the same time
- land both Android changes (with TreeHugger)
- restart the Android auto-roller
With SkUserConfigManual.h (which lives in Android), the process will
be similar to Chromium:
- land a CL in Android's external/skia that defines a flag e.g.
SK_SUPPORT_LEGACY_FEATURE. Land without TreeHugger because it isn't used
in Skia and does not do anything
- land a change in Skia that changes behavior unless
SK_SUPPORT_LEGACY_FEATURE is defined. This will safely go through the
Android roll and not change any behavior for Android
- create two Android CLs - one in CTS to use the new images, and one in
external/skia to delete SK_SUPPORT_LEGACY_FEATURE. Set them to the same
topic and land them with TreeHugger
In the new process, there is no need to mess with the Android roll.
A downside to the new process is that we cannot test the android
framework defines without checking in to Android. But given how much
we've progressed in automating Android testing, this is fine.
Bug: b/63429612
Change-Id: Idfbaef2f4cae641a75fb6e7bf70428733a441336
Reviewed-on: https://skia-review.googlesource.com/22072
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
`example.py` is going away; examples folder can now hold multiple
example recipes.
R=borenet@google.com
Bug: skia:
Change-Id: Ib28910987342217bc52040d4d966444174ce27a3
Reviewed-on: https://skia-review.googlesource.com/18432
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>