winex11.drv: Use vkGetPhysicalDeviceProperties2KHR to get gpu properties.

vkGetPhysicalDeviceProperties2 is a Vulkan 1.1 function but wine uses
a 1.0 instance, so use the extension function instead.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Georg Lehmann 2020-08-29 23:57:40 +02:00 committed by Alexandre Julliard
parent 2b40969c58
commit 586f68f414
1 changed files with 3 additions and 3 deletions

View File

@ -552,7 +552,7 @@ static BOOL get_gpu_properties_from_vulkan( struct x11drv_gpu *gpu, const XRRPro
}; };
const struct vulkan_funcs *vulkan_funcs = get_vulkan_driver( WINE_VULKAN_DRIVER_VERSION ); const struct vulkan_funcs *vulkan_funcs = get_vulkan_driver( WINE_VULKAN_DRIVER_VERSION );
VkResult (*pvkGetRandROutputDisplayEXT)( VkPhysicalDevice, Display *, RROutput, VkDisplayKHR * ); VkResult (*pvkGetRandROutputDisplayEXT)( VkPhysicalDevice, Display *, RROutput, VkDisplayKHR * );
PFN_vkGetPhysicalDeviceProperties2 pvkGetPhysicalDeviceProperties2; PFN_vkGetPhysicalDeviceProperties2KHR pvkGetPhysicalDeviceProperties2KHR;
PFN_vkEnumeratePhysicalDevices pvkEnumeratePhysicalDevices; PFN_vkEnumeratePhysicalDevices pvkEnumeratePhysicalDevices;
uint32_t device_count, device_idx, output_idx; uint32_t device_count, device_idx, output_idx;
VkPhysicalDevice *vk_physical_devices = NULL; VkPhysicalDevice *vk_physical_devices = NULL;
@ -587,7 +587,7 @@ static BOOL get_gpu_properties_from_vulkan( struct x11drv_gpu *gpu, const XRRPro
} }
LOAD_VK_FUNC(vkEnumeratePhysicalDevices) LOAD_VK_FUNC(vkEnumeratePhysicalDevices)
LOAD_VK_FUNC(vkGetPhysicalDeviceProperties2) LOAD_VK_FUNC(vkGetPhysicalDeviceProperties2KHR)
LOAD_VK_FUNC(vkGetRandROutputDisplayEXT) LOAD_VK_FUNC(vkGetRandROutputDisplayEXT)
#undef LOAD_VK_FUNC #undef LOAD_VK_FUNC
@ -624,7 +624,7 @@ static BOOL get_gpu_properties_from_vulkan( struct x11drv_gpu *gpu, const XRRPro
properties2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; properties2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
properties2.pNext = &id; properties2.pNext = &id;
pvkGetPhysicalDeviceProperties2( vk_physical_devices[device_idx], &properties2 ); pvkGetPhysicalDeviceProperties2KHR( vk_physical_devices[device_idx], &properties2 );
memcpy( &gpu->vulkan_uuid, id.deviceUUID, sizeof(id.deviceUUID) ); memcpy( &gpu->vulkan_uuid, id.deviceUUID, sizeof(id.deviceUUID) );
/* Ignore Khronos vendor IDs */ /* Ignore Khronos vendor IDs */
if (properties2.properties.vendorID < 0x10000) if (properties2.properties.vendorID < 0x10000)