Commit Graph

16 Commits

Author SHA1 Message Date
Kevin Lubick
035cd91cfb [canvaskit] Update to emsdk 2.0.10
(also update pathkit).

Bug: skia:11077
Change-Id: I7d06e05ed8f445313bedee055af5ded79c7b40b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/343505
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-12-14 15:27:28 +00:00
Kevin Lubick
371967f791 [canvaskit] Update Chrome version and use npm ci for tests
By using npm ci, we can make sure the versions of the helper
libraries (e.g. Karma, Jasmine) we are testing with locally
is the same as the versions we are using in the continuous
integration system.

The copying is needed because our docker recipe forces us
to run as not root, and this was causing some issues. As a
result, I changed the canvaskit test/perf to not re-use the
same file as pathkit does so copying was easier and the
dependencies between the two modules is broken.

Bug: skia:11077
Change-Id: Ib05890d666d3507d4f724a4ae298484629c7932a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/343503
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-12-14 15:03:42 +00:00
Kevin Lubick
9eaca48f46 [canvaskit] Update emsdk to 2.0.6
Of note, I had to explicitly export _malloc and _free, since
we use those directly in the binding layer.

Code size change:
 -20k on JS (-1k compressed)
 -21k on WASM (-15k compressed)

Bug: skia:10419, skia:10794
Change-Id: Id7670b6fcbf1524ad3155a863db51eb49aa24811
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/323979
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-10-08 16:38:10 +00:00
Kevin Lubick
157577b866 [canvaskit,pathkit] Update to emsdk 2.0
There was a break that was solved by adding -lGL to our link
steps. I discovered a few extra flags to aid in debugging builds
and I've left those in (they aren't too noisy IMO).

This changes the base dockerfile to use the official emscripten one.

Code size delta for full build is +5 kb

For future reference, emsdk decides which "library JS" files to
pull in using a83ba99d60/tools/building.py (L1553)
Those JS files live in src (e.g. a83ba99d60/src/library_html5_webgl.js (L222))
and define functions that the C++ code can call.

I'd like to follow-up on what -lEGL is doing.

Also, since the new image no longer has depot_tools, we need
to make docker/skia-wasm-release/Dockerfile install it.

Change-Id: I5a38e61e5080e9c4cb1e0a7e031509bcb107ff86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311726
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-08-20 14:55:50 +00:00
Kevin Lubick
d1285b131b Upgrade CanvasKit emscripten to version 1.39.16.
Changes are largely mechanical.  Non-mechanical changes to support newer
versions of emscripten are enumerated below, in format ${EMSCRIPTEN_VERSION}:
${RELEVANT_CHANGE}.

- 1.39.9: TOTAL_MEMORY has been renamed INITIAL_MEMORY.
- 1.39.12: passing of linker flags to wasm-ld has changed in a way that requires
  supplying `--no-entry` to avoid error message "wasm-ld: error: entry symbol
  not defined (pass --no-entry to suppress): main".
- 1.39.16: The factory function created by using `MODULARIZE` build option now
  returns a Promise instead of the module instance.  As such, the ready.js
  workaround is removed.  Note this is a breaking API change for CanvasKit,
  which now uses just `then()` and not `ready().then()`.
- 1.38.33: `emsdk install` hasn't required the `-64bit` suffix on version names
  since `1.38.33`, so we remove them.  E.g. `emsdk install sdk-1.39.6-64bit`
  simply becomes `emsdk install sdk-1.39.16`.

cf. https://github.com/emscripten-core/emscripten/blob/master/ChangeLog.md

Bug: NONE
Change-Id: Iabec4bd5ad7db2e0715ad42c2e4cf7d67b192b4c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/291182
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-05-21 14:18:48 +00:00
Eric Boren
76b7b1645b [infra] Update infra dep
Change-Id: Ic23e4b3409cdc0bef672913ff8106794aa549bd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279038
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2020-03-25 13:28:56 +00:00
Kevin Lubick
f76da63fbd [canvaskit] Update build script to support latest Emscripten
Add workaround for https://github.com/emscripten-core/emscripten/issues/10072

Note to reviewer, please check out the steps I added
in canvaskit/README.md to document this process.

Bug: skia:9816
Change-Id: Idbe7ff08ac62f4f4d70e656384831b8d24c4a684
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266941
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-28 15:41:58 +00:00
Kevin Lubick
588e39a30e [canvaskit] Include CodeReviewSystem on JSON uploaded
Change-Id: Ie70a3a852fdae7d41ae8be4c7bb71d3cf9a5b55b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249805
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2019-10-21 18:03:32 +00:00
Kevin Lubick
3085d9ac7d [canvaskit] Roll chrome version for testing
Also disabling failing perf test.

Change-Id: I5776a5dfba0d429ad6a9d725de26c585e61ba37b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249427
Reviewed-by: Hal Canary <halcanary@google.com>
2019-10-18 17:37:52 +00:00
Joe Gregorio
4cb778e367 Fix usage of depot_tools in containers.
depot_tools w/vpython now seems to require the depot_tools dir
to be on PATH, and also python and curl need to be installed.

  * Creates a new base image that has all the build tools we need for
building Skia: skia-build-tools.
  * Moves skia-release to use that new base image.
  * Moves both the skia-release and wasm builds to use fetch and gclient sync.
  * Changes gcr.io/skia-public/emsdk-base:prod to depend on skia-build-tools.


Bug: skia:993053
Change-Id: Ib6218d8c18dd59d43de84dcf063f204cfc8556d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248556
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-10-14 19:38:40 +00:00
Kevin Lubick
fa5a138170 [canvaskit] Update to build with emscripten 1.38.47
Bug: skia:9052
Change-Id: Ic1aec2c9b8ace556f5b77862582894f59fd26b64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247302
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-09 15:08:10 +00:00
Kevin Lubick
38141d9a78 Update gold aggregators to use new struct
See https://skia-review.googlesource.com/c/buildbot/+/244259

Change-Id: I761aee95e380f56cf9f49be7c4399b231f7f1f43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244887
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-09-30 14:30:48 +00:00
Kevin Lubick
ea6c98081e Fix aggregators to use new gold objects
Change-Id: Iace9caec455a58cbe8649ea37d865f53e5643b17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235457
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-08-21 13:18:57 +00:00
Eric Boren
f1a7c21d4c [infra] Fix WASM Gold aggregator build
Change-Id: If960640ba74916226d8cdf912f48142cee0ef2c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226317
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-10 12:18:13 +00:00
Eric Boren
07edcfd4dc [infra] Fix Go builds
Change-Id: I7e89cb18fd15a4852f38afd846d943e7732d1ddb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216341
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-06-18 14:04:12 +00:00
Kevin Lubick
85de152dfa Move common canvas/pathkit dockerfiles to more intuitive location
Also rename emsdk-base -> emsdk-release so it is consistent with
the container name.

Bug: skia:
NOTRY: true
Change-Id: Idec19bdeb64a64120d0890b2987c2dce0a57535a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206909
Reviewed-by: Stephan Altmueller <stephana@google.com>
2019-04-09 23:14:13 +00:00