vkd3d: Only request properties and features when the corresponding extension is available.
2 unresolved threads
Merge request reports
Activity
Subject: [PATCH 3/5] vkd3d: Do not automatically succeed if no extensions are available. On the contrary, as soon as there is a required extension this is a failure condition.
Note that that doesn't really matter here though; we're checking which extensions are supported, which vkd3d_enable_extensions() will later use to build a list of extensions to pass to vkCreateDevice(). We'll skip printing some ERRs, and perhaps that's a reason to not exit early here, but it shouldn't matter in terms of vkd3d_check_extensions() results.
1539 1540 if (!(*vk_extensions = vkd3d_calloc(*vk_extension_count, sizeof(**vk_extensions)))) 1541 return E_OUTOFMEMORY; 1542 1543 TRACE("Enumerating %u device extensions.\n", *vk_extension_count); 1544 if ((vr = VK_CALL(vkEnumerateDeviceExtensionProperties(physical_device, NULL, vk_extension_count, *vk_extensions))) < 0) 1545 { 1546 ERR("Failed to enumerate device extensions, vr %d.\n", vr); 1547 vkd3d_free(*vk_extensions); 1548 return hresult_from_vk_result(vr); 1549 } 1550 1551 optional_extensions = vkd3d_find_struct(create_info->next, OPTIONAL_DEVICE_EXTENSIONS_INFO); 1552 if (optional_extensions && optional_extensions->extension_count) 1553 { 1554 if (!(*user_extension_supported = vkd3d_calloc(optional_extensions->extension_count, sizeof(bool))))
Please register or sign in to reply