swapchain_vk_present() calls wined3d_swapchain_vk_blit() which calls vkAcquireNextImageKHR() which always blits back_buffers\[0\] to vk_images\[image_idx\] so vk_images may handle back_buffer \> 1 at that level.
These logs seem to indicate triple buffering handled at vulkan level which blits back_buffers[0] onto vulkan swapchain backbuffers and may fulfill wined3d_swapchain_vk_rotate(): 01e8:trace:d3d:wined3d_swapchain_vk_blit image_idx 0 01e8:trace:d3d:wined3d_swapchain_vk_blit image_idx 1 01e8:trace:d3d:wined3d_swapchain_vk_blit image_idx 2 01e8:trace:d3d:wined3d_swapchain_vk_blit image_idx 0 01e8:trace:d3d:wined3d_swapchain_vk_blit image_idx 1 01e8:trace:d3d:wined3d_swapchain_vk_blit image_idx 2 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10567#note_139249