On Tue Mar 19 16:48:03 2024 +0000, Jacek Caban wrote:
FWIW, this is an example of things that would be nicer in win32u, using the window struct to store the surface. I guess we could introduce a function that would set the surface and return previous one in win32u potentially. Anyway, I'm fine with it for now.
Yes, and I have some local patches to start putting some vulkan logic in win32u directly, mainly to implement child and other process window rendering, with a fallback to GDI copy when needed, but I'm waiting on https://gitlab.winehq.org/wine/wine/-/merge_requests/5306 and still overall not entirely sure about the implementation yet.
This was there in the meantime to fix a regression, and I'm also still hoping we could perhaps drop it somehow in the future. Like I said in the description above, although not Vulkan compliant, having multiple Vulkan surfaces for the same HWND would be neeeded in Wine to have multiple APIs (D3D + Vulkan + OpenGL if done over Vulkan) drawing to the same window.