30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
Status: Superseded by [ADR 0022](0022-bevy-0-19-upgrade.md)
|
|
|
|
Context
|
|
=======
|
|
|
|
The editor targets Linux desktop sessions where transient swapchain acquire
|
|
timeouts can occur during heavy GPU work, compositor stalls, or driver hiccups.
|
|
In upstream `bevy_render` 0.18.1, `prepare_windows` treated
|
|
`wgpu::SurfaceError::Timeout` as a fatal path. That can crash the editor even
|
|
though the next frame can often recover.
|
|
|
|
Decision
|
|
========
|
|
|
|
For the Bevy 0.18 line, patch `bevy_render` locally through `[patch.crates-io]` and vendor the scoped
|
|
crate copy under `third_party/bevy_render`. The patch is limited to transient
|
|
surface acquire timeouts in `prepare_windows`: log the timeout and skip the
|
|
frame instead of panicking. Other surface errors remain on their existing paths.
|
|
|
|
Consequences
|
|
============
|
|
|
|
The editor is more tolerant of transient Linux swapchain stalls while preserving
|
|
the current Bevy API surface for the rest of the workspace.
|
|
|
|
The Bevy 0.19 upgrade removed the active `[patch.crates-io]` entry for `bevy_render`.
|
|
The historical `third_party/bevy_render` copy was removed with the upgrade. Future
|
|
swapchain timeout work should start from Bevy 0.19/wgpu behavior rather than carrying
|
|
this patch forward by default.
|