=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: winevulkan: Fix vkEnumerateInstanceExtensionProperties().

Alexandre Julliard julliard at winehq.org
Fri Mar 16 13:53:08 CDT 2018


Module: wine
Branch: master
Commit: 6d475f150d4b3376c452bc333f2756d9867d901c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6d475f150d4b3376c452bc333f2756d9867d901c

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Fri Mar 16 16:30:41 2018 +0100

winevulkan: Fix vkEnumerateInstanceExtensionProperties().

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winevulkan/vulkan.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
index 41a45ef..49ec147 100644
--- a/dlls/winevulkan/vulkan.c
+++ b/dlls/winevulkan/vulkan.c
@@ -823,19 +823,14 @@ static VkResult WINAPI wine_vkEnumerateInstanceExtensionProperties(const char *l
         if (wine_vk_instance_extension_supported(host_properties[i].extensionName))
         {
             TRACE("Enabling extension '%s'\n", host_properties[i].extensionName);
-            memcpy(&properties[j], &host_properties[i], sizeof(*properties));
+            properties[j] = host_properties[i];
             j++;
         }
     }
-
-    /* Return incomplete if the buffer is smaller than the number of supported extensions. */
-    if (*count < num_properties)
-        res = VK_INCOMPLETE;
-    else
-        res = VK_SUCCESS;
+    *count = min(*count, num_properties);
 
     heap_free(host_properties);
-    return res;
+    return *count < num_properties ? VK_INCOMPLETE : VK_SUCCESS;
 }
 
 VkResult WINAPI wine_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *count,




More information about the wine-cvs mailing list