diff --git a/src/vulkan/wsi/wsi_common_display.c b/src/vulkan/wsi/wsi_common_display.c index e25dc1a3f64..24c206069c2 100644 --- a/src/vulkan/wsi/wsi_common_display.c +++ b/src/vulkan/wsi/wsi_common_display.c @@ -282,16 +282,17 @@ wsi_display_alloc_connector(struct wsi_display *wsi, static struct wsi_display_connector * wsi_display_get_connector(struct wsi_device *wsi_device, + int drm_fd, uint32_t connector_id) { struct wsi_display *wsi = (struct wsi_display *) wsi_device->wsi[VK_ICD_WSI_PLATFORM_DISPLAY]; - if (wsi->fd < 0) + if (drm_fd < 0) return NULL; drmModeConnectorPtr drm_connector = - drmModeGetConnector(wsi->fd, connector_id); + drmModeGetConnector(drm_fd, connector_id); if (!drm_connector) return NULL; @@ -314,7 +315,7 @@ wsi_display_get_connector(struct wsi_device *wsi_device, for (int p = 0; connector->dpms_property == 0 && p < drm_connector->count_props; p++) { - drmModePropertyPtr prop = drmModeGetProperty(wsi->fd, + drmModePropertyPtr prop = drmModeGetProperty(drm_fd, drm_connector->props[p]); if (!prop) continue; @@ -480,7 +481,8 @@ wsi_display_get_physical_device_display_properties2( for (int c = 0; c < mode_res->count_connectors; c++) { struct wsi_display_connector *connector = - wsi_display_get_connector(wsi_device, mode_res->connectors[c]); + wsi_display_get_connector(wsi_device, wsi->fd, + mode_res->connectors[c]); if (!connector) { drmModeFreeResources(mode_res);