Commit Graph

4640 Commits

Author SHA1 Message Date
Kevin Lubick
5fb37db69f [bazel] Use bazel to build task drivers
One very important, but agonizing to discover, change was
to go_repositories.bzl. Without it, we see cryptic errors like:
external/org_chromium_go_luci/cipd/api/cipd/v1/BUILD.bazel:22:17: no such package '@org_chromium_go_luci//go.chromium.org/luci/cipd/api/cipd/v1': BUILD file not found in directory 'go.chromium.org/luci/cipd/api/cipd/v1' of external repository @org_chromium_go_luci. Add a BUILD file to a directory to mark it as a package. and referenced by '@org_chromium_go_luci//cipd/api/cipd/v1:api_go_proto'

The rest of these changes are very similar to
https://skia-review.googlesource.com/c/buildbot/+/514074
which also has justification for the use of task drivers,
even in a Bazel-driven world.

All the BUILD.bazel files under infra/bots/task_drivers were
generated by Gazelle.

Note that the infra/bots/BUILD.bazel can happily build and
package up the task drivers from the infra repo. The old
build_task_drivers tasks did this too, because we have some
task drivers that are used in both repos.

Change-Id: I13c46c62bc7a6a4bfe7935b28efbfb34caabb6f2
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515296
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-03 16:12:18 +00:00
John Stiles
e11a14d17f Add workaround for LLVM crash in macOS 12 on Intel or M1.
The `break_loop` test causes LLVM to get confused and crash when
compiled on some GPUs. The crash goes away if we pass a literal 5
instead of a 5 that is computed at runtime. This also results in a
simpler test for SkVM, for better or worse, but we still have
coverage for dynamic loop exits in other tests.

LLVM crash: https://paste.googleplex.com/4718583155261440
Dangerous shader: https://paste.googleplex.com/4776089520963584

Change-Id: Ic6cbd55a36d2de58e5dd3459d4dfd74acdbc9f91
Bug: skia:13005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514538
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-02 15:20:10 +00:00
John Stiles
7bc2701ae8 Disable SkSLUnaryPositiveNegative test on Mali 400 (Android One).
This GPU has lots of basic problems with matrices in GLSL, so this is
not entirely unexpected.

Change-Id: I21f663f7637f10320f7ce8a2a66e5e621bbca621
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514776
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-02 15:10:18 +00:00
John Stiles
54b5ad00c5 Add bots for Metal on M1 Macs with macOS 12.
The LoopInt test fails in Metal on many devices with macOS 12, so it's
currently disabled.

Change-Id: I575b662ae543187d7062e0fba37afa6e80663fc5
Bug: skia:13005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514576
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-02 00:32:15 +00:00
Jim Van Verth
38de60ea95 Disable GrMeshTests on Intel Iris Plus
Bug: skia:7603
Change-Id: I2d0406b544d03efbd5caa165ecf2f099d8d73881
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514217
Reviewed-by: Erik Rose <erikrose@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-01 20:05:41 +00:00
Erik Rose
c396dd16ba [infra] Rename IrisPlus jobs so they don't contain commas.
That was making Gerrit unable to invoke the jobs; the regex for valid
jobs doesn't contain comma.

Change-Id: I9b8a42ab1d5b8ac204895388844bde88a604491f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514356
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-03-01 19:02:17 +00:00
Kevin Lubick
4a826a9de5 [infra] Remove failing skpbench jobs
These have been failing for 9+ months

Change-Id: I9cc15298ee0ea1f2f1070affeeb5392ced376793
Bug: skia:12268
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514276
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-01 17:58:25 +00:00
Kevin Lubick
acab911351 [bazel] Make use of test_on_env to spin up server for gms
In order to extract the PNG files produced by our CanvasKit gms,
we need our JS tests to POST them to a server which can write to
disk. The easiest way to do this is to use the test_on_env
rule defined in the Skia Infra repo for exactly this purpose.

This required https://skia-review.googlesource.com/c/buildbot/+/510717
to be able to configure the binary correctly and
https://skia-review.googlesource.com/c/buildbot/+/511862, for nicer
debugging so the skia-infra dep was updated via the following commands:
$ go get go.skia.org/infra@d8a552a29e
$ go mod download
$ make -C infra/bots train
$ make -C bazel gazelle_update_repo
This caused many automated changes to infra/bots/tasks.json

The flow is:
1. User types bazelisk test :hello_world_test_with_env
2. The test_on_env rule starts gold_test_env and waits
   for the file defined in $ENV_READY_FILE to be created.
3. gold_test_env starts a web server on a random port. It
   writes this port number to $ENV_DIR/port. Then, it
   creates $ENV_READY_FILE to signal ready.
4. test_on_env sees the ready file and then starts the
   karma_test rule. (Reminder: this is a bash script
   which starts karma using the Bazel-bundled chromium).
5. The karma_test rule runs the karma.bazel.js file (which
   has been injected with some JS code to fill in Bazel
   paths and settings) using Bazel-bundled node. This reads
   in the port file and sets up a Karma proxy to redirect
   /gold_rpc/report to http://localhost:PORT/report
6. The JS tests run via Karma (and do assertions via Jasmine).
   Some tests, the gms, make POST requests to the proxy.
7. gold_test_env gets these POST requests writes the images
   to a special Bazel folder on disk as defined by
   $TEST_UNDECLARED_OUTPUTS_DIR.
8. test_on_env identifies that the tests finish (because the
   karma_test script returns 0). It sends SIGINT to gold_test_env.
9. gold_test_env stops the webserver. The special Bazel folder
   will zip up anything inside it and make it available for
   future rules (e.g. a rule that will upload to Gold via goldctl).

Suggested Review Order:
 - bazel/karma_test.bzl to see the test_on_env rule bundled into
   the karma_test macro. I chose to put it there because it might
   be confusing to have to define both a karma_test and test_on_env
   rule in the same package but not be able to call one because it
   will fail to talk to the server.
 - gold_test_env.go to see how the appropriate files are written
   to signal the environment is ready and the handlers are set up.
 - karma.bazel.js to see how we make our own proxy given the
   port from the env binary. The fact that we could not create
   our own proxy with the existing karma_test rule was why the
   chain ending in https://skia-review.googlesource.com/c/skia/+/508797
   had to be abandoned.
 - tests/*.js to see how the environment is probed via /healthz
   and then used to make POST requests with data.
 - Everything else.

Change-Id: I32a90def41796ca94cf187d640cfff8e262f85f6
BUG: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/510737
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-02-28 14:05:54 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
6a7383e3dd Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I2ad4ac3288294eba23ab2c96655509590a4c8fb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/513497
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-02-27 08:18:41 +00:00
Arman Uguray
9c30ad1f72 [sksl][tests] Restore SKSL_TEST_CPU_ES3 CPU-only behavior
The SKSL_TEST_CPU_ES3 has been misinterpreted to mean that the tests
should run on "SkVM and OpenGL" while it was originally meant for tests
that were explicitly disabled on GPU backends.

* This macro is now called "SKSL_TEST_CPU_NO_STRICT_ES2" and the comments
reflect the fact that the tests are meant for CPU-only.

* Removed the infra bot exceptions for the matrix constructor tests as
they are now restricted to run only on CPU.

Bug: skia:12970
Change-Id: I46dcec51ef6998f6a8a7b4610c39560da1e59057
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512578
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-02-24 22:32:12 +00:00
Leandro Lovisolo
efdc2c5b87 gen_tasks_logic.go: Update Win10 tasks's "os" dimension to "Windows-10-19044".
I've updated almost all Win10 Skolo machines to 19044. https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=os&d=asc&f=os%3AWindows&f=os%3AWindows-10&f=pool%3ASkia&f=zone%3Aus-skolo&s=os.

This CL should get the Angle roller unstuck, and any other tasks that currently cannot be scheduled due to lack of capacity.

Context: Some Win10 Skolo machines self-updated from Windows-10-19041 to Windows-10-19043, which prevented some tasks from running due to lack of capacity (the "os" dimension of those tasks is currently "Windows-10-19041"). The solution I went with is to update all those machines to the latest Windows 10 version, then update the "os" dimension of Win10 tasks to match that OS version.

Change-Id: I94dfeb68f04bdddeff29387f2c2bc7049464e543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509727
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-02-24 01:54:56 +00:00
Kevin Lubick
6d26915ceb [infra] Remove windows job from CQ due to capacity issues
Change-Id: I51d3f94bcb483e6e3de6f54a2e10683b0ea6d3d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512162
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Erik Rose <erikrose@google.com>
2022-02-23 18:39:47 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
3d1667b349 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Ib875341dc8d79dde40e430386c5a86216b9b86a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/511017
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-02-20 08:13:14 +00:00
Erik Rose
e6fba0a50b [infra] Stop overspecifying the version of 10.14.
There are no more 10.14.3 bots in the farm and haven't been for some
time. This made all 10.14 tasks fail to run.

All we have now is 10.14.6, so we can remove the first if clause.

The second talks about an OS key that isn't even in the hash anymore, so
it can go away too.
Change-Id: I53cd54c9520b8a10f72de8e413f023027cdf8088
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509728
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-02-17 00:50:45 +00:00
Erik Rose
d714e1ebe1 [infra] Remove job mistakenly made for nonexistent OS-12 Skolo Minis.
Back in 47045c9e06 I had meant to "Add a
Debug-All-NativeFonts CPU job for all OS versions on the new Mac Mini 7.1s."
Well, none of those is running 12.

Change-Id: I9dd13ce33c9a4004faf4da5f53d25c5ce5d8ec04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509718
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-02-16 16:39:41 +00:00
Leandro Lovisolo
34e3b35eb4 [codesize] Define more CodeSize tasks for testing purposes (both for CQ and waterfall).
Bug: skia:12151
Change-Id: I0ab5c8d6e48c8f90d825c0a8636d60571b3db708
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509504
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-15 23:42:43 +00:00
Kevin Lubick
c13cd6479d Reland "Build CanvasKit using GN/Ninja"
This is a reland of ecac712bec

Changes (best viewed comparing PS1 to latest)
 - Use emsdk 3.1.3 which includes important bug fixes
 - Remove unnecessary steps in compile.sh
 - Fix use of various gn args.
 - Avoid conflicts with Flutter's GN symbols
 - Add/update docs
 - Make activate-emsdk script compatible with our infra.

Original change's description:
> Build CanvasKit using GN/Ninja
>
> Build with
>
> ./bin/gn gen out/wasm_debug '--args=target_cpu="wasm"'
>
> or
>
> ./bin/gn gen out/wasm_release '--args=target_cpu="wasm" is_debug=false'
>
> Change-Id: Ib74586bf8397d57064a3899eaa6da76f9bce9049
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502036
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I601712a8953c2799fa029e782e097905b95e6b59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507717
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-15 16:31:10 +00:00
Brian Osman
1bd59cf10b Remove g8 config from DM/FM. Switch CPU bots to test r8 instead.
Change-Id: I1bef9f9c8db0147d8cfb60354aa519cc3ca61b43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507319
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-15 15:46:10 +00:00
Erik Rose
b493da459e [infra] Add Mac 12.x CPU NativeFonts_ASAN job.
Change-Id: Ifcd6e9ced293d51b5c75849ec4a6a9899b2a0459
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506780
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-02-14 20:47:44 +00:00
Erik Rose
046c0cf8a4 [infra] Add a Debug-All-NativeFonts GPU job on 10.15
...since the other Debug-All-NativeFonts GPU job is on a different GPU
and CPU ISA.

Add an "i5" extraConfig option so we can distinguish between the 2
differently-CPU'd MacMini7,1s.

Change-Id: I609d5361c313a005d888ca7a847375cad78dec01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506778
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-02-14 20:47:44 +00:00
Erik Rose
0ecfde718c [infra] Add a Debug-All-NativeFonts GPU job on Mac 12.x
...since we have so many of those machines (which were recently racked).

Change-Id: I61baa5d7b5140633d707411ab3a7a9ecc376b042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506777
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-02-14 20:47:44 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
a63d89740c Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I6bab3d99bab48eff5a1124be67556a14be038d37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/508256
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-02-13 08:26:41 +00:00
Leandro Lovisolo
b7eaeadf3f [codesize] Add CodeSize-dm-Debian10-Clang-x86_64-Release task.
This CL adds the task driver and plumbing necessary to run CI tasks that upload build statistics to https://codesize.skia.org.

For now, a single CodeSize-dm-Debian10-Clang-x86_64-Release task is defined, which as the name suggests:

- Depends on Build-Debian10-Clang-x86_64-Release.
- Takes the "dm" binary built by the aforementioned job.
- Runs Bloaty against said binary.
- Uploads the Bloaty output, along with a JSON file with metadata, to the GCS bucket where https://codesize.skia.org gets its data from.

If one wishes to upload codesize statistics for another binary, the steps are as follows:

- Identify the target binary, for example "fm".
- Identify a compile task that builds said binary with the desired settings, for example "Build-Debian10-Clang-x86_64-Debug".
- Add a new job in //infra/bots/jobs.json named "CodeSize-<binary>-<compile task>", where <compile task> is the name of the compile task without the "Build-" prefix, for example "CodeSize-fm-Debian10-Clang-x86_64-Debug".
- Run "make train" from the //infra/bots directory.

Eventually the codesize.skia.org webserver will automatically pick up the output of any such CodeSize-* task and show it in the UI, with no additional steps needed.

One caveat is that the binary file name, and therefore the "<binary>" part of the task name, cannot contain dashes. This is due to how //infra/bots/gen_tasks_logic.go works. See comments in said Go file for ideas on how to work around this if we ever need to.

Bug: skia:12151
Change-Id: If406944ca7660c4dd15c8e6b8f34e48c65cbbe2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502788
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
2022-02-11 22:05:19 +00:00
Brian Osman
a7a2324f14 Reland "Add kR8_unorm_SkColorType"
This is a reland of 3225c8cc46

Original change's description:
> Add kR8_unorm_SkColorType
>
> Change-Id: I97b5bc7f90715664f233ca7b7c41c0ecbfc29ac4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505679
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Change-Id: I73fa17625d57e0e58da1b70e2e59ba200383cfe7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506460
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-10 18:00:19 +00:00
Erik Rose
21cd6ff6a9 [infra] Make jobs for new Intel MacBook Pros
...based on conversation with jvanverth@ on 2022-02-04 in Skia GChat.
Change-Id: I463737e33e87f2052326f6231781a801ad5c320c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506877
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-02-10 17:26:47 +00:00
Kevin Lubick
7170ab66a7 [infra] Remove old error message
Change-Id: I1bc0dbaacb8268765c6e16c21f89b038b4a0b853
BUG: skia:12923
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506461
Reviewed-by: Herb Derby <herb@google.com>
2022-02-09 19:40:46 +00:00
Brian Osman
0c7f1d9919 Revert "Add kR8_unorm_SkColorType"
This reverts commit 3225c8cc46.

Reason for revert: Client code needs to handle the new enum value.

Original change's description:
> Add kR8_unorm_SkColorType
>
> Change-Id: I97b5bc7f90715664f233ca7b7c41c0ecbfc29ac4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505679
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Change-Id: I1174f533600827e29131198c10c243d9cf1300ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506457
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-02-09 18:46:11 +00:00
Brian Osman
3225c8cc46 Add kR8_unorm_SkColorType
Change-Id: I97b5bc7f90715664f233ca7b7c41c0ecbfc29ac4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505679
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-09 17:02:57 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
d41771865b Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Idbeb0632c137e5a094945415128c8b0f7534b2c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504916
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-02-06 08:28:40 +00:00
John Stiles
9c63e63771 Add missing intrinsic tests for abs/max/min(genIType), clamp(genType)
GPUs that failed continued to fail when I put in error bars like
`distance(a, b) <= 0.001`, so they're just disabled entirely now.
Presumably their results are very busted.

Change-Id: I0f1b80f661563a20630740f8cfb6ef69f2a47934
Bug: skia:11209, skia:12858
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503817
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-02-04 14:42:17 +00:00
Kevin Lubick
cedcaeed01 Reland "[pathkit] Reorganize to be more like CanvasKit"
This is a reland of e138730000

I fixed the tryjobs to move the compiled files into the right
location.

Original change's description:
> [pathkit] Reorganize to be more like CanvasKit
>
> Change-Id: I64226b57161f86277e0635592c2c11442888335a
> Bug: skia:8216
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502817
> Reviewed-by: Nathaniel Nifong <nifong@google.com>

Bug: skia:8216
Change-Id: I535f906b43816d3143e95ff9350ba20b998d817d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503826
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2022-02-04 13:10:43 +00:00
Erik Rose
47045c9e06 [infra] Add a Debug-All-NativeFonts CPU job for all OS versions on the new Mac Mini 7.1s.
These Minis have a new CPU (I5-4278U) we've never cared about before, so
add that too. (We had some other Minis of the same model in the Golo,
but we didn't care about their CPUs because we were running only GPU
jobs on them.)

If you want to see a good diff of those, use FileMerge or something that
uses a similar algorithm; git makes a total hash of it.

Change-Id: Id7c4f6bc06f83d2ed4a0034e9174b9e69d3d15b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/495424
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-02-03 21:34:49 +00:00
Kevin Lubick
49df61f638 Reland "[fuzzer] Remove GL from (now-Vulkan) build"
This is a reland of 805acda3f3

It fixes the #if SK_GL which was causing the Android roll
to fail.

This disables unit tests on Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-TSAN_Vulkan
which were consistently crashing with OOM.

Original change's description:
> [fuzzer] Remove GL from (now-Vulkan) build
>
> The fuzzer runs against the Vulkan version of Swiftshader.
> There are no libGL.so (etc) on the fuzz runtime, so we
> want to avoid linking against those.
>
> The GL code that is #ifdef'd out is still necessary to
> avoid timeouts on TSAN with our NVIDIA jobs.
> https://skia-review.googlesource.com/c/skia/+/502638
>
> Procedure for testing this locally (and iterating):
>   1. In oss-fuzz checkout, run
>      `python infra/helper.py shell skia`
>      to pull up local interactive version of Docker
>      fuzzer build image.
>   2. Run `compile` in fuzzer shell. Stop after
>      the swiftshader compiles and is copied into /out
>      with Ctrl + C.
>   3. Comment out the swiftshader compilation part [1]
>      (no need to re-do this when modifying Skia code).
>      `apt-get install nano -y`
>      `nano ../build.sh`
>   4. Make change to Skia repo using normal methods.
>   5. Run the following in the Skia repo
>      `git diff origin main > foo.patch`
>      Copy the patch into the Docker shell using Ctrl+C
>      and nano.
>   6. Apply the patch inside the Docker shell
>      `git apply foo.patch`
>      and re-compile (which should skip right to
>      building the fuzzer libs)
>      `compile`
>   7. Repeat 4-7 or make small changes directly in
>      the Docker shell via nano.
>   8. When compilation and link succeeds, run
>      `ldd /out/api_mock_gpu_canvas`
>      to verify GL and friends were not dynamically linked.
>
> [1] https://github.com/google/oss-fuzz/pull/7214/files#diff-76f13875e33875cdd372f1f0933206be599cd87952f1bd1eaa57ca928ee9e3e1R49-R53
>
> Change-Id: Idf569820527c1304b0e5a68fd36295be89dfa2a0
> Bug: oss-fuzz:44132
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503016
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

Bug: oss-fuzz:44132, skia:12900
Change-Id: Ia2eff9403b0035e7f86098f296d7d9b1bbfd4876
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503716
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-02-03 18:07:47 +00:00
Kevin Lubick
b27d2a6c2e [infra] Improve documentation of skip in dm_flags
I have trouble remembering how to interpret the skip
strings, so I documented it more and required the use of
four named arguments. Regex helped transform the old calls
into the new ones.

Change-Id: I2b970053b95b9a4d3d90a718b5790b0b25ce8dae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503736
Reviewed-by: Eric Boren <borenet@google.com>
2022-02-03 15:23:20 +00:00
Leon Scroggins
1351a5954f Revert "[fuzzer] Remove GL from (now-Vulkan) build"
This reverts commit 805acda3f3.

Reason for revert: Looks to be breaking the Android roll. See https://android-build.googleplex.com/builds/pending/P29733268/aosp_bramble-userdebug/latest/view/logs/build_error.log

Original change's description:
> [fuzzer] Remove GL from (now-Vulkan) build
>
> The fuzzer runs against the Vulkan version of Swiftshader.
> There are no libGL.so (etc) on the fuzz runtime, so we
> want to avoid linking against those.
>
> The GL code that is #ifdef'd out is still necessary to
> avoid timeouts on TSAN with our NVIDIA jobs.
> https://skia-review.googlesource.com/c/skia/+/502638
>
> Procedure for testing this locally (and iterating):
>   1. In oss-fuzz checkout, run
>      `python infra/helper.py shell skia`
>      to pull up local interactive version of Docker
>      fuzzer build image.
>   2. Run `compile` in fuzzer shell. Stop after
>      the swiftshader compiles and is copied into /out
>      with Ctrl + C.
>   3. Comment out the swiftshader compilation part [1]
>      (no need to re-do this when modifying Skia code).
>      `apt-get install nano -y`
>      `nano ../build.sh`
>   4. Make change to Skia repo using normal methods.
>   5. Run the following in the Skia repo
>      `git diff origin main > foo.patch`
>      Copy the patch into the Docker shell using Ctrl+C
>      and nano.
>   6. Apply the patch inside the Docker shell
>      `git apply foo.patch`
>      and re-compile (which should skip right to
>      building the fuzzer libs)
>      `compile`
>   7. Repeat 4-7 or make small changes directly in
>      the Docker shell via nano.
>   8. When compilation and link succeeds, run
>      `ldd /out/api_mock_gpu_canvas`
>      to verify GL and friends were not dynamically linked.
>
> [1] https://github.com/google/oss-fuzz/pull/7214/files#diff-76f13875e33875cdd372f1f0933206be599cd87952f1bd1eaa57ca928ee9e3e1R49-R53
>
> Change-Id: Idf569820527c1304b0e5a68fd36295be89dfa2a0
> Bug: oss-fuzz:44132
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503016
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

Bug: oss-fuzz:44132
Change-Id: I3832417c60ff425572717d37dc9609419922b18e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503351
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-02-03 13:10:09 +00:00
John Stiles
a3b11365b4 Update RecursiveComparison tests to run on GPU.
These tests are not guaranteed to pass in ES2 (as ES2 specifically does
not require NaN to be implemented), so they are now run in GPU+ES3 and
on the CPU.

Change-Id: Ica78e15a06b3b00b651c5fabd0decf751853a83f
Bug: skia:12858
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501238
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-02-02 19:39:00 +00:00
Kevin Lubick
805acda3f3 [fuzzer] Remove GL from (now-Vulkan) build
The fuzzer runs against the Vulkan version of Swiftshader.
There are no libGL.so (etc) on the fuzz runtime, so we
want to avoid linking against those.

The GL code that is #ifdef'd out is still necessary to
avoid timeouts on TSAN with our NVIDIA jobs.
https://skia-review.googlesource.com/c/skia/+/502638

Procedure for testing this locally (and iterating):
  1. In oss-fuzz checkout, run
     `python infra/helper.py shell skia`
     to pull up local interactive version of Docker
     fuzzer build image.
  2. Run `compile` in fuzzer shell. Stop after
     the swiftshader compiles and is copied into /out
     with Ctrl + C.
  3. Comment out the swiftshader compilation part [1]
     (no need to re-do this when modifying Skia code).
     `apt-get install nano -y`
     `nano ../build.sh`
  4. Make change to Skia repo using normal methods.
  5. Run the following in the Skia repo
     `git diff origin main > foo.patch`
     Copy the patch into the Docker shell using Ctrl+C
     and nano.
  6. Apply the patch inside the Docker shell
     `git apply foo.patch`
     and re-compile (which should skip right to
     building the fuzzer libs)
     `compile`
  7. Repeat 4-7 or make small changes directly in
     the Docker shell via nano.
  8. When compilation and link succeeds, run
     `ldd /out/api_mock_gpu_canvas`
     to verify GL and friends were not dynamically linked.

[1] https://github.com/google/oss-fuzz/pull/7214/files#diff-76f13875e33875cdd372f1f0933206be599cd87952f1bd1eaa57ca928ee9e3e1R49-R53

Change-Id: Idf569820527c1304b0e5a68fd36295be89dfa2a0
Bug: oss-fuzz:44132
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503016
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-02 15:43:47 +00:00
Joe Gregorio
e035f6a071 Add Pixel 6 phones to the tree.
Change-Id: Ic48bc4f7dbf4ea63cc5618663e2437e6ff9cfe9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500439
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-02-01 14:38:10 +00:00
Kevin Lubick
102dbf9c43 [canvaskit] Disable dynamic execution
This required an update to emscripten, due to there being
a few bug fixes regarding the non-dynamic code and the
Closure compiler/minifier.

Change-Id: Icc922bd98cdd52a6923a9367da3747dac2b897b3
Bug: skia:12795
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492916
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2022-02-01 13:15:22 +00:00
John Stiles
0f6baf469d Update CommaSideEffects test to run on GPU.
Change-Id: Ia218fb2249abd479db9d27527b965fd0b8ad3367
Bug: skia:12858
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501276
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-01-31 21:35:13 +00:00
John Stiles
afafd01155 Increase iOS deployment target to 11.0.
This should give us access to newer system headers. We are upgrading to
C++17, and in iOS 9, the <optional> header is buried in
<experimental/optional>.

Change-Id: I3e4d4861ddf06c6e02939f1c97857d9617284428
Bug: skia:12882
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502305
Reviewed-by: Erik Rose <erikrose@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-31 21:33:59 +00:00
John Stiles
c3d8062555 Fix up SkSL test on Wembley.
Test "InlinerHonorsGLSLOutParamSemantics" was failing on Wembley devices
and is now disabled on that GPU.

Also, it turns out that the inliner has ignored functions with out
params for a long time now, but our test names haven't been updated to
account for this. So, did some additional cleanup:
- "InlinerHonorsGLSLOutParamSemantics" (the test in question) has been
  moved to shared/ and renamed to "OutParamsAreDistinct."
- Removed test "OutParamsNoInline" as it is functionally the same as
  "OutParams".

Change-Id: I1431ed197b9216cb482eee4f5e4eb2579a5303f7
Bug: skia:12858
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502303
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-01-31 21:17:40 +00:00
John Stiles
a6489dbb30 Update additional OutParams tests to run on the GPU.
Change-Id: If0ecc3c1080b8e44f17dbb34ff6cc1d66794ae0b
Bug: skia:11052, skia:11919, skia:12858
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501843
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-01-31 16:15:33 +00:00
John Stiles
15fd5e99f4 Update out-param semantics in SPIR-V.
Removed a special case from `writeFunctionCallArgument` which avoided
using a scratch variable for out params; now we always use the scratch
variable and copy it back to the original variable at the end.

Change-Id: I0e446a3fde6d19554943384210bd911f6f9c8cfa
Bug: skia:11052, skia:11919, skia:12858
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501836
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-31 16:07:37 +00:00
Kevin Lubick
e5a9059acf [infra] Update chromebook toolchain to support c++17
My hope is that with Bazel, we will be able to remove
this CIPD package in favor of a properly maintained/created
toolchain.

Change-Id: I6a7b5013da22395511d828bee857777fbe0bcd8c
Bug: skia:12878
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502289
Reviewed-by: John Stiles <johnstiles@google.com>
2022-01-31 15:46:31 +00:00
Kevin Lubick
1fad4c0080 [infra] Remove dead recipe code re: Chromebooks+Docker
Change-Id: I10156dd71fe7b96f42c76167cb7de8fa140c9c31
Bug: skia:12878
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502279
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-01-31 15:12:21 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
169dc2550d Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I6e8d5bda9f8d9ba6ad4bf5b32cf4013344c363b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502088
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-01-30 08:19:10 +00:00
John Stiles
78d303fd21 Disable VectorScalarMath test on more GPUs.
Change-Id: I077e504be5aa0aaca615a83ac0b984ea9f651e6e
Bug: skia:12858
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501478
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-27 23:29:28 +00:00
John Stiles
56d9da8788 Disable SkSLVectorScalarMath_GPU on Intel Iris + ANGLE.
Change-Id: I721a6809fdd29b3a45560bb1245e2782f8b227bb
Bug: skia:11919
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501376
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-27 20:51:05 +00:00
Joe Gregorio
83859e27c3 Add JioNext Debug bot.
Change-Id: Idfbe161429409d2eece7deec9ba6ba3f2b713009
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/488116
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-01-27 20:00:42 +00:00