From: Adam Jackson Date: Fri, 3 Dec 2021 16:08:54 +0000 (-0500) Subject: loader: Try to handle ICD failure in vkEnumeratePhysicalDevices X-Git-Tag: upstream/v1.3.207~50 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5ccc3563eaded03443c19e8d72d89d5b55747148;p=platform%2Fupstream%2FVulkan-Loader.git loader: Try to handle ICD failure in vkEnumeratePhysicalDevices If any ICD failed to enumerate device groups here, we would fail the call entirely, which means a broken driver for device A could prevent you from using device B. Just skip over the failing ICD instead. --- diff --git a/loader/loader.c b/loader/loader.c index bb33e04b..edc47142 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -6846,7 +6846,7 @@ VkResult setup_loader_term_phys_dev_groups(struct loader_instance *inst) { "setup_loader_term_phys_dev_groups: Failed during dispatch call of " "\'EnumeratePhysicalDevices\' to ICD %d to get plain phys dev count.", icd_idx); - goto out; + continue; } } else { // Query the actual group info @@ -6856,10 +6856,11 @@ VkResult setup_loader_term_phys_dev_groups(struct loader_instance *inst) { "setup_loader_term_phys_dev_groups: Failed during dispatch call of " "\'EnumeratePhysicalDeviceGroups\' to ICD %d to get count.", icd_idx); - goto out; + continue; } } total_count += cur_icd_group_count; + } if (total_count == 0) {