Skip to content

wsi/wayland: Fix segfault when using present wait on retired swapchain

The goal of this MR is to refactor the surface pointer such that there is no need to pilfer it. Instead, we can mark the swapchain as retired and immediately return from acquire/present, but still lets present wait complete. Present wait requests go to a swapchain-private queue, so there is no risk of cross-swapchain pollution.

https://github.com/Themaister/Granite/tree/present-wait-stress-test is a stress test that exposed a bunch of crash scenarios.

Builds on commits in !27833 (closed).

Merge request reports