Vendor wgpu-hal 29.0.4 and i-slint-renderer-skia 1.17.1, unmodified

The Android develop view reads its frame back through memory (TD-1)
because wgpu's Vulkan swapchain never pre-rotates, and a portrait window
on this tablet's landscape panel then tears. The fix is a small patch to
each of these two crates, and this commit is only the ground it lands on:
both are byte-for-byte the crates.io sources the lockfile already
resolved, so the commits that follow are the patch and nothing else.

third_party/ is excluded from the workspace, or every path dependency
under the root would become a member and `--workspace` would test and
lint upstream code as ours. The README says how to carry the patches
across a Slint or wgpu bump, which matters because a stale version here
does not fail the build — cargo just warns and uses the unpatched crate.
This commit is contained in:
2026-09-25 04:18:39 -04:00
parent b5ae5c2be1
commit dc1add9dbb
112 changed files with 60304 additions and 4 deletions
+35
View File
@@ -0,0 +1,35 @@
# Patched upstream crates
Each directory here is a crate exactly as crates.io publishes it, at the
version `Cargo.lock` resolves, with a local patch on top. The root
`Cargo.toml` routes the dependency here through `[patch.crates-io]`; the
directory is excluded from the workspace, so `cargo test --workspace`,
clippy and fmt leave it alone.
The first commit that adds a directory is the pristine copy (from
`~/.cargo/registry/src/*/<crate>-<version>`, minus `.cargo-ok` and the
crate's own `Cargo.lock`). Every later commit touching it is ours, so
`git log -p -- third_party/<dir>` is the patch and nothing else.
## Carrying a patch forward
When Slint or wgpu is bumped, the version here stops matching and cargo
warns that the patch is unused — the build then silently goes back to the
unpatched crate. So a bump is:
1. Copy the new version in beside the old one, as its own commit.
2. Re-apply the diff from `git log -p` on the old directory.
3. Point `[patch.crates-io]` at the new directory and delete the old one.
4. Re-check on the device (below) — both patches are behaviour that only a
rotated Android display exercises.
Drop a patch entirely once upstream has the fix; each section says what
upstream change would make it unnecessary.
## wgpu-hal 29.0.4 — Vulkan pre-rotation on Android
*(patch lands in the next commit)*
## i-slint-renderer-skia 1.17.1 — rotate the canvas to match
*(patch lands in a later commit)*