Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
d59ac5e
Roll skia on m138 (canvaskit/0.40.0-456-g114d33c629 to canvaskit/0.40…
HinTak Jun 25, 2025
45ece54
Upgrade skia to m139 (canvaskit/0.40.0-457-ga46d5732d9 to canvaskit/0…
HinTak Jun 25, 2025
28d707b
Bump version up to 139.0
HinTak Jun 25, 2025
76c1c52
m139 patch plus adjustments
HinTak Jun 25, 2025
d9b3d4f
m139 changes
HinTak Jun 25, 2025
cd8af0c
Upstream main (post m139) fix for pdf breakage
HinTak Jun 25, 2025
e1b58ee
Revert "Backporting skia m139 fix to earlier skia for arm64 windows +…
HinTak Jun 26, 2025
6c911d9
Roll skia along m139 (canvaskit/0.40.0-787-g0f94c19331 to canvaskit/0…
HinTak Aug 6, 2025
d160290
upgrade skia to m140 (canvaskit/0.40.0-795-gcbc694239b to canvaskit/0…
HinTak Aug 6, 2025
c9cc4d7
Bump to 140.0
HinTak Aug 7, 2025
b4e4f18
m140: `SkFontMgr_New_FontConfig` with 1 parameter has been deprecated…
HinTak Aug 7, 2025
4e824a4
m140: `SkImage::isValid(GrRecordingContext*)` has been deprecated in …
HinTak Aug 7, 2025
d85f85a
m140: Prototype change for SkMatrix.setPolyToPoly(), and overload SkM…
HinTak Aug 7, 2025
ddd268f
m140: incomplete type 'SkPathBuilder' error; need new header.
HinTak Aug 7, 2025
4835fd0
m140: need overload for SkPathMeasure::getSegment
HinTak Aug 7, 2025
12f94bb
m140: need overload for SkRRect::transform
HinTak Aug 7, 2025
fb7e64d
m140: Need overload for &SkRegion::getBoundaryPath
HinTak Aug 7, 2025
f7187ce
m140: libpathops no longer exists.
HinTak Aug 7, 2025
3444ecc
Fixes seg-fault from dereferencing null->asRecorder()
HinTak Aug 7, 2025
bcaa3aa
m140: SkStrokeRec::applyToPath prototype change
HinTak Aug 7, 2025
2bf816e
Revert "Upstream main (post m139) fix for pdf breakage"
HinTak Aug 9, 2025
ee51150
m140 patch plus adjustments
HinTak Aug 9, 2025
443a499
Skip pybind11 3.0.0 until it get fixed (waiting for 3.0.1)
HinTak Aug 10, 2025
ed9754d
Merge branch 'm139-public' into m140-public
HinTak Aug 10, 2025
f0e1a8b
Windows pip does not like single quotes
HinTak Aug 11, 2025
8e57343
Use x64_64 gn binary for arm64 windows
HinTak Aug 11, 2025
b1355da
Windows pip does not like single quotes - 2nd change
HinTak Aug 11, 2025
ce1ba85
Windows pip does not like single quotes
HinTak Aug 11, 2025
9a57666
Windows pip does not like single quotes - 2nd change
HinTak Aug 11, 2025
f160ab1
Use x64_64 gn binary for arm64 windows
HinTak Aug 11, 2025
eafe57f
Merge branch 'm139-public' into m140-public
HinTak Aug 11, 2025
795197a
Can need apt-get update first before finding the correct packages
HinTak Aug 12, 2025
3b18469
Can need apt-get update first before finding the correct packages
HinTak Aug 12, 2025
3e4f815
Merge branch 'm139-public' into m140-public
HinTak Aug 12, 2025
ac7b85a
pybind11 3.0.1 is out; remove limitation not to use 3.0.0
HinTak Aug 22, 2025
c4de1df
Roll skia on m140 (canvaskit/0.40.0-1240-gb57e04d1c7 to canvaskit/0.4…
HinTak Sep 6, 2025
329b85b
Update skia to m141 (canvaskit/0.40.0-1244-g1fdbea293a to canvaskit/0…
HinTak Sep 6, 2025
a4c4147
Bump version up to 141
HinTak Sep 6, 2025
5268607
m141 patch plus adjustments
HinTak Sep 6, 2025
9d24ab3
m141:SkPath::moveTo() changed prototype
HinTak Sep 7, 2025
c0d859d
pybind11 3.0.1 does not work - segfault on exit from pytest in CI. Ba…
HinTak Sep 7, 2025
bdc7e6b
Merge branch 'm140-public' into m141-public
HinTak Sep 7, 2025
e8c1615
Revert "pybind11 3.0.1 does not work - segfault on exit from pytest i…
HinTak Sep 16, 2025
a1338eb
Make artefacts available even when pytest fails.
HinTak Sep 16, 2025
300f730
Upload wheel-fedora:42
HinTak Sep 16, 2025
7333b2c
: is not valid as artifact name
HinTak Sep 17, 2025
e54b1b2
Roll skia on m141 (canvaskit/0.40.0-1579-g8843f919a1 to canvaskit/0.4…
HinTak Nov 15, 2025
7722b12
Update skia to m142 (canvaskit/0.40.0-1869-gf4ed99d244, from m141 [ca…
HinTak Nov 15, 2025
903852d
Bump version up to 142.0
HinTak Nov 17, 2025
a883b32
m142 patch plus adjustments
HinTak Nov 17, 2025
034c721
m142: needs overload for &SkPath::getLastPt
HinTak Oct 14, 2025
b4d1ab0
m142: New argument mx with default nullptr to SkPathBuilder::snapsho…
HinTak Nov 17, 2025
f6f0030
Adding Python 3.14 builds
HinTak Nov 17, 2025
c824669
m142: Adjust 0001-Disable-OpenGL-for-Windows-on-ARM64.patch to m142
HinTak Nov 17, 2025
ecfe5b1
Bump version up to 143.0
HinTak Dec 8, 2025
e9fabf4
Update skia to m143 (canvaskit/0.40.0-2246-gda51f0d60e) from m142 (ca…
HinTak Dec 8, 2025
a89bf95
m143 patch plus adjustments
HinTak Dec 8, 2025
67cde7e
Reverse-apply Make-SkPath-immutable diff
HinTak Dec 8, 2025
1129e24
m143: enum class SkApplyPerspectiveClip removed
HinTak Dec 7, 2025
e509c65
m143: comment out tests involving ApplyPerspectiveClip
HinTak Dec 8, 2025
6d60cb6
m143: &SkPath::Rect needs overload_cast<>
HinTak Dec 7, 2025
6d4fba5
m143: &SkPath::contains() needs py::overload_cast<>
HinTak Dec 7, 2025
ba4fe4f
m143: Extra new argument to &SkPathBuilder::incReserve
HinTak Dec 7, 2025
8402951
m143: PathBuilder.incReserve() now takes an extra argument.
HinTak Dec 8, 2025
36a01d5
CI: Update to macos-14
HinTak Dec 8, 2025
93d64b4
m143: Adjust 0001-Disable-OpenGL-for-Windows-on-ARM64.patch
HinTak Dec 8, 2025
c5a562a
CI: use macos-15-intel to get a x64 build for auto64.
HinTak Dec 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-2022, macos-13]
os: [ubuntu-22.04, windows-2022, macos-15-intel]
arch: [auto64]
cp: ["cp3{10,11,12,13}"]
cp: ["cp3{10,11,12,13,14}"]
include:
- os: macos-13
- os: macos-14
arch: arm64
cp: "cp3{10,11,12,13}"
cp: "cp3{10,11,12,13,14}"
- os: ubuntu-22.04-arm
arch: aarch64
cp: "cp3{10,11,12,13}"
cp: "cp3{10,11,12,13,14}"
- os: windows-11-arm
arch: ARM64
cp: "cp3{11,12,13}"
cp: "cp3{11,12,13,14}"

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -55,6 +55,7 @@ jobs:
CIBW_TEST_SKIP: "*-macosx_arm64"

- uses: actions/upload-artifact@v4
if: always()
with:
name: wheel-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.cp }}
path: ./wheelhouse/*.whl
Expand All @@ -66,11 +67,11 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-2022, macos-13]
os: [ubuntu-22.04, windows-2022, macos-15-intel]
arch: [auto64]
cp: ["cp3{8,9}"]
include:
- os: macos-13
- os: macos-14
arch: arm64
cp: "cp3{8,9}"
- os: ubuntu-22.04-arm
Expand Down Expand Up @@ -103,6 +104,7 @@ jobs:
CIBW_TEST_SKIP: "*-macosx_arm64"

- uses: actions/upload-artifact@v4
if: always()
with:
name: wheel-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.cp }}
path: ./wheelhouse/*.whl
Expand All @@ -127,6 +129,7 @@ jobs:
- name: Build docs
run: |
# installing libegl1 will also install libegl-mesa0
sudo apt-get -y update
sudo apt-get -y install libegl1
python -m pip install --pre -f dist skia-python
python -m pip install sphinx sphinx-rtd-theme
Expand Down Expand Up @@ -174,6 +177,10 @@ jobs:
submodules: recursive
- run: bash scripts/build_Linux.sh
- run: python -m build --wheel
- uses: actions/upload-artifact@v4
with:
name: wheel-fedora-42
path: ./dist/*.whl
- run: python -m pip install dist/*.whl
- run: python -m pip install moderngl
- run: python -c 'import moderngl; moderngl_context = moderngl.create_standalone_context(backend="egl"); import skia; interface = skia.GrGLInterface.MakeEGL() ; assert isinstance(skia.GrDirectContext.MakeGL(interface), skia.GrContext) ; print("Success3")'
Expand Down
42 changes: 21 additions & 21 deletions patch/0001-Disable-OpenGL-for-Windows-on-ARM64.patch
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,19 @@ index ef913e9..33f3208 100644
sources += [ "src/gpu/ganesh/gl/GrGLMakeNativeInterface_none.cpp" ]
}
@@ -2185,10 +2187,10 @@ if (skia_enable_tools) {
"tools/gpu/gl/win/SkWGL.h",
"tools/gpu/gl/win/SkWGL_win.cpp",
]
- libs += [
- "Gdi32.lib",
- "OpenGL32.lib",
- ]
+ libs += [ "Gdi32.lib" ]
+ if (target_cpu != "arm64") {
+ libs += [ "OpenGL32.lib" ]
+ }
"tools/ganesh/gl/win/SkWGL.h",
"tools/ganesh/gl/win/SkWGL_win.cpp",
]
- libs += [
- "Gdi32.lib",
- "OpenGL32.lib",
- ]
+ libs += [ "Gdi32.lib" ]
+ if (target_cpu != "arm64") {
+ libs += [ "OpenGL32.lib" ]
+ }
}
}
}

diff --git b/src/gpu/ganesh/gl/win/GrGLMakeNativeInterface_win.cpp a/src/gpu/ganesh/gl/win/GrGLMakeNativeInterface_win.cpp
index f33f2e1..da3cbe2 100644
Expand All @@ -70,26 +70,26 @@ index f33f2e1..da3cbe2 100644
+#endif // ARM64
+
#endif // SK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE
diff --git b/tools/gpu/gl/win/SkWGL_win.cpp a/tools/gpu/gl/win/SkWGL_win.cpp
diff --git b/tools/ganesh/gl/win/SkWGL_win.cpp a/tools/ganesh/gl/win/SkWGL_win.cpp
index 4cb462b..ac2d700 100644
--- b/tools/gpu/gl/win/SkWGL_win.cpp
+++ a/tools/gpu/gl/win/SkWGL_win.cpp
--- b/tools/ganesh/gl/win/SkWGL_win.cpp
+++ a/tools/ganesh/gl/win/SkWGL_win.cpp
@@ -6,7 +6,7 @@
*/

#include "include/core/SkTypes.h"
-#if defined(SK_BUILD_FOR_WIN) && !defined(WINUWP)
+#if defined(SK_BUILD_FOR_WIN) && !defined(_M_ARM64) && !defined(WINUWP)

#include "tools/gpu/gl/win/SkWGL.h"
#include "tools/ganesh/gl/win/SkWGL.h"

diff --git b/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp a/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp
diff --git b/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp a/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp
index cb62daf..0d29da7 100644
--- b/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp
+++ a/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp
--- b/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp
+++ a/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp
@@ -8,6 +8,16 @@

#include "tools/gpu/gl/GLTestContext.h"
#include "tools/ganesh/gl/GLTestContext.h"

+#if defined(_M_ARM64)
+
Expand All @@ -103,7 +103,7 @@ index cb62daf..0d29da7 100644
+
#include <windows.h>
#include <GL/GL.h>
#include "tools/gpu/gl/win/SkWGL.h"
#include "tools/ganesh/gl/win/SkWGL.h"
@@ -221,3 +231,4 @@ GLTestContext* CreatePlatformGLTestContext(GrGLStandard forcedGpuAPI,
}
} // namespace sk_gpu_test
Expand Down
81 changes: 81 additions & 0 deletions patch/0001-Reland-Make-SkPath-immutable-on-GN-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
From f352da2d607fffd2629ba408d1c9fb0da8c49c60 Mon Sep 17 00:00:00 2001
From: Kaylee Lubick <kjlubick@google.com>
Date: Fri, 24 Oct 2025 14:25:24 -0700
Subject: [PATCH] Reland "Make SkPath immutable on GN build"

This reverts commit a01eb11751829966ffe9925388e47f85ce585870.

Reason for revert: CanvasKit updated, PathKit deleted, WasmGM tests disabled

Original change's description:
> Revert "Make SkPath immutable on GN build"
>
> This reverts commit 832f6e513d41ec0b268dc1596169312b37f7a182.
>
> Reason for revert: Breaking Ubuntu builds
>
> Original change's description:
> > Make SkPath immutable on GN build
> >
> > Our clients don't use our GN files directly, so we can set the
> > define here and it should not bleed into those builds.
> >
> > Change-Id: Ia991a3075d2f551d8b264b1629548e21f0cbe303
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1074076
> > Auto-Submit: Kaylee Lubick <kjlubick@google.com>
> > Reviewed-by: Eric Boren <borenet@google.com>
> > Commit-Queue: Eric Boren <borenet@google.com>
>
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: If5b99e4b73506bc5f31a189f0a9c3462486642bb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1078196
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Thomas Smith <thomsmit@google.com>

Change-Id: I6caa8371ca86eeb51d8406bad9586f341ffac1e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1084436
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
---
BUILD.gn | 3 +++
gn/gn_to_bp.py | 7 ++++++-
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/BUILD.gn b/BUILD.gn
index 0fd3c5f93d..7645bf3dca 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -23,6 +23,9 @@ config("skia_public") {
defines = [
"SK_CODEC_DECODES_BMP",
"SK_CODEC_DECODES_WBMP",
+
+ # TODO(kjlubick,fmalita) Remove when clients updated and APIs deleted.
+ "SK_HIDE_PATH_EDIT_METHODS",
]
cflags_objcc = []
if (is_component_build) {
diff --git a/gn/gn_to_bp.py b/gn/gn_to_bp.py
index 24195d2eea..2bbe758676 100755
--- a/gn/gn_to_bp.py
+++ b/gn/gn_to_bp.py
@@ -771,7 +771,12 @@ here = os.path.dirname(__file__)
defs = gn_to_bp_utils.GetArchSources(os.path.join(here, 'opts.gni'))

def get_defines(json):
- return {str(d) for d in json['targets']['//:skia']['defines']}
+ defines = {str(d) for d in json['targets']['//:skia']['defines']}
+ # TODO(kjlubick, fmalita) Add this back in to enforce Android doesn't
+ # use these methods anymore.
+ defines.remove("SK_HIDE_PATH_EDIT_METHODS")
+ return defines
+
android_defines = get_defines(js)
linux_defines = get_defines(js_linux)
mac_defines = get_defines(js_mac)
--
2.52.0

146 changes: 0 additions & 146 deletions patch/0001-gn-Remove-msvc-env-setting.patch

This file was deleted.

11 changes: 11 additions & 0 deletions patch/fetch-gn-windows-arm64.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/bin/fetch-gn.orig 2025-08-11 19:21:42.666070053 +0100
+++ b/bin/fetch-gn 2025-08-11 19:23:01.381159842 +0100
@@ -20,7 +20,7 @@
gnzip = os.path.join(tempfile.mkdtemp(), 'gn.zip')
with open(gnzip, 'wb') as f:
OS = {'darwin': 'mac', 'linux': 'linux', 'linux2': 'linux', 'win32': 'windows'}[sys.platform]
- cpu = {'aarch64': 'arm64', 'amd64': 'amd64', 'arm64': 'arm64', 'x86_64': 'amd64'}[platform.machine().lower()]
+ cpu = {'aarch64': 'arm64', 'amd64': 'amd64', 'arm64': 'amd64', 'x86_64': 'amd64'}[platform.machine().lower()]

rev = 'b2afae122eeb6ce09c52d63f67dc53fc517dbdc8'
url = 'https://chrome-infra-packages.appspot.com/dl/gn/gn/{}-{}/+/git_revision:{}'.format(
Loading
Loading