-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build Skiko with Clang-CL #1020
Conversation
fc06646
to
4994bc5
Compare
The CI is failing because this PR depends on a new Skia-pack release (-2). |
skiko/src/commonMain/kotlin/org/jetbrains/skia/BreakIterator.kt
Outdated
Show resolved
Hide resolved
9b63fd3
to
3471a22
Compare
skiko/src/commonMain/kotlin/org/jetbrains/skia/BreakIterator.kt
Outdated
Show resolved
Hide resolved
|
2452284
to
d8aa60a
Compare
Binary size 27 % is smaller |
d8aa60a
to
d03c5c5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd rather have two separate PRs but don't have any strong objections apart of changing the logic behind build-with-local-skia.sh
d03c5c5
to
a63fcf0
Compare
I've split the BreakIterator part off into a separate PR: #1024 It would be a prerequisite for this one. |
eed7433
to
9e3d428
Compare
This PR is split-off from and is a prerequisite of Clang-cl PR: #1020 BreakIterator.clone() is broken on JVM and seemingly leads to a use-after-free behaviour. Clang-cl makes this issue more visible, likely due to address sanitisation. Explanation why it is deleted in an internal channel: https://jetbrains.slack.com/archives/C02DDNREC77/p1738678000232729 * `breakIteratorCloneTest` is failing with an access violation in Debug mode with additional checks, so using it wasn't safe * it is not used anywhere This is a breaking change and will require bumping Skiko version to 0.9.0.
9e3d428
to
e3464bc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking care of it!
Official Skia documentation suggests that it's highly recommended to build Skia with Clang-CL on Windows, and that this dramatically improves Skia performance with Software rendering and in other areas. This corresponds with my experience, so here it is.
Related Skia-pack PR: JetBrains/skia-pack#64
Prerequisite: #1024