From e3e64e3dbeb060ef7c0f3f942c2dd8ce762a36e9 Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Wed, 20 Sep 2023 22:06:39 +0200 Subject: [PATCH] v3dv: allow headless device without display device When trying to create a headless Vulkan instance without a display device available, device enumeration would fail. Part of the physical device creation code already accounts for a missing display device, allow device enumeration to continue in that case too so headless instances can be created. Signed-off-by: Erico Nunes Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/vulkan/v3dv_device.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 108d100b5f7..e109b38ba13 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -1274,9 +1274,10 @@ enumerate_devices(struct vk_instance *vk_instance) } #if !using_v3d_simulator - if (v3d_idx != -1 && vc4_idx != -1) { - result = - create_physical_device(instance, devices[v3d_idx], devices[vc4_idx]); + if (v3d_idx != -1) { + drmDevicePtr v3d_device = devices[v3d_idx]; + drmDevicePtr vc4_device = vc4_idx != -1 ? devices[vc4_idx] : NULL; + result = create_physical_device(instance, v3d_device, vc4_device); } #endif