Module: wine Branch: master Commit: 982c2ede7a8e1bda5f10d5a662448948b04efbb8 URL: https://gitlab.winehq.org/wine/wine/-/commit/982c2ede7a8e1bda5f10d5a66244894...
Author: Rémi Bernon rbernon@codeweavers.com Date: Sat Nov 25 01:44:49 2023 +0100
winevulkan: Keep the create_info HWND on the surface wrappers.
---
dlls/winevulkan/vulkan.c | 16 ++++++---------- dlls/winevulkan/vulkan_private.h | 3 ++- 2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c index c999363e268..95bce62cc8d 100644 --- a/dlls/winevulkan/vulkan.c +++ b/dlls/winevulkan/vulkan.c @@ -1450,24 +1450,20 @@ void wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice phy properties->externalSemaphoreFeatures = 0; }
-VkResult wine_vkCreateWin32SurfaceKHR(VkInstance handle, const VkWin32SurfaceCreateInfoKHR *createInfo, +VkResult wine_vkCreateWin32SurfaceKHR(VkInstance handle, const VkWin32SurfaceCreateInfoKHR *create_info, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface) { struct wine_instance *instance = wine_instance_from_handle(handle); struct wine_surface *object; VkResult res;
- if (allocator) - FIXME("Support for allocation callbacks not implemented yet\n"); - - object = calloc(1, sizeof(*object)); - - if (!object) - return VK_ERROR_OUT_OF_HOST_MEMORY; + if (allocator) FIXME("Support for allocation callbacks not implemented yet\n");
- res = instance->funcs.p_vkCreateWin32SurfaceKHR(instance->host_instance, createInfo, NULL, - &object->driver_surface); + if (!(object = calloc(1, sizeof(*object)))) return VK_ERROR_OUT_OF_HOST_MEMORY; + object->hwnd = create_info->hwnd;
+ res = instance->funcs.p_vkCreateWin32SurfaceKHR(instance->host_instance, create_info, + NULL /* allocator */, &object->driver_surface); if (res != VK_SUCCESS) { free(object); diff --git a/dlls/winevulkan/vulkan_private.h b/dlls/winevulkan/vulkan_private.h index 12664d361c0..6b01e99262e 100644 --- a/dlls/winevulkan/vulkan_private.h +++ b/dlls/winevulkan/vulkan_private.h @@ -222,7 +222,8 @@ static inline VkDebugReportCallbackEXT wine_debug_report_callback_to_handle( struct wine_surface { VkSurfaceKHR host_surface; - VkSurfaceKHR driver_surface; /* wine driver surface */ + VkSurfaceKHR driver_surface; + HWND hwnd;
struct wine_vk_mapping mapping; };