Skip to content

Commit a942b21

Browse files
authored
Merge pull request #205 from HinTak/m119-public
M119 public
2 parents dcba39e + 3ca5d9a commit a942b21

21 files changed

+271
-61
lines changed

Diff for: .github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
skia
2525
key: linux-aarch64-skia-${{ github.sha }}-3rd-party
2626
- name: Pre-fetch skia deps
27-
run: git config --global core.compression 0 && cd skia && patch -p1 -i ../patch/skia-m117-minimize-download.patch && python tools/git-sync-deps && patch -p1 -R -i ../patch/skia-m117-minimize-download.patch
27+
run: git config --global core.compression 0 && cd skia && patch -p1 -i ../patch/skia-m119-minimize-download.patch && python tools/git-sync-deps && patch -p1 -R -i ../patch/skia-m119-minimize-download.patch
2828
- name: Set up QEMU
2929
uses: docker/setup-qemu-action@v2
3030
- name: Build skia 3rd-Party

Diff for: README.m118.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Since m117:
2+
3+
* Remove GrBackendSurfaceMutableState
4+
* Remove bridge code for legacy GL GrBackendSurface code
5+
* GrBackendFormat::MakeGL, GrBackendFormat::asGLFormat,
6+
GrBackendTexture::getGLTextureInfo,
7+
GrBackendTexture::glTextureParametersModified,
8+
GrBackendRenderTarget::getGLFramebufferInfo,
9+
now emulated
10+
* GL-related GrBackendTexture, GrBackendRenderTarget constructors removed
11+
(m119 adds emulation for these)

Diff for: README.m119.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Since m118:
2+
3+
* SkImage::makeWithFilter emulated
4+
* GrDirectContext::purgeUnlockedResources, GrDirectContext::flushAndSubmit,
5+
GrDirectContext::submit takes enums instead of true/false
6+
* some Sk*PathEffect have been removed from the public API
7+
(TODO: emulate?)
8+
* Emulate GL-related GrBackendTexture, GrBackendRenderTarget constructors
9+
(was removed in m118)
10+
11+
Since m87:
12+
13+
* Emulate SkImageFilters::Xfermode with SkImageFilters::Blend
14+
- Milestone 88
15+
------------
16+
* Add new SkImageFilters::Blend factory function, in place of the now deprecated
17+
SkImageFilters::Xfermode factory function. Behavior is identical, but name better matches
18+
conventions in SkShader and SkColorFilter.
19+
https://review.skia.org/324623
20+
* Emulate pre-m116 SkTableColorFilter class and SkTableColorFilter::Make

Diff for: README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Binary package is available on PyPI:
1515
pip install skia-python
1616
```
1717

18-
Supported platforms: Python 3.7-3.11 (CPython) on
18+
Supported platforms: Python 3.7-3.12 (CPython) on
1919

2020
- Linux x86_64, aarch64
2121
- macOS x86_64, arm64
@@ -52,7 +52,8 @@ https://kyamagu.github.io/skia-python
5252
- [Tutorial](https://kyamagu.github.io/skia-python/tutorial/)
5353
- [Reference](https://kyamagu.github.io/skia-python/reference.html)
5454

55-
- For information about the `m87` to `m116` changes, and tips on migration: [README.m116](README.m116.md).
55+
- For information about changes after `m116`, and tips on migration from `m87`: [README.m116](README.m116.md),
56+
[README.m117](README.m117.md), [README.m118](README.m118.md), [README.m119](README.m119.md).
5657

5758
## Contributing
5859

Diff for: patch/skia-m118-minimize-download.patch

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
diff --git a/DEPS b/DEPS
2+
index 29392dd3a6..f5c409cc80 100644
3+
--- a/DEPS
4+
+++ b/DEPS
5+
@@ -19,51 +19,15 @@ vars = {
6+
# ./tools/git-sync-deps
7+
deps = {
8+
"buildtools" : "https://chromium.googlesource.com/chromium/src/buildtools.git@b138e6ce86ae843c42a1a08f37903207bebcca75",
9+
- "third_party/externals/angle2" : "https://chromium.googlesource.com/angle/angle.git@e691a4edb19a9a3deef0108966697e786e40dc9d",
10+
- "third_party/externals/brotli" : "https://skia.googlesource.com/external/github.com/google/brotli.git@6d03dfbedda1615c4cba1211f8d81735575209c8",
11+
- "third_party/externals/d3d12allocator" : "https://skia.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git@169895d529dfce00390a20e69c2f516066fe7a3b",
12+
- # Dawn requires jinja2 and markupsafe for the code generator, tint for SPIRV compilation, and abseil for string formatting.
13+
- # When the Dawn revision is updated these should be updated from the Dawn DEPS as well.
14+
- "third_party/externals/dawn" : "https://dawn.googlesource.com/dawn.git@b9afa50913de862e388195589917e7fbf30d2810",
15+
- "third_party/externals/jinja2" : "https://chromium.googlesource.com/chromium/src/third_party/jinja2@515dd10de9bf63040045902a4a310d2ba25213a0",
16+
- "third_party/externals/markupsafe" : "https://chromium.googlesource.com/chromium/src/third_party/markupsafe@006709ba3ed87660a17bd4548c45663628f5ed85",
17+
- "third_party/externals/abseil-cpp" : "https://skia.googlesource.com/external/github.com/abseil/abseil-cpp.git@cb436cf0142b4cbe47aae94223443df7f82e2920",
18+
"third_party/externals/dng_sdk" : "https://android.googlesource.com/platform/external/dng_sdk.git@c8d0c9b1d16bfda56f15165d39e0ffa360a11123",
19+
- "third_party/externals/egl-registry" : "https://skia.googlesource.com/external/github.com/KhronosGroup/EGL-Registry@b055c9b483e70ecd57b3cf7204db21f5a06f9ffe",
20+
- "third_party/externals/emsdk" : "https://skia.googlesource.com/external/github.com/emscripten-core/emsdk.git@a896e3d066448b3530dbcaa48869fafefd738f57",
21+
"third_party/externals/expat" : "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git@441f98d02deafd9b090aea568282b28f66a50e36",
22+
"third_party/externals/freetype" : "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git@2d9fce53d4ce89f36075168282fcdd7289e082f9",
23+
"third_party/externals/harfbuzz" : "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git@4cfc6d8e173e800df086d7be078da2e8c5cfca19",
24+
- "third_party/externals/highway" : "https://chromium.googlesource.com/external/github.com/google/highway.git@424360251cdcfc314cfc528f53c872ecd63af0f0",
25+
"third_party/externals/icu" : "https://chromium.googlesource.com/chromium/deps/icu.git@a0718d4f121727e30b8d52c7a189ebf5ab52421f",
26+
- "third_party/externals/imgui" : "https://skia.googlesource.com/external/github.com/ocornut/imgui.git@55d35d8387c15bf0cfd71861df67af8cfbda7456",
27+
- "third_party/externals/libavif" : "https://skia.googlesource.com/external/github.com/AOMediaCodec/libavif.git@f49462dc93784bf34148715eee36ab6697ca0b35",
28+
- "third_party/externals/libgav1" : "https://chromium.googlesource.com/codecs/libgav1.git@0fb779c1e169fe6c229cd1fa9cc6ea6feeb441da",
29+
- "third_party/externals/libgrapheme" : "https://skia.googlesource.com/external/github.com/FRIGN/libgrapheme/@c0cab63c5300fa12284194fbef57aa2ed62a94c0",
30+
"third_party/externals/libjpeg-turbo" : "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git@ed683925e4897a84b3bffc5c1414c85b97a129a3",
31+
- "third_party/externals/libjxl" : "https://chromium.googlesource.com/external/gitlab.com/wg1/jpeg-xl.git@a205468bc5d3a353fb15dae2398a101dff52f2d3",
32+
"third_party/externals/libpng" : "https://skia.googlesource.com/third_party/libpng.git@386707c6d19b974ca2e3db7f5c61873813c6fe44",
33+
"third_party/externals/libwebp" : "https://chromium.googlesource.com/webm/libwebp.git@fd7bb21c0cb56e8a82e9bfa376164b842f433f3b",
34+
- "third_party/externals/libyuv" : "https://chromium.googlesource.com/libyuv/libyuv.git@d248929c059ff7629a85333699717d7a677d8d96",
35+
- "third_party/externals/microhttpd" : "https://android.googlesource.com/platform/external/libmicrohttpd@748945ec6f1c67b7efc934ab0808e1d32f2fb98d",
36+
- "third_party/externals/oboe" : "https://chromium.googlesource.com/external/github.com/google/oboe.git@b02a12d1dd821118763debec6b83d00a8a0ee419",
37+
- "third_party/externals/opengl-registry" : "https://skia.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry@14b80ebeab022b2c78f84a573f01028c96075553",
38+
- "third_party/externals/perfetto" : "https://android.googlesource.com/platform/external/perfetto@93885509be1c9240bc55fa515ceb34811e54a394",
39+
"third_party/externals/piex" : "https://android.googlesource.com/platform/external/piex.git@bb217acdca1cc0c16b704669dd6f91a1b509c406",
40+
- "third_party/externals/sfntly" : "https://chromium.googlesource.com/external/github.com/googlei18n/sfntly.git@b55ff303ea2f9e26702b514cf6a3196a2e3e2974",
41+
- "third_party/externals/swiftshader" : "https://swiftshader.googlesource.com/SwiftShader@32f9332d1d7aacbdba7c1aa5df894bb1890bb2cc",
42+
- "third_party/externals/vulkanmemoryallocator" : "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@a6bfc237255a6bac1513f7c1ebde6d8aed6b5191",
43+
- # vulkan-deps is a meta-repo containing several interdependent Khronos Vulkan repositories.
44+
- # When the vulkan-deps revision is updated, those repos (spirv-*, vulkan-*) should be updated as well.
45+
- "third_party/externals/vulkan-deps" : "https://chromium.googlesource.com/vulkan-deps@f2f4bb6f20eca8292dde8aeb54448a0ed92ba3af",
46+
- "third_party/externals/spirv-cross" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross@54997fb4bc3adeb47b9b9f7bb67f1c25eaca2204",
47+
- "third_party/externals/spirv-headers" : "https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git@d790ced752b5bfc06b6988baadef6eb2d16bdf96",
48+
- "third_party/externals/spirv-tools" : "https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git@3cc7e1c4c318aa4c4a7a8972b6066ab2d9d217cc",
49+
- "third_party/externals/vello" : "https://skia.googlesource.com/external/github.com/linebender/vello.git@443539891c4c1eb3ca4ed891d251cbf4097c9a9c",
50+
- "third_party/externals/vulkan-headers" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers@2634c969d7dc0e983f005f7f2e665cce8449efe6",
51+
- "third_party/externals/vulkan-tools" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools@389110e4600669d82bca042859fddf898387c0d2",
52+
- "third_party/externals/unicodetools" : "https://chromium.googlesource.com/external/github.com/unicode-org/unicodetools@66a3fa9dbdca3b67053a483d130564eabc5fe095",
53+
- #"third_party/externals/v8" : "https://chromium.googlesource.com/v8/v8.git@5f1ae66d5634e43563b2d25ea652dfb94c31a3b4",
54+
"third_party/externals/wuffs" : "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git@e3f919ccfe3ef542cfc983a82146070258fb57f8",
55+
"third_party/externals/zlib" : "https://chromium.googlesource.com/chromium/src/third_party/zlib@c876c8f87101c5a75f6014b0f832499afeb65b73",
56+
57+
diff --git a/bin/activate-emsdk b/bin/activate-emsdk
58+
index 687ca9fa3c..7167d8d8ec 100755
59+
--- a/bin/activate-emsdk
60+
+++ b/bin/activate-emsdk
61+
@@ -17,6 +17,7 @@ EMSDK_PATH = os.path.join(EMSDK_ROOT, 'emsdk.py')
62+
EMSDK_VERSION = '3.1.44'
63+
64+
def main():
65+
+ return
66+
if sysconfig.get_platform() in ['linux-aarch64', 'linux-arm64']:
67+
# This platform cannot install emsdk at the provided version. See
68+
# https://github.com/emscripten-core/emsdk/blob/main/emscripten-releases-tags.json#L5

Diff for: patch/skia-m119-minimize-download.patch

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
diff --git a/DEPS b/DEPS
2+
index cb5ae85..aeeea58 100644
3+
--- a/DEPS
4+
+++ b/DEPS
5+
@@ -23,52 +23,15 @@ vars = {
6+
# ./tools/git-sync-deps
7+
deps = {
8+
"buildtools" : "https://chromium.googlesource.com/chromium/src/buildtools.git@b138e6ce86ae843c42a1a08f37903207bebcca75",
9+
- "third_party/externals/angle2" : "https://chromium.googlesource.com/angle/angle.git@1cab871c220744402b887e73ff86aaf8f7f97fa0",
10+
- "third_party/externals/brotli" : "https://skia.googlesource.com/external/github.com/google/brotli.git@6d03dfbedda1615c4cba1211f8d81735575209c8",
11+
- "third_party/externals/d3d12allocator" : "https://skia.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git@169895d529dfce00390a20e69c2f516066fe7a3b",
12+
- # Dawn requires jinja2 and markupsafe for the code generator, tint for SPIRV compilation, and abseil for string formatting.
13+
- # When the Dawn revision is updated these should be updated from the Dawn DEPS as well.
14+
- "third_party/externals/dawn" : "https://dawn.googlesource.com/dawn.git@a42cebae4e42103c82ca58e5abdc2ba9fcffae84",
15+
- "third_party/externals/jinja2" : "https://chromium.googlesource.com/chromium/src/third_party/jinja2@515dd10de9bf63040045902a4a310d2ba25213a0",
16+
- "third_party/externals/markupsafe" : "https://chromium.googlesource.com/chromium/src/third_party/markupsafe@006709ba3ed87660a17bd4548c45663628f5ed85",
17+
- "third_party/externals/abseil-cpp" : "https://skia.googlesource.com/external/github.com/abseil/abseil-cpp.git@cb436cf0142b4cbe47aae94223443df7f82e2920",
18+
"third_party/externals/dng_sdk" : "https://android.googlesource.com/platform/external/dng_sdk.git@c8d0c9b1d16bfda56f15165d39e0ffa360a11123",
19+
- "third_party/externals/egl-registry" : "https://skia.googlesource.com/external/github.com/KhronosGroup/EGL-Registry@b055c9b483e70ecd57b3cf7204db21f5a06f9ffe",
20+
- "third_party/externals/emsdk" : "https://skia.googlesource.com/external/github.com/emscripten-core/emsdk.git@a896e3d066448b3530dbcaa48869fafefd738f57",
21+
"third_party/externals/expat" : "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git@441f98d02deafd9b090aea568282b28f66a50e36",
22+
"third_party/externals/freetype" : "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git@45903920b984540bb629bc89f4c010159c23a89a",
23+
"third_party/externals/harfbuzz" : "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git@4cfc6d8e173e800df086d7be078da2e8c5cfca19",
24+
- "third_party/externals/highway" : "https://chromium.googlesource.com/external/github.com/google/highway.git@424360251cdcfc314cfc528f53c872ecd63af0f0",
25+
"third_party/externals/icu" : "https://chromium.googlesource.com/chromium/deps/icu.git@a0718d4f121727e30b8d52c7a189ebf5ab52421f",
26+
- "third_party/externals/imgui" : "https://skia.googlesource.com/external/github.com/ocornut/imgui.git@55d35d8387c15bf0cfd71861df67af8cfbda7456",
27+
- "third_party/externals/libavif" : "https://skia.googlesource.com/external/github.com/AOMediaCodec/libavif.git@f49462dc93784bf34148715eee36ab6697ca0b35",
28+
- "third_party/externals/libgav1" : "https://chromium.googlesource.com/codecs/libgav1.git@0fb779c1e169fe6c229cd1fa9cc6ea6feeb441da",
29+
- "third_party/externals/libgrapheme" : "https://skia.googlesource.com/external/github.com/FRIGN/libgrapheme/@c0cab63c5300fa12284194fbef57aa2ed62a94c0",
30+
"third_party/externals/libjpeg-turbo" : "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git@ed683925e4897a84b3bffc5c1414c85b97a129a3",
31+
- "third_party/externals/libjxl" : "https://chromium.googlesource.com/external/gitlab.com/wg1/jpeg-xl.git@a205468bc5d3a353fb15dae2398a101dff52f2d3",
32+
"third_party/externals/libpng" : "https://skia.googlesource.com/third_party/libpng.git@386707c6d19b974ca2e3db7f5c61873813c6fe44",
33+
"third_party/externals/libwebp" : "https://chromium.googlesource.com/webm/libwebp.git@2af26267cdfcb63a88e5c74a85927a12d6ca1d76",
34+
- "third_party/externals/libyuv" : "https://chromium.googlesource.com/libyuv/libyuv.git@d248929c059ff7629a85333699717d7a677d8d96",
35+
- "third_party/externals/microhttpd" : "https://android.googlesource.com/platform/external/libmicrohttpd@748945ec6f1c67b7efc934ab0808e1d32f2fb98d",
36+
- "third_party/externals/oboe" : "https://chromium.googlesource.com/external/github.com/google/oboe.git@b02a12d1dd821118763debec6b83d00a8a0ee419",
37+
- "third_party/externals/opengl-registry" : "https://skia.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry@14b80ebeab022b2c78f84a573f01028c96075553",
38+
- "third_party/externals/perfetto" : "https://android.googlesource.com/platform/external/perfetto@93885509be1c9240bc55fa515ceb34811e54a394",
39+
"third_party/externals/piex" : "https://android.googlesource.com/platform/external/piex.git@bb217acdca1cc0c16b704669dd6f91a1b509c406",
40+
- "third_party/externals/sfntly" : "https://chromium.googlesource.com/external/github.com/googlei18n/sfntly.git@b55ff303ea2f9e26702b514cf6a3196a2e3e2974",
41+
- "third_party/externals/swiftshader" : "https://swiftshader.googlesource.com/SwiftShader@7f4d495c89c200c1945cce5995d348dd41dadb5a",
42+
- "third_party/externals/vulkanmemoryallocator" : "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@a6bfc237255a6bac1513f7c1ebde6d8aed6b5191",
43+
- # vulkan-deps is a meta-repo containing several interdependent Khronos Vulkan repositories.
44+
- # When the vulkan-deps revision is updated, those repos (spirv-*, vulkan-*) should be updated as well.
45+
- "third_party/externals/vulkan-deps" : "https://chromium.googlesource.com/vulkan-deps@1e40b8e966f5dbac2e886e5ba1eb30f660cd5cf9",
46+
- "third_party/externals/spirv-cross" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross@6e1fb9b09efadee38748e0fd0e6210d329087e89",
47+
- "third_party/externals/spirv-headers" : "https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git@79743b899fde5c954897b2694291002626358fac",
48+
- "third_party/externals/spirv-tools" : "https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git@1bc0e6f59abc3c9cd75f93baef47e9612a448045",
49+
- "third_party/externals/vello" : "https://skia.googlesource.com/external/github.com/linebender/vello.git@ee3a076b291d206c361431cc841407adf265c692",
50+
- "third_party/externals/vulkan-headers" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers@7e691380166fb1cd9b193ac9db896bc23a4ea9ad",
51+
- "third_party/externals/vulkan-tools" : "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools@3a19c1973f0e4732b8f3746593aee2ac425ecb78",
52+
- "third_party/externals/vulkan-utility-libraries": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries@2169a0849e3df4e2133b728dec67d3b16bd30263",
53+
- "third_party/externals/unicodetools" : "https://chromium.googlesource.com/external/github.com/unicode-org/unicodetools@66a3fa9dbdca3b67053a483d130564eabc5fe095",
54+
- #"third_party/externals/v8" : "https://chromium.googlesource.com/v8/v8.git@5f1ae66d5634e43563b2d25ea652dfb94c31a3b4",
55+
"third_party/externals/wuffs" : "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git@e3f919ccfe3ef542cfc983a82146070258fb57f8",
56+
"third_party/externals/zlib" : "https://chromium.googlesource.com/chromium/src/third_party/zlib@c876c8f87101c5a75f6014b0f832499afeb65b73",
57+
58+
diff --git a/bin/activate-emsdk b/bin/activate-emsdk
59+
index 687ca9f..7167d8d 100755
60+
--- a/bin/activate-emsdk
61+
+++ b/bin/activate-emsdk
62+
@@ -17,6 +17,7 @@ EMSDK_PATH = os.path.join(EMSDK_ROOT, 'emsdk.py')
63+
EMSDK_VERSION = '3.1.44'
64+
65+
def main():
66+
+ return
67+
if sysconfig.get_platform() in ['linux-aarch64', 'linux-arm64']:
68+
# This platform cannot install emsdk at the provided version. See
69+
# https://github.com/emscripten-core/emsdk/blob/main/emscripten-releases-tags.json#L5

Diff for: scripts/build_Linux.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ git clone https://gn.googlesource.com/gn && \
6060

6161
# Build skia
6262
cd skia && \
63-
patch -p1 < ../patch/skia-m117-minimize-download.patch && \
63+
patch -p1 < ../patch/skia-m119-minimize-download.patch && \
6464
patch -p1 < ../patch/skia-m116-colrv1-freetype.diff && \
6565
python3 tools/git-sync-deps && \
6666
cp -f ../gn/out/gn bin/gn && \

Diff for: scripts/build_Windows.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export PATH="${PWD}/depot_tools:$PATH"
44

55
# Build skia
66
cd skia && \
7-
patch -p1 < ../patch/skia-m117-minimize-download.patch && \
7+
patch -p1 < ../patch/skia-m119-minimize-download.patch && \
88
patch -p1 < ../patch/skia-m116-colrv1-freetype.diff && \
99
python tools/git-sync-deps && \
1010
bin/gn gen out/Release --args='

0 commit comments

Comments
 (0)