'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 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>
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>
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>
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>
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>
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>
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>
- 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>
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:
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>
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>
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>
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>
Since we went to retrying the adb commands, the return value
got lost, which was used to read the SKP_VERSIOn, etc.
This fixes it.
Bug: skia:
NOTRY=true
Change-Id: Ifc61ec4cbb13a61c571b2fb89a9c0ed215f8fbd3
Reviewed-on: https://skia-review.googlesource.com/59441
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>
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 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>
Bug: skia:
NOTRY=true
Change-Id: Ib604bad8eda6ba4382b850f7c5f318fb0f114401
Reviewed-on: https://skia-review.googlesource.com/20051
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@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>