diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 245afbaf889..09f96a2515c 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -621,9 +621,6 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info) STATIC_ASSERT(AMDGPU_HW_IP_VCN_ENC == AMD_IP_VCN_ENC); STATIC_ASSERT(AMDGPU_HW_IP_VCN_JPEG == AMD_IP_VCN_JPEG); - if (!ac_query_pci_bus_info(fd, info)) - return false; - assert(info->drm_major == 3); info->is_amdgpu = true; diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c index 5b5f2409a97..ec85e7249c4 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c @@ -45,6 +45,9 @@ do_winsys_init(struct radv_amdgpu_winsys *ws, int fd) if (!ac_query_gpu_info(fd, ws->dev, &ws->info)) return false; + if (!ac_query_pci_bus_info(fd, &ws->info)) + return false; + if (ws->info.drm_minor < 23) { fprintf(stderr, "radv/amdgpu: DRM 3.23+ is required (Linux kernel 4.15+)\n"); return false; diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c index 05ff784d34f..3e4625ca4ab 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -98,6 +98,8 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, if (!ac_query_gpu_info(fd, ws->dev, &ws->info)) goto fail; + ac_query_pci_bus_info(fd, &ws->info); + /* TODO: Enable this once the kernel handles it efficiently. */ if (ws->info.has_dedicated_vram) ws->info.has_local_buffers = false;