Module: wine Branch: master Commit: 67c9ff6f2e28b50d85fdd3bd8397341b719fb506 URL: https://gitlab.winehq.org/wine/wine/-/commit/67c9ff6f2e28b50d85fdd3bd8397341...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Oct 27 20:09:43 2022 +0200
winevulkan: Don't check thunk_type in VkParam.needs_unwrapping.
---
dlls/winevulkan/make_vulkan | 3 --- dlls/winevulkan/vulkan_thunks.c | 17 ++++++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 6d5ead98833..1db4498abd9 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -1728,9 +1728,6 @@ class VkParam(VkVariable): def needs_unwrapping(self): """ Returns if parameter needs unwrapping of handle. """
- if self.func.needs_private_thunk(): - return False - # Wrapped handle parameters are handled separately, only look for wrapped handles in structs if self.is_struct(): return self.struct.needs_unwrapping() diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index 65b4ab9b496..c4e42f3ce71 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -2158,13 +2158,13 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy #endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION) -static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(const VkPhysicalDeviceSurfaceInfo2KHR *in, VkPhysicalDeviceSurfaceInfo2KHR_host *out) +static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(const VkPhysicalDeviceSurfaceInfo2KHR *in, VkPhysicalDeviceSurfaceInfo2KHR_host *out) { if (!in) return;
out->sType = in->sType; out->pNext = in->pNext; - out->surface = wine_surface_from_handle(in->surface)->driver_surface; + out->surface = in->surface; } #endif /* USE_STRUCT_CONVERSION */
@@ -2179,6 +2179,17 @@ static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win64_to_host(const V } #endif /* USE_STRUCT_CONVERSION */
+#if defined(USE_STRUCT_CONVERSION) +static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(const VkPhysicalDeviceSurfaceInfo2KHR *in, VkPhysicalDeviceSurfaceInfo2KHR_host *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = in->pNext; + out->surface = wine_surface_from_handle(in->surface)->driver_surface; +} +#endif /* USE_STRUCT_CONVERSION */ + #if defined(USE_STRUCT_CONVERSION) static inline void convert_VkPipelineExecutableInfoKHR_win32_to_host(const VkPipelineExecutableInfoKHR *in, VkPipelineExecutableInfoKHR_host *out) { @@ -17227,7 +17238,7 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceSurfaceCapabilities2KHR(void *args)
TRACE("%p, %p, %p\n", params->physicalDevice, params->pSurfaceInfo, params->pSurfaceCapabilities);
- convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(params->pSurfaceInfo, &pSurfaceInfo_host); + convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(params->pSurfaceInfo, &pSurfaceInfo_host); params->result = wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR(params->physicalDevice, &pSurfaceInfo_host, params->pSurfaceCapabilities); return STATUS_SUCCESS; }