Jacek Caban (@jacek) commented about dlls/winevulkan/vulkan.c:
return VK_SUCCESS; }
+static void cleanup_instance_create_info(struct conversion_context *ctx, VkInstanceCreateInfo *info) +{ + VkDebugReportCallbackCreateInfoEXT *callback_info = (VkDebugReportCallbackCreateInfoEXT *)info; + + while ((callback_info = find_next_struct(callback_info->pNext, VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT))) + { + struct wine_debug_report_callback *callback = (struct wine_debug_report_callback *)callback_info->pUserData; + + if (callback_info->pfnCallback != debug_report_callback_conversion) break; + /* restore previous create info values, if VkCreateInstance needs to be called again */
This is not needed, we always copy the chain in the generated thunk anyway. That's why it's fine to modify it in-place in the first place (and we need that anyway due to `VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO` filtering). -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4488#note_53924