Skip to content

Conversation

@HinTak
Copy link
Collaborator

@HinTak HinTak commented Aug 9, 2025

Nothing exciting - a lot of under-the-hood changes, but nothing user-visible. I think this will fail ci due to
pybind/pybind11#5694
(Waiting got pybind11 3.0.1 to he out)

HinTak added 22 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.
[] (const SkStrokeRec& strokerec, SkPath* dst, const SkPath& src) {
auto dst2 = SkPathBuilder(*dst);
return strokerec.applyToPath(&dst2, src);
},
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kyamagu while adjusting this for m140, I realised that this never worked correctly, right? You cannot update a dst pointer passed in from python and see the result in python afterwards.

This needs to change to return the dst, I think.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The old prototype is completely gone for this one.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change in m140 is that the dst argument has changed type.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this won't work, thanks!

@HinTak
Copy link
Collaborator Author

HinTak commented Aug 10, 2025

Besides the pybind11 breakage, there seems to be an upstream issue with arm64 windows: google's url for downloading arm64 gn seems to be broken

@HinTak
Copy link
Collaborator Author

HinTak commented Aug 10, 2025

Windows pip does not understand the "pip install 'pybind11<3.0.0' numpy" syntax.

@HinTak
Copy link
Collaborator Author

HinTak commented Aug 23, 2025

Building again pybind11 seems to segfault on pytest exit. Very strange... investigate tomorrow.

…ck to 2.x

Cannot reproduce segfault locally. To investigate.

Revert "pybind11 3.0.1 is out; remove limitation not to use 3.0.0"

This reverts commit ac7b85a.
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.

2 participants