-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #274 from HinTak/SkRuntimeEffect-binding
Sk runtime effect binding
- Loading branch information
Showing
34 changed files
with
1,056 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,7 +25,7 @@ jobs: | |
key: linux-aarch64-skia-${{ github.sha }}-3rd-party | ||
- name: Pre-fetch skia deps | ||
if: ${{ steps.cache-skia.outputs.cache-hit != 'true' }} | ||
run: git config --global core.compression 0 && cd skia && patch -p1 -i ../patch/skia-m130-minimize-download.patch && python tools/git-sync-deps && patch -p1 -R -i ../patch/skia-m130-minimize-download.patch | ||
run: git config --global core.compression 0 && cd skia && patch -p1 -i ../patch/skia-m132-minimize-download.patch && python tools/git-sync-deps && patch -p1 -R -i ../patch/skia-m132-minimize-download.patch | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- name: Build skia 3rd-Party | ||
|
@@ -73,29 +73,89 @@ jobs: | |
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-22.04, windows-2022, macos-12] | ||
os: [ubuntu-22.04, windows-2022, macos-13] | ||
arch: [auto64] | ||
cp: ["cp3{8,9,10,11,12}"] | ||
cp: ["cp3{10,11,12,13}"] | ||
include: | ||
- os: macos-12 | ||
- os: macos-13 | ||
arch: arm64 | ||
cp: "cp3{8,9,10,11,12}" | ||
cp: "cp3{10,11,12,13}" | ||
# aarch64 is emulated and takes longer, build one wheel per job | ||
- os: ubuntu-22.04 | ||
arch: aarch64 | ||
cp: cp38 | ||
cp: cp310 | ||
- os: ubuntu-22.04 | ||
arch: aarch64 | ||
cp: cp39 | ||
cp: cp311 | ||
- os: ubuntu-22.04 | ||
arch: aarch64 | ||
cp: cp310 | ||
cp: cp312 | ||
- os: ubuntu-22.04 | ||
arch: aarch64 | ||
cp: cp311 | ||
cp: cp313 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
|
||
- uses: actions/cache/restore@v4 | ||
if: runner.os == 'Linux' && matrix.arch == 'aarch64' | ||
with: | ||
path: | | ||
gn | ||
skia | ||
key: linux-aarch64-skia-${{ github.sha }} | ||
|
||
- name: Set up QEMU | ||
if: runner.os == 'Linux' && matrix.arch == 'aarch64' | ||
uses: docker/setup-qemu-action@v3 | ||
with: | ||
platforms: ${{ matrix.arch }} | ||
|
||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD: "${{ matrix.cp }}-*" | ||
CIBW_SKIP: "*musllinux*" | ||
CIBW_ARCHS: ${{ matrix.arch }} | ||
CIBW_ENVIRONMENT_MACOS: TARGET_ARCH=${{ matrix.arch }} MACOSX_DEPLOYMENT_TARGET=11.0 | ||
CIBW_BEFORE_ALL: bash scripts/build_${{ runner.os }}.sh | ||
CIBW_BEFORE_BUILD: pip install pybind11 numpy | ||
CIBW_TEST_REQUIRES: pytest pillow glfw | ||
CIBW_TEST_REQUIRES_MACOS: pytest pillow pyopengl | ||
CIBW_TEST_COMMAND: python -m pytest {project}/tests | ||
CIBW_TEST_COMMAND_LINUX: > | ||
xvfb-run -s "-screen 0 640x480x24" python -m pytest {project}/tests | ||
CIBW_TEST_SKIP: "*-macosx_arm64" | ||
|
||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: wheel-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.cp }} | ||
path: ./wheelhouse/*.whl | ||
|
||
# identical to "build_wheels", except with the older pypa/[email protected] | ||
build_wheels_old: | ||
name: Build wheels on ${{ matrix.os }} (${{ matrix.arch }}) for ${{ matrix.cp }} | ||
needs: prebuild_linux_aarch64 | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-22.04, windows-2022, macos-13] | ||
arch: [auto64] | ||
cp: ["cp3{8,9}"] | ||
include: | ||
- os: macos-13 | ||
arch: arm64 | ||
cp: "cp3{8,9}" | ||
# aarch64 is emulated and takes longer, build one wheel per job | ||
- os: ubuntu-22.04 | ||
arch: aarch64 | ||
cp: cp312 | ||
cp: cp38 | ||
- os: ubuntu-22.04 | ||
arch: aarch64 | ||
cp: cp39 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -139,7 +199,7 @@ jobs: | |
|
||
build_docs: | ||
name: Build docs | ||
needs: [build_wheels] | ||
needs: [build_wheels, build_wheels_old] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -169,7 +229,7 @@ jobs: | |
|
||
publish: | ||
name: Upload packages to PyPI | ||
needs: [build_wheels] | ||
needs: [build_wheels, build_wheels_old] | ||
runs-on: ubuntu-latest | ||
if: github.event_name == 'release' && github.event.action == 'published' | ||
permissions: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
diff --git a/DEPS b/DEPS | ||
index a30e242..3d8dd72 100644 | ||
--- a/DEPS | ||
+++ b/DEPS | ||
@@ -31,53 +31,18 @@ vars = { | ||
# ./tools/git-sync-deps | ||
deps = { | ||
"buildtools" : "https://chromium.googlesource.com/chromium/src/buildtools.git@b138e6ce86ae843c42a1a08f37903207bebcca75", | ||
- "third_party/externals/angle2" : "https://chromium.googlesource.com/angle/angle.git@78a694a1b82a01623226a418cf2f765c75e45c70", | ||
- "third_party/externals/brotli" : "https://skia.googlesource.com/external/github.com/google/brotli.git@6d03dfbedda1615c4cba1211f8d81735575209c8", | ||
- "third_party/externals/d3d12allocator" : "https://skia.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git@169895d529dfce00390a20e69c2f516066fe7a3b", | ||
- # Dawn requires jinja2 and markupsafe for the code generator, tint for SPIRV compilation, and abseil for string formatting. | ||
- # When the Dawn revision is updated these should be updated from the Dawn DEPS as well. | ||
- "third_party/externals/dawn" : "https://dawn.googlesource.com/dawn.git@f3c7cc5c580eb743829c78bb77df0c1e8f6a6ce3", | ||
- "third_party/externals/jinja2" : "https://chromium.googlesource.com/chromium/src/third_party/jinja2@e2d024354e11cc6b041b0cff032d73f0c7e43a07", | ||
- "third_party/externals/markupsafe" : "https://chromium.googlesource.com/chromium/src/third_party/markupsafe@0bad08bb207bbfc1d6f3bbc82b9242b0c50e5794", | ||
- "third_party/externals/abseil-cpp" : "https://skia.googlesource.com/external/github.com/abseil/abseil-cpp.git@65a55c2ba891f6d2492477707f4a2e327a0b40dc", | ||
"third_party/externals/dng_sdk" : "https://android.googlesource.com/platform/external/dng_sdk.git@c8d0c9b1d16bfda56f15165d39e0ffa360a11123", | ||
- "third_party/externals/egl-registry" : "https://skia.googlesource.com/external/github.com/KhronosGroup/EGL-Registry@b055c9b483e70ecd57b3cf7204db21f5a06f9ffe", | ||
- "third_party/externals/emsdk" : "https://skia.googlesource.com/external/github.com/emscripten-core/emsdk.git@a896e3d066448b3530dbcaa48869fafefd738f57", | ||
"third_party/externals/expat" : "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git@624da0f593bb8d7e146b9f42b06d8e6c80d032a3", | ||
"third_party/externals/freetype" : "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git@83af801b552111e37d9466a887e1783a0fb5f196", | ||
"third_party/externals/harfbuzz" : "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git@a070f9ebbe88dc71b248af9731dd49ec93f4e6e6", | ||
- "third_party/externals/highway" : "https://chromium.googlesource.com/external/github.com/google/highway.git@424360251cdcfc314cfc528f53c872ecd63af0f0", | ||
"third_party/externals/icu" : "https://chromium.googlesource.com/chromium/deps/icu.git@364118a1d9da24bb5b770ac3d762ac144d6da5a4", | ||
- "third_party/externals/icu4x" : "https://chromium.googlesource.com/external/github.com/unicode-org/icu4x.git@bcf4f7198d4dc5f3127e84a6ca657c88e7d07a13", | ||
- "third_party/externals/imgui" : "https://skia.googlesource.com/external/github.com/ocornut/imgui.git@55d35d8387c15bf0cfd71861df67af8cfbda7456", | ||
- "third_party/externals/libavif" : "https://skia.googlesource.com/external/github.com/AOMediaCodec/libavif.git@55aab4ac0607ab651055d354d64c4615cf3d8000", | ||
- "third_party/externals/libgav1" : "https://chromium.googlesource.com/codecs/libgav1.git@5cf722e659014ebaf2f573a6dd935116d36eadf1", | ||
- "third_party/externals/libgrapheme" : "https://skia.googlesource.com/external/github.com/FRIGN/libgrapheme/@c0cab63c5300fa12284194fbef57aa2ed62a94c0", | ||
"third_party/externals/libjpeg-turbo" : "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git@ccfbe1c82a3b6dbe8647ceb36a3f9ee711fba3cf", | ||
- "third_party/externals/libjxl" : "https://chromium.googlesource.com/external/gitlab.com/wg1/jpeg-xl.git@a205468bc5d3a353fb15dae2398a101dff52f2d3", | ||
"third_party/externals/libpng" : "https://skia.googlesource.com/third_party/libpng.git@ed217e3e601d8e462f7fd1e04bed43ac42212429", | ||
"third_party/externals/libwebp" : "https://chromium.googlesource.com/webm/libwebp.git@845d5476a866141ba35ac133f856fa62f0b7445f", | ||
- "third_party/externals/libyuv" : "https://chromium.googlesource.com/libyuv/libyuv.git@d248929c059ff7629a85333699717d7a677d8d96", | ||
- "third_party/externals/microhttpd" : "https://android.googlesource.com/platform/external/libmicrohttpd@748945ec6f1c67b7efc934ab0808e1d32f2fb98d", | ||
- "third_party/externals/oboe" : "https://chromium.googlesource.com/external/github.com/google/oboe.git@b02a12d1dd821118763debec6b83d00a8a0ee419", | ||
- "third_party/externals/opengl-registry" : "https://skia.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry@14b80ebeab022b2c78f84a573f01028c96075553", | ||
- "third_party/externals/partition_alloc" : "https://chromium.googlesource.com/chromium/src/base/allocator/partition_allocator.git@ca4487e127c2e071da5d4a36a9f71fd7b65b1434", | ||
- "third_party/externals/perfetto" : "https://android.googlesource.com/platform/external/perfetto@93885509be1c9240bc55fa515ceb34811e54a394", | ||
"third_party/externals/piex" : "https://android.googlesource.com/platform/external/piex.git@bb217acdca1cc0c16b704669dd6f91a1b509c406", | ||
- "third_party/externals/swiftshader" : "https://swiftshader.googlesource.com/SwiftShader@7a9a492a38b7c701f7c96a15a76046aed8f8c0c3", | ||
"third_party/externals/vulkanmemoryallocator" : "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@a6bfc237255a6bac1513f7c1ebde6d8aed6b5191", | ||
- # vulkan-deps is a meta-repo containing several interdependent Khronos Vulkan repositories. | ||
- # When the vulkan-deps revision is updated, those repos (spirv-*, vulkan-*) should be updated as well. | ||
"third_party/externals/vulkan-deps" : "https://chromium.googlesource.com/vulkan-deps@8f346c5caf5a624f42324ffb88167fc90992cab5", | ||
- "third_party/externals/spirv-cross" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross@b8fcf307f1f347089e3c46eb4451d27f32ebc8d3", | ||
"third_party/externals/spirv-headers" : "https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git@50bc4debdc3eec5045edbeb8ce164090e29b91f3", | ||
- "third_party/externals/spirv-tools" : "https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git@42b315c15b1ff941b46bb3949c105e5386be8717", | ||
- "third_party/externals/vello" : "https://skia.googlesource.com/external/github.com/linebender/vello.git@3ee3bea02164c5a816fe6c16ef4e3a810edb7620", | ||
- "third_party/externals/vulkan-headers" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers@d91597a82f881d473887b560a03a7edf2720b72c", | ||
- "third_party/externals/vulkan-tools" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools@eb9b6043be165f06c7ec78fadbb1ff773c5fc19c", | ||
- "third_party/externals/vulkan-utility-libraries": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries@bfd85956e1b4c1c79842ce857fc7fb15adb8a573", | ||
- "third_party/externals/unicodetools" : "https://chromium.googlesource.com/external/github.com/unicode-org/unicodetools@66a3fa9dbdca3b67053a483d130564eabc5fe095", | ||
- #"third_party/externals/v8" : "https://chromium.googlesource.com/v8/v8.git@5f1ae66d5634e43563b2d25ea652dfb94c31a3b4", | ||
"third_party/externals/wuffs" : "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git@e3f919ccfe3ef542cfc983a82146070258fb57f8", | ||
"third_party/externals/zlib" : "https://chromium.googlesource.com/chromium/src/third_party/zlib@646b7f569718921d7d4b5b8e22572ff6c76f2596", | ||
|
||
diff --git a/bin/activate-emsdk b/bin/activate-emsdk | ||
index 687ca9f..7167d8d 100755 | ||
--- a/bin/activate-emsdk | ||
+++ b/bin/activate-emsdk | ||
@@ -17,6 +17,7 @@ EMSDK_PATH = os.path.join(EMSDK_ROOT, 'emsdk.py') | ||
EMSDK_VERSION = '3.1.44' | ||
|
||
def main(): | ||
+ return | ||
if sysconfig.get_platform() in ['linux-aarch64', 'linux-arm64']: | ||
# This platform cannot install emsdk at the provided version. See | ||
# https://github.com/emscripten-core/emsdk/blob/main/emscripten-releases-tags.json#L5 |
Oops, something went wrong.