From 9ab3828d5e29337452ca39bc498b75646fa40741 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 26 May 2026 13:00:36 +0200 Subject: [PATCH] radv: close the local fd slightly later when enumerating physical devices So that it can be used to print GPU info. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_physical_device.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index 88e0ee2d078..d88b4d6db27 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -2521,11 +2521,6 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm if (drm_device) { result = radv_amdgpu_winsys_create(fd, instance->debug_flags, instance->perftest_flags, is_virtio, &pdev->ws); - - /* Close the fd immediately because libdrm dups it internally. */ - close(fd); - fd = -1; - if (result != VK_SUCCESS) { result = vk_errorf(instance, result, "failed to initialize winsys"); goto fail_base; @@ -2745,7 +2740,7 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm radv_get_physical_device_properties(pdev); if ((instance->debug_flags & RADV_DEBUG_INFO)) - ac_print_gpu_info(stdout, &pdev->info, pdev->ws->get_fd(pdev->ws)); + ac_print_gpu_info(stdout, &pdev->info, fd); radv_init_physical_device_decoder(pdev); radv_init_physical_device_encoder(pdev); @@ -2781,6 +2776,9 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm *pdev_out = pdev; + close(fd); + fd = -1; + return VK_SUCCESS; fail_perfcounters: