Zhiyi Zhang (@zhiyi) commented about dlls/winex11.drv/x11drv_main.c:
+ WARN( "Failed to open the Vulkan driver\n" ); + return; + } + + if ((vr = vulkan_funcs->p_vkCreateInstance( &create_info, NULL, &d3dkmt_vk_instance ))) + { + WARN( "Failed to create a Vulkan instance, vr %d.\n", vr ); + vulkan_funcs = NULL; + return; + } + +#define LOAD_VK_FUNC( f ) \ + if (!(p##f = (void *)vulkan_funcs->p_vkGetInstanceProcAddr( d3dkmt_vk_instance, #f ))) \ + { \ + WARN( "Failed to load " #f ".\n" ); \ + vulkan_funcs = NULL; \ Although it is unlikely to happen, you should destroy d3dkmt_vk_instance when loading instance functions fails.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/5306#note_65958