Skip to content

anyrender_skia: drop unused skia-safe textlayout feature (except on Windows) - #102

Merged
nicoburns merged 2 commits into
mainfrom
devin/1790696199-remove-skia-textlayout
Sep 29, 2026
Merged

nicoburns merged 2 commits into
mainfrom
devin/1790696199-remove-skia-textlayout

Conversation

@nicoburns

@nicoburns nicoburns commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

Summary

anyrender_skia enabled skia-safe's textlayout feature (SkParagraph/SkShaper), but nothing in the crate uses it; text goes through draw_glyphs. This PR removes it everywhere except Windows. That shrinks the Skia build and makes the feature set closer to the combinations rust-skia publishes, including the Graphite ones, which never include textlayout.

[dependencies]
skia-safe = { version = "0.153.3", features = ["gl", "pdf"] }   # was ["gl", "pdf", "textlayout"]

[target.'cfg(windows)'.dependencies]
skia-safe = { version = "0.153.3", features = ["textlayout"] }

Windows keeps textlayout only so it stays on prebuilt binaries. rust-skia's windows-binaries.yaml matrix has ganesh,gl,textlayout,vulkan but no ganesh,gl,vulkan, which Linux does have. Without textlayout, Windows + vulkan would build Skia from source.

Prebuilt binaries (checked against the skia-binaries 0.153.3 assets, and with cargo tree --target <triple> -e features for the resolved skia-bindings features):

  • Verified by building locally on aarch64-apple-darwin: the build downloads ...-aarch64-apple-darwin-ganesh-gl-jpegd-jpege-metal-pdf.tar.gz.
  • Linux, Android, macOS and iOS (x86_64 and aarch64), default features: a prebuilt exists without textlayout.
  • Linux and Android + vulkan: prebuilt exists.
  • Windows (x86_64 and aarch64): the feature set is unchanged, so it still uses the same prebuilts as before.
  • macOS + vulkan: no prebuilt either before or after this change.

Link to Devin session: https://dioxus.staging.devinenterprise.com/sessions/7b8d8492640e46d08ea6cd8b5ab63dbb
Open in Devin Desktop: https://dioxus.staging.devinenterprise.com/desktop/session/7b8d8492640e46d08ea6cd8b5ab63dbb?variant=devin-insiders
Requested by: @nicoburns

@staging-devin-ai-integration

Copy link
Copy Markdown

I'll fix CI failures and address comments from users with write access that start with 'Devin'.

  • Disable automatic comment, CI, and merge conflict monitoring

@staging-devin-ai-integration staging-devin-ai-integration Bot changed the title anyrender_skia: drop unused skia-safe textlayout feature anyrender_skia: drop unused skia-safe textlayout feature (except on Windows) Sep 29, 2026
@nicoburns
nicoburns merged commit 61e5984 into main Sep 29, 2026
9 checks passed
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