From a595b96f6212b75c39d935ef06484d27db365b3e Mon Sep 17 00:00:00 2001 From: Elizabeth Figura Date: Wed, 23 Oct 2024 16:18:30 -0500 Subject: [PATCH] vkd3d: Initialize vk_extensions in vk_init_device_caps(). Without LTO, gcc doesn't know that hresult_from_vk_result() will always return a failure HRESULT for a failure VkResult, and so thinks that we might exit from vkd3d_check_device_extensions() with a success HRESULT but without initializing vk_extensions. --- libs/vkd3d/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 54a39e18..f2009a64 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -1696,7 +1696,7 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device, VkPhysicalDeviceDescriptorIndexingFeaturesEXT *descriptor_indexing; VkPhysicalDevice physical_device = device->vk_physical_device; struct vkd3d_vulkan_info *vulkan_info = &device->vk_info; - VkExtensionProperties *vk_extensions; + VkExtensionProperties *vk_extensions = NULL; VkPhysicalDeviceFeatures *features; uint32_t vk_extension_count; HRESULT hr;