Hi all,
This is a resubmit of some of my previous patches. I have added a surface_from_handle helper function to replace the macro I had.
The biggest change is initial destroy surface logic using wine_vk_surface_destroy. For now I think it is sufficient, though long-term it probably needs to be used from X11DRV_DestroyWindow as well, but that needs some more thought. Among the challenges is that vkDestroySurfaceKHR requires the 'VkInstance' the surface is tied to, which brings up other complexity (instance may have been destroyed already, locking, does VkDestroyInstance need to clean up undestroyed surfaces?). It is not even clear how Vulkan expect things to be done as Vulkan kind of assumes 'well written' software since it has very minimal error handling and validation.
Thanks, Roderick
Roderick Colenbrander (4): winex11: Add initial vkCreateWin32SurfaceKHR implementation. winex11: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR. winex11: Implement vkDestroySurfaceKHR. winex11: Implement support for vkGetPhysicalDeviceSurface*KHR APIs.
dlls/winex11.drv/vulkan.c | 153 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 140 insertions(+), 13 deletions(-)