vulkan: Don't crash if vkEnumeratePhysicalDevices fails

This commit is contained in:
Alexander Larsson
2017-11-30 14:48:15 +01:00
parent c30073793e
commit f5e0986230

View File

@@ -599,10 +599,9 @@ gdk_display_create_vulkan_device (GdkDisplay *display,
{
uint32_t i, j;
uint32_t n_devices;
uint32_t n_devices = 0;
GDK_VK_CHECK(vkEnumeratePhysicalDevices, display->vk_instance, &n_devices, NULL);
VkPhysicalDevice *devices = g_newa (VkPhysicalDevice, n_devices);
GDK_VK_CHECK(vkEnumeratePhysicalDevices, display->vk_instance, &n_devices, devices);
VkPhysicalDevice *devices;
if (n_devices == 0)
{
@@ -612,6 +611,9 @@ gdk_display_create_vulkan_device (GdkDisplay *display,
return FALSE;
}
devices = g_newa (VkPhysicalDevice, n_devices);
GDK_VK_CHECK(vkEnumeratePhysicalDevices, display->vk_instance, &n_devices, devices);
for (i = 0; i < n_devices; i++)
{
VkPhysicalDeviceProperties props;