Spike S2 — zero-copy presentation on Adreno and Mali. Never run, and it is one of the three spikes §9 says can invalidate the architecture.
Why it is the sharpest of the three
S1 (Slint + wgpu zero-copy on Linux) ran and passed — that is the evidence ARCH §6.1's hard constraint rests on. S2 asks the same question of the two GPU vendors that actually ship in Android tablets, and it has not been asked.
TD-1 is the warning shot: the Android develop view already reads the frame back through the CPU, because zero-copy there needs wgpu's Vulkan swapchain and that tears a portrait window on a tablet whose panel is mounted landscape. That is a known failure on one device. S2 is what would say whether it generalises.
Blocked on
Hardware. The manifest notes that no emulator represents Adreno or Mali, so this needs real devices — and #30 (NFR-COMPAT-1) has to name a reference device from a second GPU vendor before this spike knows what to run on.
What a failure would mean
If zero-copy cannot be had on either vendor, ARCH §6.1's "processed pixels shall reach the display without a CPU round-trip" is not a constraint on Android but an aspiration, and TD-1 stops being debt and becomes the design. That is a large enough consequence to be worth knowing early.
See docs/outstanding.md §10 and docs/technical-debt.md TD-1.
**Spike S2 — zero-copy presentation on Adreno and Mali.** Never run, and it is **one of the three spikes §9 says can invalidate the architecture**.
## Why it is the sharpest of the three
S1 (Slint + wgpu zero-copy on Linux) ran and passed — that is the evidence ARCH §6.1's hard constraint rests on. S2 asks the same question of the two GPU vendors that actually ship in Android tablets, and it has not been asked.
TD-1 is the warning shot: the Android develop view already reads the frame back through the CPU, because zero-copy there needs wgpu's Vulkan swapchain and that tears a portrait window on a tablet whose panel is mounted landscape. That is a *known* failure on one device. S2 is what would say whether it generalises.
## Blocked on
**Hardware.** The manifest notes that no emulator represents Adreno or Mali, so this needs real devices — and #30 (NFR-COMPAT-1) has to name a reference device from a second GPU vendor before this spike knows what to run on.
## What a failure would mean
If zero-copy cannot be had on either vendor, ARCH §6.1's "processed pixels shall reach the display without a CPU round-trip" is not a constraint on Android but an aspiration, and TD-1 stops being debt and becomes the design. That is a large enough consequence to be worth knowing early.
See `docs/outstanding.md` §10 and `docs/technical-debt.md` TD-1.
Progress (v0.15.0/v0.16.0): the Adreno half now runs zero-copy. TD-1 was paid off in 0.15.0 (dc9da52, 4b4c9e2, a8043e6): wgpu-hal and Slint's Skia renderer are patched to pre-rotate the Vulkan swapchain, and Android's develop frame reaches the compositor as a texture, as on desktop. On the reference tablet (HONOR ROD2-W09, Adreno) it was checked by eye in portrait, landscape and reverse landscape: no tearing. No composition or bufferTransform measurements were taken. The Mali half is still unmeasured, because there is no Mali device; that keeps this open.
Progress (v0.15.0/v0.16.0): the Adreno half now runs zero-copy. TD-1 was paid off in 0.15.0 (dc9da52, 4b4c9e2, a8043e6): wgpu-hal and Slint's Skia renderer are patched to pre-rotate the Vulkan swapchain, and Android's develop frame reaches the compositor as a texture, as on desktop. On the reference tablet (HONOR ROD2-W09, Adreno) it was checked by eye in portrait, landscape and reverse landscape: no tearing. No composition or bufferTransform measurements were taken. The Mali half is still unmeasured, because there is no Mali device; that keeps this open.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Spike S2 — zero-copy presentation on Adreno and Mali. Never run, and it is one of the three spikes §9 says can invalidate the architecture.
Why it is the sharpest of the three
S1 (Slint + wgpu zero-copy on Linux) ran and passed — that is the evidence ARCH §6.1's hard constraint rests on. S2 asks the same question of the two GPU vendors that actually ship in Android tablets, and it has not been asked.
TD-1 is the warning shot: the Android develop view already reads the frame back through the CPU, because zero-copy there needs wgpu's Vulkan swapchain and that tears a portrait window on a tablet whose panel is mounted landscape. That is a known failure on one device. S2 is what would say whether it generalises.
Blocked on
Hardware. The manifest notes that no emulator represents Adreno or Mali, so this needs real devices — and #30 (NFR-COMPAT-1) has to name a reference device from a second GPU vendor before this spike knows what to run on.
What a failure would mean
If zero-copy cannot be had on either vendor, ARCH §6.1's "processed pixels shall reach the display without a CPU round-trip" is not a constraint on Android but an aspiration, and TD-1 stops being debt and becomes the design. That is a large enough consequence to be worth knowing early.
See
docs/outstanding.md§10 anddocs/technical-debt.mdTD-1.Blocked on #30 — needs a named reference device from a second GPU vendor.
If it fails, TD-1 stops being debt and becomes the design.
Progress (v0.15.0/v0.16.0): the Adreno half now runs zero-copy. TD-1 was paid off in 0.15.0 (
dc9da52,4b4c9e2,a8043e6): wgpu-hal and Slint's Skia renderer are patched to pre-rotate the Vulkan swapchain, and Android's develop frame reaches the compositor as a texture, as on desktop. On the reference tablet (HONOR ROD2-W09, Adreno) it was checked by eye in portrait, landscape and reverse landscape: no tearing. No composition or bufferTransform measurements were taken. The Mali half is still unmeasured, because there is no Mali device; that keeps this open.