Initial commit
This commit is contained in:
commit
4602228be9
13 changed files with 451 additions and 0 deletions
42
radvmmio.patch
Normal file
42
radvmmio.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
From c2fd030644cf2074f9d2ffd155839b2e943473d0 Mon Sep 17 00:00:00 2001
|
||||
From: Val Packett <val@packett.cool>
|
||||
Date: Wed, 10 Sep 2025 15:44:41 -0300
|
||||
Subject: [PATCH] radv: detect platform:virtio-mmio devices for virtgpu native
|
||||
context
|
||||
|
||||
VirtIO devices can be configured as platform devices instead of PCI,
|
||||
which is especially common in microVM projects like libkrun.
|
||||
|
||||
Let's allow RADV to probe MMIO virtgpu devices.
|
||||
|
||||
Signed-off-by: Val Packett <val@invisiblethingslab.com>
|
||||
---
|
||||
src/amd/vulkan/radv_physical_device.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c
|
||||
index 07b5b000b3ae..cd6f4c3488a1 100644
|
||||
--- a/src/amd/vulkan/radv_physical_device.c
|
||||
+++ b/src/amd/vulkan/radv_physical_device.c
|
||||
@@ -2507,14 +2507,15 @@ create_drm_physical_device(struct vk_instance *vk_instance, struct _drmDevice *d
|
||||
#ifndef _WIN32
|
||||
bool supported_device = false;
|
||||
|
||||
- if (!(device->available_nodes & (1 << DRM_NODE_RENDER)) || device->bustype != DRM_BUS_PCI)
|
||||
+ if (!(device->available_nodes & (1 << DRM_NODE_RENDER)))
|
||||
return VK_ERROR_INCOMPATIBLE_DRIVER;
|
||||
|
||||
#ifdef HAVE_AMDGPU_VIRTIO
|
||||
- supported_device |= device->deviceinfo.pci->vendor_id == VIRTGPU_PCI_VENDOR_ID;
|
||||
+ supported_device |= device->bustype == DRM_BUS_PCI && device->deviceinfo.pci->vendor_id == VIRTGPU_PCI_VENDOR_ID;
|
||||
+ supported_device |= device->bustype == DRM_BUS_PLATFORM; /* virtio-mmio */
|
||||
#endif
|
||||
|
||||
- supported_device |= device->deviceinfo.pci->vendor_id == ATI_VENDOR_ID;
|
||||
+ supported_device |= device->bustype == DRM_BUS_PCI && device->deviceinfo.pci->vendor_id == ATI_VENDOR_ID;
|
||||
|
||||
if (!supported_device)
|
||||
return VK_ERROR_INCOMPATIBLE_DRIVER;
|
||||
--
|
||||
2.50.1
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue