On Tue Aug 18 14:52:24 2026 +0000, Henri Verbeet wrote:
Did you investigate Elizabeth's swapchain rotate index? I'll try to look into it myself later today. As I understand it the idea is like I think that could work in principle, although it would depend on wined3d_swapchain_resize_buffers() not being possible to call while any swapchain views exist. I think that's true, but we'd want to make sure. ``` swapchain->rotate_count++; if (swapchain->rotate_count == swapchain->back_buffer_count) swapchain->rotate_count = 0; ``` For what it's worth, in dxgi's struct d3d12_swapchain, the equivalent field is called "current_buffer_index". I was trying to minimize risks of breaking changes by keeping as much consistent as possible and reduce review efforts to expedite a fix but since it seems brought up multiple times I'll add alignment with d3d12 as part of this effort instead of splitting.
`wined3d_swapchain_resize_buffers` seems to be what causes NieR to crash unlike all the other games so it may need extra work regardless so I'll account for it for `current_buffer_index` solution. Unclear if its related to swapchain use-after-free but I continue to keep it in mind during this debugging effort: - https://bugs.winehq.org/show_bug.cgi?id=58325 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10567#note_149167