From 83953c9325e4cc9adb23ad7654a02ddabdd3fd99 Mon Sep 17 00:00:00 2001 From: brendan King Date: Fri, 30 Jul 2021 15:34:13 +0100 Subject: [PATCH 60/67] vulkan/wsi: Disable use of VK_EXT_pci_bus_info The VK_EXT_pci_bus_info related code has been wrapped in VULKAN_WSI_USE_PCI_BUS_INFO, effectively disabling it. Not all platforms support the VK_EXT_pci_bus_info extension. A better fix might be to pass another parameter to wsi_device_init, to indicate that the device is a PCI one. --- src/vulkan/wsi/wsi_common.c | 4 ++++ src/vulkan/wsi/wsi_common.h | 2 ++ src/vulkan/wsi/wsi_common_drm.c | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/src/vulkan/wsi/wsi_common.c b/src/vulkan/wsi/wsi_common.c index b1360edb911..66d6683a7c1 100644 --- a/src/vulkan/wsi/wsi_common.c +++ b/src/vulkan/wsi/wsi_common.c @@ -56,11 +56,15 @@ wsi_device_init(struct wsi_device *wsi, WSI_GET_CB(GetPhysicalDeviceQueueFamilyProperties); #undef WSI_GET_CB +#if defined(VULKAN_WSI_USE_PCI_BUS_INFO) wsi->pci_bus_info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT; +#endif VkPhysicalDeviceProperties2 pdp2 = { .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, +#if defined(VULKAN_WSI_USE_PCI_BUS_INFO) .pNext = &wsi->pci_bus_info, +#endif }; GetPhysicalDeviceProperties2(pdevice, &pdp2); diff --git a/src/vulkan/wsi/wsi_common.h b/src/vulkan/wsi/wsi_common.h index c2563c677e6..4a733665d2c 100644 --- a/src/vulkan/wsi/wsi_common.h +++ b/src/vulkan/wsi/wsi_common.h @@ -112,7 +112,9 @@ struct wsi_device { VkPhysicalDeviceMemoryProperties memory_props; uint32_t queue_family_count; +#if defined(VULKAN_WSI_USE_PCI_BUS_INFO) VkPhysicalDevicePCIBusInfoPropertiesEXT pci_bus_info; +#endif bool supports_modifiers; uint32_t maxImageDimension2D; diff --git a/src/vulkan/wsi/wsi_common_drm.c b/src/vulkan/wsi/wsi_common_drm.c index 6201891ca80..49a78cf4c62 100644 --- a/src/vulkan/wsi/wsi_common_drm.c +++ b/src/vulkan/wsi/wsi_common_drm.c @@ -45,6 +45,7 @@ wsi_device_matches_drm_fd(const struct wsi_device *wsi, int drm_fd) if (ret) return false; +#if defined(VULKAN_WSI_USE_PCI_BUS_INFO) bool match = false; switch (fd_device->bustype) { case DRM_BUS_PCI: @@ -57,6 +58,9 @@ wsi_device_matches_drm_fd(const struct wsi_device *wsi, int drm_fd) default: break; } +#else + const bool match = true; +#endif drmFreeDevice(&fd_device); -- 2.25.1