Skip to content

M143 public#355

Open
HinTak wants to merge 113 commits intokyamagu:mainfrom
HinTak:m143-public
Open

M143 public#355
HinTak wants to merge 113 commits intokyamagu:mainfrom
HinTak:m143-public

Conversation

@HinTak
Copy link
Collaborator

@HinTak HinTak commented Dec 8, 2025

Expect to segfault at end of ci due to pybind11 issue (#350). Also macos-13 seems to have been withdrawn by github in the last few months. Otherwise quite similar to m138.

HinTak added 30 commits June 25, 2025 17:58
…, and removed.

It was deprecated in m139, and gone in m140.

Milestone 139
-------------
  * `SkFontMgr_New_FontConfig` with 1 parameter has been deprecated and will be removed in a future
    release. Clients will need to call the other version providing an SkFontScanner (e.g.
    `SkFontScanner_Make_FreeType()`)

Conflicts:
	src/skia/Font.cpp
…favor of the `SkRecorder*` version.

Milestone 140
-------------
  * `SkImage::isValid(GrRecordingContext*)` has been deprecated in favor of the `SkRecorder*` version.
    To migrate do something like `image->isValid(ctx->asRecorder())`.

    `SkImage::makeSubset(GrDirectContext*, ...)` has been deprecated in favor of the `SkRecorder*`
    version. To migrate, do something like `image->makeSubset(ctx->asRecorder, ..., {})`

    `SkImage::makeColorSpace(GrDirectContext*, ...)` has been deprecated in favor of the `SkRecorder*`
    version. To migrate, do something like `image->makeColorSpace(ctx->asRecorder, ..., {})`

    `SkImage::makeColorTypeAndColorSpace(GrDirectContext*, ...)` has been deprecated in favor of the
    `SkRecorder*` version. To migrate, do something like
    `image->makeColorTypeAndColorSpace(ctx->asRecorder, ..., {})`

    In the case you are working with CPU-backed images, `skcpu::Recorder::TODO()` should work until
    a `skcpu::Context` and `skcpu::Recorder` can be used properly.
…atrix.inverse()

m139:
    bool setPolyToPoly(const SkPoint src[], const SkPoint dst[], int count);
m140:
    bool setPolyToPoly(SkSpan<const SkPoint> src, SkSpan<const SkPoint> dst);

Before m140, only (deprecated):
    [[nodiscard]] bool invert(SkMatrix* inverse) const;
Added in m140:
    std::optional<SkMatrix> invert() const;
Old:
    bool getSegment(SkScalar startD, SkScalar stopD, SkPath* dst, bool startWithMoveTo);
Newly added:
    bool getSegment(SkScalar startD, SkScalar stopD, SkPathBuilder* dst, bool startWithMoveTo);
Old:
    bool transform(const SkMatrix& matrix, SkRRect* dst) const;
Newly added:
    std::optional<SkRRect> transform(const SkMatrix& matrix) const;
Old:
    bool getBoundaryPath(SkPath* path) const;
Newly added:
    SkPath getBoundaryPath() const;
was:
    bool applyToPath(SkPath* dst, const SkPath& src) const;
m140:
    bool applyToPath(SkPathBuilder* dst, const SkPath& src) const;
This reverts commit cd8af0c.

Should not be needed in m140.
Hin-Tak Leung and others added 30 commits February 27, 2026 17:08
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
src/skia/Matrix.cpp:1562:13: error: return type 'Tuple<int, int>' must match previous return type
      'Tuple<float &, float &>' when lambda expression has unspecified explicit return type
 1562 |             return py::make_tuple(-1, -1);
      |             ^
1 error generated.

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Fixes kyamagu#350

See
   kyamagu#350
   Segfault on pytest exit in CI against pybind11 3.0.1

This is a workaround. See upstream issues:

    pybind/pybind11#5976
    [BUG]: Crash due to invalid free during cleanup, if any enum is registerd, due to attempting to free a string literal

    pybind/pybind11#5991
    [BUG]: segfault at exit since upgrading to 3.0.x, probably due to "Make wrapped C++ functions pickleable" (pybind/pybind11#5580)

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
…Format and VkImageLayout

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
src/skia/Matrix.cpp:1562:13: error: return type 'Tuple<int, int>' must match previous return type
      'Tuple<float &, float &>' when lambda expression has unspecified explicit return type
 1562 |             return py::make_tuple(-1, -1);
      |             ^
1 error generated.

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Fixes kyamagu#350

See
   kyamagu#350
   Segfault on pytest exit in CI against pybind11 3.0.1

This is a workaround. See upstream issues:

    pybind/pybind11#5976
    [BUG]: Crash due to invalid free during cleanup, if any enum is registerd, due to attempting to free a string literal

    pybind/pybind11#5991
    [BUG]: segfault at exit since upgrading to 3.0.x, probably due to "Make wrapped C++ functions pickleable" (pybind/pybind11#5580)

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
…Format and VkImageLayout

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
src/skia/Matrix.cpp:1562:13: error: return type 'Tuple<int, int>' must match previous return type
      'Tuple<float &, float &>' when lambda expression has unspecified explicit return type
 1562 |             return py::make_tuple(-1, -1);
      |             ^
1 error generated.

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
See actions/runner-images#13046
macOS 13 is fully unsupported by December 4th 2025 for GitHub.
See actions/runner-images#13046
macOS 13 is fully unsupported by December 4th 2025 for GitHub.
See actions/runner-images#13046
macOS 13 is fully unsupported by December 4th 2025 for GitHub.
See actions/runner-images#13046
macOS 13 is fully unsupported by December 4th 2025 for GitHub.
Revert "Skip pybind11 3.0.0 until it get fixed (waiting for 3.0.1)"

This reverts commit 443a499.
Revert "Make artefacts available even when pytest fails."

This reverts commit a057e3c.
Revert "Make artefacts available even when pytest fails."

This reverts commit a057e3c.
Revert "Make artefacts available even when pytest fails."

This reverts commit a057e3c.
m140-public includes everything in m139-public.

Merge remote-tracking branch 'origin/m139-public' into m140-public
Merge remote-tracking branch 'origin/m140-public' into m141-public
Merge remote-tracking branch 'origin/m141-public' into m142-public
Revert "Make artefacts available even when pytest fails."

This reverts commit a057e3c.
Merge remote-tracking branch 'origin/m142-public' into m143-public
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant