Commit Graph

1546 Commits

Author SHA1 Message Date
skia-recreate-skps
8534723c7b Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I8313fe381285175df7973e1f1204e44f4826713d
Reviewed-on: https://skia-review.googlesource.com/151121
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-09-02 09:44:11 +00:00
Brian Salomon
7bfe8438a9 Test glbetex and glbert configs on BonusConfigs bots
Change-Id: Ib098ec063f56337dfade31023b839c7d1fb09a7d
Reviewed-on: https://skia-review.googlesource.com/150136
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-08-31 18:55:09 +00:00
Ben Wagner
27140526ec Unomit passing tests for Radeon.
Bug: skia:7677 skia:7096
Change-Id: I59604a140f453ab415b0774a1f3b99efa2607de4
Reviewed-on: https://skia-review.googlesource.com/150620
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-31 17:43:27 +00:00
Ben Wagner
10085b7411 Remove GTX1070 and GTX1050 jobs.
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>
2018-08-31 17:37:17 +00:00
Ben Wagner
d709a85751 [infra] Add rack dimension for QuadroP400 tasks.
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>
2018-08-31 17:32:16 +00:00
Ben Wagner
0473a3108b Unomit passing tests for Win Intel.
Bug: skia:6082 skia:6103 skia:6141
Change-Id: I28bc11cf9ea45dffa980c900934a5432383358ec
Reviewed-on: https://skia-review.googlesource.com/150145
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-08-31 17:29:18 +00:00
Ben Wagner
a4cdfbb0d5 Move gbr-gl config from GTX1070 to QuadroP400.
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>
2018-08-31 15:13:22 +00:00
Kevin Lubick
c7d057103e [PathKit] Move from experimental to modules
Add in Code of Conduct and Contributing.md as well.

Docs-Preview: https://skia.org/?cl=150901
Bug: skia:8216
Change-Id: Ia881124f653617ad0b7b91f40ba21de2c13220a6
Reviewed-on: https://skia-review.googlesource.com/150901
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-08-31 14:18:16 +00:00
Ben Wagner
1f0fb09d5e [infra] Update Win Radeon drivers.
No-Try: true
Change-Id: I7b4418f8ee2bf94c5cdc1b22aed76e3448b17030
Reviewed-on: https://skia-review.googlesource.com/149822
Commit-Queue: Stephan Altmueller <stephana@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-29 16:39:27 +00:00
Ben Wagner
7efa13d593 Update NVIDIA_Shield to Oreo.
No-Try: true
Change-Id: Ibb7a6b0987f3c38affd2266f21393c043d4dbb8d
Reviewed-on: https://skia-review.googlesource.com/150165
Commit-Queue: Stephan Altmueller <stephana@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-29 16:38:27 +00:00
Greg Daniel
900e5c8f62 [infra] Update Win Intel drivers.
No-Try: true
Change-Id: If5314359997b5db7a9628972e464e8673b5e6f14
Reviewed-on: https://skia-review.googlesource.com/149740
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-28 18:14:08 +00:00
Kevin Lubick
82999c037e Add docker-based infrastructure for Gold/lottie-web integration
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>
2018-08-28 15:16:22 +00:00
Brian Osman
da01be3ede Re-enable 6653 test on IntelVulkan, and label failures better
- 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>
2018-08-28 14:39:57 +00:00
Brian Osman
22b21ea25b Stop blacklisting some critical unit tests on Metal
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>
2018-08-27 18:36:58 +00:00
Kevin Lubick
3fee9235a4 Add a renderer key to lottie gold digests
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>
2018-08-27 15:15:04 +00:00
skia-recreate-skps
b5729c94f9 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Iffc68cb6387340b6e8bea9123b2bf86e1c3241d3
Reviewed-on: https://skia-review.googlesource.com/149342
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-08-26 09:16:18 +00:00
Robert Phillips
3217808ed9 Suppress failing Vulkan test on IntelHD405
keymobi_booking_com.skp_1_mpd	vk
Segmentation fault
linux_vulkan_intel_driver_release/./libvulkan_intel.so anv_cmd_buffer_execbuf at /home/johnnynerfgun/src/mesa/mesa-17.0.4/src/intel/vulkan/anv_batch_chain.c:1297 (discriminator 3)
linux_vulkan_intel_driver_release/./libvulkan_intel.so anv_QueueSubmit at /home/johnnynerfgun/src/mesa/mesa-17.0.4/src/intel/vulkan/anv_device.c:1193
build/nanobench GrVkPrimaryCommandBuffer::submitToQueue(GrVkGpu const*, VkQueue_T*, GrVkGpu::SyncQueue, SkTArray<GrVkSemaphore::Resource*, false>&, SkTArray<GrVkSemaphore::Resource*, false>&) at src/gpu/vk/GrVkCommandBuffer.cpp:552
build/nanobench GrVkGpu::submitCommandBuffer(GrVkGpu::SyncQueue) at src/gpu/vk/GrVkGpu.cpp:304
build/nanobench sk_sp<GrCaps const>::get() const at include/core/SkRefCnt.h:296
build/nanobench GrDrawingManager::internalFlush(GrSurfaceProxy*, GrResourceCache::FlushType, int, GrBackendSemaphore*) at src/gpu/GrDrawingManager.cpp:257


Bug: skia:7322
Change-Id: If38b81f5943f27824b51cbcedfd819dbe99dd957
Reviewed-on: https://skia-review.googlesource.com/149232
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-24 17:05:52 +00:00
Kevin Lubick
1118cfdbdc Update Pixel 2 XL to Android P
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>
2018-08-24 15:36:20 +00:00
Ben Wagner
31629a8a32 [infra] Rename PowerVR jobs to be consistent.
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>
2018-08-23 12:21:19 +00:00
Ben Wagner
d7bc0b1a96 [infra] Remove Braswell Perf Debug jobs.
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>
2018-08-22 19:13:59 +00:00
Ben Wagner
7ea54289d2 Remove extra Mac CPU jobs.
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>
2018-08-22 18:44:24 +00:00
Kevin Lubick
f14a3c059f [PathKit] Add asm.js build and test jobs
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>
2018-08-22 17:19:10 +00:00
Ben Wagner
760af2548c [infra] Remove NexusPlayer Vulkan jobs.
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>
2018-08-22 17:16:01 +00:00
Ben Wagner
f0a2c106a5 Add iOS Metal Test job.
Bug: skia:8230
Change-Id: I500905b9e3db46ab775cf56a433de0bb17ef232c
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/146400
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-22 15:11:50 +00:00
Kevin Lubick
8fe1b044c3 Update Pixels to Android P
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>
2018-08-21 18:08:47 +00:00
Ben Wagner
6f099b72cf [infra] Upgrade iOS builders.
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>
2018-08-21 14:21:17 +00:00
Mike Klein
7adfd2fe29 restrict bonus configs to GCE *SAN bots
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>
2018-08-21 14:15:55 +00:00
Kevin Lubick
8d744124a6 Fix upload_dm_results
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>
2018-08-20 16:44:24 +00:00
Eric Boren
7c42e01ced [infra] Speculative fix for vpython cache
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>
2018-08-20 14:39:24 +00:00
Ben Wagner
6676079d2b [infra] Add comment regarding skcms use of mac_toolchain.
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>
2018-08-20 12:26:57 +00:00
skia-recreate-skps
ae7229480c Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I90e25d8ea91e8cb2b6c757c45bdcfc02905c478c
Reviewed-on: https://skia-review.googlesource.com/147917
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-08-19 08:45:42 +00:00
Mike Klein
c24e0c1e41 refactor cpu configs
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>
2018-08-18 01:26:25 +00:00
recipe-roller
16c8c54cec Roll recipe dependencies (nontrivial).
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/7de5f08c459c9d66880cacb1253961009d7feee3 bot_update: remove --gerrit_repo and --gerrit_ref. (jbudorick@chromium.org)


R=benjaminwagner@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I94c3a040ec5a9606a75a6dc9856e1de686772820
Reviewed-on: https://skia-review.googlesource.com/147811
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: John Budorick <jbudorick@chromium.org>
2018-08-17 19:10:16 +00:00
Stephan Altmueller
0edb982602 Upgrade to iOS 11
Bug: skia:
Change-Id: Iad31c9857e005e5ac50b6f27127fc95df9fc5bce
Reviewed-on: https://skia-review.googlesource.com/147421
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-08-16 22:37:52 +00:00
Kevin Lubick
29d501cddc Make verbose.log optional in upload_dm_results
Will land/test after https://skia-review.googlesource.com/c/skia/+/147042

Bug: skia:
Change-Id: I381e369df7fb904c81948f36dbad679d3f430415
Reviewed-on: https://skia-review.googlesource.com/147202
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-16 17:54:13 +00:00
Kevin Lubick
a0ba612bb2 [PathKit] Adding test infrastructure to support Gold output
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>
2018-08-15 19:25:42 +00:00
skia-recreate-skps
f1a25c06cd Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I3bd90c38359e27f3c97c44cda15380077c99ea09
Reviewed-on: https://skia-review.googlesource.com/146923
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-08-12 08:45:20 +00:00
Timothy Liang
b1f02f30bb enabled gms and most unit tests for Metal gpu backend
Bug: skia:
Change-Id: Ib8a15931b217c6cb353e0af2d2752cb08a400f1d
Reviewed-on: https://skia-review.googlesource.com/146645
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-10 18:29:50 +00:00
Kevin Lubick
644d8e7175 [PathKit] Add PathOps Op and Simplify tests imported from the C++ tests.
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>
2018-08-09 18:13:48 +00:00
Ben Wagner
d1910d5664 Add jobs for GTX1050 eGPU.
No-Try: true
Change-Id: I47ccf632537a71eb0e2957158ce38c4a4421952b
Reviewed-on: https://skia-review.googlesource.com/145334
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-09 15:22:21 +00:00
Kevin Lubick
92c9171125 [Pathkit] Add recipe for running JS tests using Docker
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>
2018-08-09 14:17:28 +00:00
Greg Daniel
53956d9bfd Add iOS Metal Build job.
Bug: skia:8230
Change-Id: Ic8c17954c5dcaeebcfd028e24a0556d0b09a5b62
Reviewed-on: https://skia-review.googlesource.com/146168
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-08-08 20:22:35 +00:00
Ben Wagner
ce1db863ef [infra] Update Skolo Win NVIDIA drivers.
No-Try: true
Change-Id: If464ad647084aa141de9952ef8185df87a975d0f
Reviewed-on: https://skia-review.googlesource.com/145524
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-08 19:00:37 +00:00
Ben Wagner
7df9c16f54 Add Win OpenCL Test job.
Bug: skia:8081
Change-Id: Ida8bb5e7bc43656289dda4eea45f3c7ef66f0f0c
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145379
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-08 14:18:57 +00:00
Ben Wagner
bcae31ff9c Remove QuadroP400 TSAN job.
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>
2018-08-08 13:20:22 +00:00
Ben Wagner
30a4e3da4b Add Win OpenCL Build job.
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>
2018-08-08 00:27:48 +00:00
Brian Salomon
faeef78372 Exclude compositing_images benchs from Chromecast
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>
2018-08-07 19:19:58 +00:00
Greg Daniel
01d9a344b5 Update linux vulkan sdk asset.
Bug: skia:
Change-Id: Id6d7a1f7d8ebb12704da4fa54fc8598c187a0102
Reviewed-on: https://skia-review.googlesource.com/145640
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-07 02:37:01 +00:00
Kevin Lubick
641bf8745d [PathKit] Add more Path2D functionality and move some methods to be members
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>
2018-08-06 19:07:12 +00:00
Eric Boren
1c666dcf45 [infra] Update Go to 1.10.3
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>
2018-08-06 17:45:43 +00:00