d3d12: Check for VK_KHR_external_memory_capabilities before using VkPhysicalDeviceIDProperties.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-02-25 10:07:42 -06:00 committed by Alexandre Julliard
parent c88b2ed3c0
commit b8f8ed10aa
1 changed files with 4 additions and 1 deletions

View File

@ -265,7 +265,9 @@ static VkPhysicalDevice d3d12_get_vk_physical_device(struct vkd3d_instance *inst
if ((vr = pfn_vkEnumeratePhysicalDevices(vk_instance, &count, vk_physical_devices)) < 0)
goto done;
if (!IsEqualGUID(&adapter_info->driver_uuid, &GUID_NULL) && pfn_vkGetPhysicalDeviceProperties2)
if (!IsEqualGUID(&adapter_info->driver_uuid, &GUID_NULL) && pfn_vkGetPhysicalDeviceProperties2
&& check_vk_instance_extension(vk_instance, pfn_vkGetInstanceProcAddr,
VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME))
{
TRACE("Matching adapters by UUIDs.\n");
@ -331,6 +333,7 @@ HRESULT WINAPI D3D12CreateDevice(IUnknown *adapter, D3D_FEATURE_LEVEL minimum_fe
};
static const char * const optional_instance_extensions[] =
{
VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
};
static const char * const device_extensions[] =