0039874105
In this CL, I forked compile.sh and created a new gm_bindings.cpp. I also moved viewer.html into wasm_tools and created a gmtests.html for testing out the bindings locally. Right now there is only one gm file compiled in. I plan in a followup CL to have some way to generate the list of cpp files that need to be compiled in from gms.gni. I was unable to get it to work with simply linking the lib_gm.gni, probably due to the same issue with Registry that csmartdalton@ ran into when adding viewer.html and the associated bindings. Suggested reviewing order: - gmtests.html to get a sense of how the test flow works. - gm_bindings.cpp to make sure I setup the contexts/GMs correctly. - compile_gm.sh to see how the gms are compiled in. - The remaining files in any order. When I tested this locally, the bleed_downscale digest was exactly the same (pixel for pixel, byte for byte) as a known digest in Gold, so I'm fairly confident in how things work. Change-Id: I2babef848ca60f7db74e4adf27b8952a66bdeee1 Bug: skia:10812 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/322956 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
117 lines
4.0 KiB
Makefile
117 lines
4.0 KiB
Makefile
clean:
|
|
rm -rf ../../out/canvaskit_wasm
|
|
rm -rf ./canvaskit/bin
|
|
$(MAKE) release
|
|
|
|
release:
|
|
# Does an incremental build where possible.
|
|
./compile.sh
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./canvaskit/bin
|
|
|
|
release_cpu:
|
|
# Does an incremental build where possible.
|
|
./compile.sh cpu_only
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./canvaskit/bin
|
|
|
|
release_viewer:
|
|
# Does an incremental build where possible.
|
|
./compile.sh viewer
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./canvaskit/bin
|
|
|
|
debug:
|
|
# Does an incremental build where possible.
|
|
./compile.sh debug
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm.map ./canvaskit/bin
|
|
|
|
debug_cpu:
|
|
# Does an incremental build where possible.
|
|
./compile.sh debug cpu_only
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm.map ./canvaskit/bin
|
|
|
|
experimental_simd:
|
|
# Does an incremental build where possible.
|
|
./compile.sh simd
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_experimental_simd/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_experimental_simd/canvaskit.wasm ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_experimental_simd/canvaskit.wasm.map ./canvaskit/bin
|
|
|
|
debug_viewer:
|
|
# Does an incremental build where possible.
|
|
./compile.sh debug viewer
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm.map ./canvaskit/bin
|
|
|
|
profile:
|
|
./compile.sh profiling
|
|
mkdir -p ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_profile/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm_profile/canvaskit.wasm ./canvaskit/bin
|
|
|
|
npm:
|
|
rm -rf ./canvaskit/bin
|
|
mkdir -p ./canvaskit/bin
|
|
# These features are turned off to keep code size smaller for the
|
|
# general use case.
|
|
./compile.sh release no_skottie no_particles no_rt_shader no_alias_font no_effects_deserialization
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./canvaskit/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./canvaskit/bin
|
|
|
|
mkdir -p ./canvaskit/bin/core
|
|
./compile.sh release no_skottie no_particles no_pathops no_rt_shader no_font no_skp_serialization no_effects_deserialization
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./canvaskit/bin/core
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./canvaskit/bin/core
|
|
|
|
gm_tests:
|
|
./compile_gm.sh
|
|
mkdir -p ./out
|
|
cp ../../out/wasm_gm_tests/wasm_gm_tests.js ./out
|
|
cp ../../out/wasm_gm_tests/wasm_gm_tests.wasm ./out
|
|
|
|
local-example:
|
|
rm -rf node_modules/canvaskit
|
|
mkdir -p node_modules
|
|
ln -s ../canvaskit node_modules/canvaskit
|
|
echo "Go check out http://localhost:8000/canvaskit/example.html"
|
|
python serve.py
|
|
|
|
test-continuous:
|
|
echo "Assuming npm install has been run by user"
|
|
echo "Also assuming make debug or release has also been run by a user (if needed)"
|
|
npx karma start ./karma.conf.js --no-single-run --watch-poll
|
|
|
|
test-continuous-headless:
|
|
npx karma start ./karma.conf.js --no-single-run --watch-poll --headless
|
|
|
|
.PHONY: perf
|
|
perf:
|
|
npx karma start ./karma.bench.conf.js --single-run
|
|
|
|
node-example:
|
|
node ./canvaskit/node.example.js --expose-wasm
|
|
|
|
docker-compile:
|
|
mkdir -p ${SKIA_ROOT}/out/canvaskit_wasm_docker
|
|
docker run --rm --volume ${SKIA_ROOT}:/SRC \
|
|
--volume ${SKIA_ROOT}/out/canvaskit_wasm_docker:/OUT \
|
|
gcr.io/skia-public/canvaskit-emsdk:2.0.0_v1 \
|
|
/SRC/infra/canvaskit/build_canvaskit.sh
|
|
|
|
typecheck:
|
|
echo "Make sure you've run cd canvaskit && npm ci recently"
|
|
cd canvaskit && npm run dtslint
|