mirror of
git://slackware.nl/current.git
synced 2025-01-26 08:03:16 +01:00
49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
|
From f93b7d14d66d8ba70d44772d1a1b6696310b7d17 Mon Sep 17 00:00:00 2001
|
||
|
From: Witold Baryluk <witold.baryluk@gmail.com>
|
||
|
Date: Mon, 7 Dec 2020 20:45:42 +0000
|
||
|
Subject: [PATCH] vulkan/device_select: Store Vulkan vendorID and deviceID as
|
||
|
uint32_t
|
||
|
|
||
|
Vulkan uses 32-bit IDs, compared to PCI/USB 16-bit ones.
|
||
|
|
||
|
Some driver vendorIDs do exceed 0xffff, including MESA (used by lavapipe).
|
||
|
|
||
|
Without this, the value will be truncated, and device select layer
|
||
|
will not match expected (or any) device.
|
||
|
|
||
|
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3935
|
||
|
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
||
|
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7977>
|
||
|
---
|
||
|
src/vulkan/device-select-layer/device_select.h | 10 +++++++++-
|
||
|
1 file changed, 9 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/src/vulkan/device-select-layer/device_select.h b/src/vulkan/device-select-layer/device_select.h
|
||
|
index 23350707a33..248878fbc71 100644
|
||
|
--- a/src/vulkan/device-select-layer/device_select.h
|
||
|
+++ b/src/vulkan/device-select-layer/device_select.h
|
||
|
@@ -24,10 +24,18 @@
|
||
|
#define DEVICE_SELECT_H
|
||
|
|
||
|
#include <stdbool.h>
|
||
|
+#include <stdint.h>
|
||
|
#include "xf86drm.h"
|
||
|
|
||
|
+/* We don't use `drmPciDeviceInfo` because it uses 16-bit ids,
|
||
|
+ * instead of Vulkan's 32-bit ones. */
|
||
|
+struct device_info {
|
||
|
+ uint32_t vendor_id;
|
||
|
+ uint32_t device_id;
|
||
|
+};
|
||
|
+
|
||
|
struct device_pci_info {
|
||
|
- drmPciDeviceInfo dev_info;
|
||
|
+ struct device_info dev_info;
|
||
|
drmPciBusInfo bus_info;
|
||
|
bool has_bus_info;
|
||
|
bool cpu_device;
|
||
|
--
|
||
|
GitLab
|
||
|
|
||
|
|