After discussing with bsalomon, we think QuadroP400 gives us good enough
coverage for NVIDIA Pascal.
No-Try: true
Change-Id: If50a80d872ae9dc2c5987b3e31804a8e16325888
Reviewed-on: https://skia-review.googlesource.com/150908
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
See https://bugs.chromium.org/p/chromium/issues/detail?id=784662 for
more context. We need to distinguish between existing bots and the new
bots in order to have consistent performance measurements.
This is step 2 of 3:
1. Add rack:1 dimension to bots.cfg for current Skia QuadroP400 bots.
2. Add rack:1 dimension to our tasks to ensure they only run on the
current bots.
3. Add build{330..335}-a9 to bots.cfg with rack:2 dimension.
Bug: chromium:784662
Change-Id: I1e5ff0aa0ebd69e00f4933ca50eef6cef520bc66
Reviewed-on: https://skia-review.googlesource.com/150911
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Change-Id: Ifc0b0ad39d9a35625691b3fb12e6e6c65166d760
Reviewed-on: https://skia-review.googlesource.com/150903
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This adds 2 docker containers (based on the ones used for PathKit
added in https://skia-review.googlesource.com/c/skia/+/147042)
which bundle Chrome and puppeteer to allow the lottiecap.js
to be run anywhere.
This adds a recipe (test_lottie_web.py) to drive the docker
container and do a little bit of set-up (and a few docs/bug
fixes discovered in the test_pathkit.py that it was based on).
Additionally, this modifies lottiecap.js to support POSTing
output to a running go server (again, the same as PathKit)
which has the image data hashed and the metadata added to
a large JSON output.
This re-works driver.html to avoid re-loading the JSON object
25 times. The performance boost is important because, right now,
the lottie files are processed individually.
In a future CL, I want to address the two TODOs in
lottie-web-aggregator.go
Bug: skia:8108
Change-Id: I100c9ce23dcc5033a27287211cbf0db898960da9
Reviewed-on: https://skia-review.googlesource.com/149282
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
- This bot didn't start failing the non-ERA version that was added
yesterday, so I suspect it's going to pass all versions.
- Also, the CCPR Pixel bots are continuing to fail, but it's not clear
if the non-ERA version is passing, so label the failures to find out.
Bug: skia:
Change-Id: Ib5fcb3cf03065453fe31c2a4ac8a9f2fd5bdeaf8
Reviewed-on: https://skia-review.googlesource.com/149982
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:6653
Change-Id: I034c8183c5550914d155acf842a7a73c6f1b5d15
Reviewed-on: https://skia-review.googlesource.com/149680
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This will help us distinguish between "rendered by skottie",
"rendered by lottie-web", etc.
Bug: skia:8108
Change-Id: I48b489adf8f8b7f950df397e5e94c1103dc4d306
Reviewed-on: https://skia-review.googlesource.com/149237
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:
Change-Id: Ib3616e1504175b7862ad0a78837cc8eca7a8deb9
Reviewed-on: https://skia-review.googlesource.com/149227
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Add "PowerVR" to GT7600, GT7800, and GX6450 (iOS jobs).
Add model number G6430 to NexusPlayer.
Change-Id: Id0beb9e25ac793378fcd353836a43b2ea9db1aef
Reviewed-on: https://skia-review.googlesource.com/148668
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
The Braswell (IntelHD405) bots are way over-capacity. The Perf Debug
jobs are responsible for about half of the bot time.
We don't upload any data from Perf Debug jobs, so the only point of
running them is to catch asserts. It seems unlikely that the Braswell
bots would be the only ones to assert, since we also have Sandy Bridge,
Bay Trail, and Kaby Lake bots running the same configs.
No-Try: true
Change-Id: Id71086aade9f143d76fe80c03e41f7f9b52e911b
Reviewed-on: https://skia-review.googlesource.com/148675
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This is a followup to
https://skia-review.googlesource.com/c/skia/+/145431
Also clean up old job names in recipe expectations.
No-Try: true
Change-Id: Ic63a64a98fb39076680941bb2415b7bb64415179
Reviewed-on: https://skia-review.googlesource.com/148671
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Consolidates the karma files into one for docker/asmjs/wasm and all
combinations.
The asm.js build seems to have some small imprecisions that we didn't
see as much as with WASM, probably due to JS limitations/differences
to c++'s floats.
To address these, I've marked some (5) tests in PathOps* as flaky
because they fail on Release, Debug or Test versions of the asm.js build.
Other then that, asm.js seems basically identical to the WASM.
WASM is much smaller, 416k vs 877k and seems to load faster (not
measured).
Note to reviewers:
example.html was copied from npm-wasm version, so doesn't need
further review.
Bug: skia:8216
Change-Id: Ib92b90fa6c598de85a0be319d46b25693ae5aaa4
Reviewed-on: https://skia-review.googlesource.com/148396
Reviewed-by: Stephan Altmueller <stephana@google.com>
From robertphillips:
- not many Android devices use PowerVR chips
- the NexusPlayer is not getting P
- We're also ignoring the NexusPlayer vk gold result bc the driver
doesn't seem to be clearing the color buffer so almost all the
images are incorrect.
Bug: skia:7021 skia:6132 skia:7191 skia:7244 skia:7018 skia:7837 skia:8166
Change-Id: I2a1e9748deeee7f9cab6294b961783182ed5351e
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/148667
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Bug: skia:
Change-Id: I0222016ff079da2199e3658f1657aecc3f80f401
Reviewed-on: https://skia-review.googlesource.com/148389
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Change-Id: I13f402438825b2251a9149995d5c61b14f2e08a3
Reviewed-on: https://skia-review.googlesource.com/148122
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
The config refactor inadvertently included Android and Mac *SAN bots.
Change-Id: I158c25be9fbd098cd903741eb78209c8ee95d8df
Reviewed-on: https://skia-review.googlesource.com/148302
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Also simplify (i.e. remove) the "copy to tmp dir" step.
Bug: skia:
Change-Id: I88a12aeaa1ad131588f66ac306909ec892e5ad18
Reviewed-on: https://skia-review.googlesource.com/148021
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:8263
Change-Id: Ic5003128485116c66ae1ed61e8727b9b1c33aa1a
Reviewed-on: https://skia-review.googlesource.com/147968
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
No-Try: true
Change-Id: I9ca13921cdc5ed388b6b4ba46d99a2d4e4735158
Reviewed-on: https://skia-review.googlesource.com/146532
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Move all CPU configs except 8888 to new BonusConfigs bots
(and keep them running on the *SAN bots), and turn on the
new rec2020 configs there too.
Change-Id: I0bba4b88c580cb627e2842f136318d98373c0543
Reviewed-on: https://skia-review.googlesource.com/147813
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
To get the gold images out of the browser tests, this adds
testReporter.js and pathkit_aggregator.go. testReporter bundles
up the output as a base64 encoded PNG and sends it over the local
network to pathkit_aggregator. pathkit_aggregator will keep
a list of test results reported in this way and write the PNGs
to /OUT of the container (which is the swarming output directory).
Finally, after all the tests are run, the helper script "test_pathkit.sh"
makes a POST request that creates the JSON file that gold expects
(following the schema https://github.com/google/skia-buildbot/blob/master/golden/docs/INGESTION.md)
pathkit_aggregator takes many command line arguments which control
the keys that Gold needs in order to ingest and handle the data.
Of note, this creates a new set (i.e. source_type) of gold images
called "pathkit", which will distinguish it from "gm", "image", etc.
There will be at least 2 sub-sets of "pathkit" images, "canvas" and "svg",
(representing the 2 output types of PathKit). This CL doesn't
quite handle SVG yet, as it needs a way to convert SVG to PNG in the
browser and will be addressed in a follow up CL.
A "standard" gm is sized at 600x600. This was arbitrarily picked.
Note that the functions in testReporter.js return Promises based
on the fetch requests to post the data. This eliminates the race
condition between the /report_gold_data and /dump_json since
running the karma tests won't return until all reports are done.
Other changes of note:
- Adds go to karma-chrome-tests container.
- renames recipe_modules/build/wasm.py -> pathkit.py to be consistent with
the name of test_pathkit.py and make for easier grepping.
- Increases the JS test timeout to 10s (up from 5) to hopefully avoid
the flakes seen in the Debug Test.
Bug: skia:8216
Change-Id: Ic2cad54f3d19cc16601cf2e9a87798db1e6887a2
Reviewed-on: https://skia-review.googlesource.com/147042
Reviewed-by: Stephan Altmueller <stephana@google.com>
Because of https://skia-review.googlesource.com/c/skia/+/146165 and
https://skia-review.googlesource.com/c/skia/+/146100 we have a way
to turn PathOps tests into JSON, which has input paths (as Cmd arrays),
combination verb and expected output.
In this CL, we make tests from the JSON, compare them to the expected
output and, optionally, create SVGs to visualize the difference if any.
API changes (nothing breaking on release builds):
- Exposes SkRect as a JS Object. No need to call delete() on this.
- expose path.getBounds() and path.computeTightBounds()
- Remove SkRegion exposure (debug/test only), which was going to be
used for this purpose, but the approach in this CL works fine.
- Add loadCmdsTypedArray(cmd) helper function to JS [see helper.js].
This was previously known as `floatTypedArrayFrom2D` in the
old shell.html, and is now exposed to avoid clients having to
implement this boilerplate by themselves.
- Add set/getFillType - mostly for testing the difference between
a Winding and an EvenOdd path.
Bug: skia:8216
Change-Id: I2cd25ce2e1e7f285c79c596678678e62135963f0
Reviewed-on: https://skia-review.googlesource.com/146524
Reviewed-by: Cary Clark <caryclark@google.com>
This adds a few JS tests (see *.spec.test) and runs them
using Karma and a Docker image containing Karma, node, and
Chrome (currently at 68).
We only add a Debug Test here because the Release version
has some test helpers (e.g. Region) compiled out. If those
end up not mattering for tests, we can add in a Release version.
Bug: skia:8216
Change-Id: Ica6ab3a4f21688cfa175a90d42c2254d38e8fcf1
Reviewed-on: https://skia-review.googlesource.com/145723
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:8185
Change-Id: Id40f288515169a378926d6042cc76a976cdf7513
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145892
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:8081
Change-Id: Ibcb82389668bd9ea7395e498696417d5701761c0
Reviewed-on: https://skia-review.googlesource.com/140782
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
They crash, presumably because they use multiple large images.
Change-Id: I277958cd6661820085b4e1a04e0668e3a3e9fddc
Reviewed-on: https://skia-review.googlesource.com/145880
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Adds arc, arcTo, rect and Path2D names for quadTo, cubicTo, close.
Adds conic verb support (approximated with 2 quads).
Breaking changes:
Some functions have been moved to be member functions:
PathKit.Simplify(path) -> path.simplify()
PathKit.ToCanvas(path, ctx) -> path.toCanvas(ctx)
PathKit.ToSVGString(path) -> path.toSVGString()
PathKit.ToPath2D(path) -> path.toPath2D()
PathKit.ToCmds(path) -> path.toCmds()
PathKit.ResolveBuilder(builder) -> builder.resolve()
PathKit.GetBoundaryPathFromRegion(region) -> region.getBoundaryPath()
Pathkit.ApplyPathOp(pathOne, pathTwo, op) still exists, but there's
now also pathOne.op(pathTwo, op) for cases when that's easier.
As per custom with version 0.x.y projects, I'm bumping the
minor version (in npm) for these breaking changes instead of the
major version (which will happen when we are version >= 1.0.0).
This also has some small improvements to the output code size.
The biggest jump was from enabling the closure compiler on the
helper JS, which trimmed it down by about 40%. Using the closure
compiler requires the JRE on the bots, which prompted the emsdk-base
image change.
Bug: skia:8216
Change-Id: I40902d23380093c34d1679df0255bcb0eaa77b01
Reviewed-on: https://skia-review.googlesource.com/145420
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Bug: skia:
Change-Id: I3437830069de5ff8ace21115024396120d21b2a0
Reviewed-on: https://skia-review.googlesource.com/145482
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>