On Thu Jul 9 07:39:04 2026 +0000, Etaash Mathamsetty wrote:
Yes, keeping the wl_surface alive is enough, and assigning the wl_surface to a different VkSurface (of a different or same HWND) is fine too. I like the approach in !11351, but maybe it would be better to clear out all the unused client surfaces inside destroy_window like how it is done with win->unused_drawable, since the app can call SetWindowPos whenever it wants. However, if the app destroys VkSurface and then keeps the window alive, then we are just holding on to them for no reason. Maybe limiting it to some fixed number could fix that (even holding onto just 1 client surface is enough to fix all the apps that I know have issues) That is also done of course, in detach_client_surfaces.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11342#note_145253