diff --git a/src/amd/drm-shim/amdgpu_noop_drm_shim.c b/src/amd/drm-shim/amdgpu_noop_drm_shim.c index 31e50078203..02c1fbed1cc 100644 --- a/src/amd/drm-shim/amdgpu_noop_drm_shim.c +++ b/src/amd/drm-shim/amdgpu_noop_drm_shim.c @@ -8,6 +8,7 @@ #include #include "amdgpu_devices.h" #include "common/amd_family.h" +#include "drm-shim/amdgpu_noop_drm_shim.h" #include "drm-shim/drm_shim.h" #include "drm-uapi/amdgpu_drm.h" #include "util/log.h" @@ -199,10 +200,9 @@ static ioctl_fn_t amdgpu_ioctls[] = { [DRM_AMDGPU_SCHED] = amdgpu_ioctl_noop, }; -static void -amdgpu_select_device() +void +drm_shim_amdgpu_select_device(const char *gpu_id) { - const char *gpu_id = os_get_option("AMDGPU_GPU_ID"); if (gpu_id) { for (uint32_t i = 0; i < num_amdgpu_devices; i++) { const struct amdgpu_device *dev = &amdgpu_devices[i]; @@ -224,7 +224,9 @@ amdgpu_select_device() void drm_shim_driver_init(void) { - amdgpu_select_device(); + const char *gpu_id = os_get_option("AMDGPU_GPU_ID"); + + drm_shim_amdgpu_select_device(gpu_id); shim_device.bus_type = DRM_BUS_PCI; shim_device.driver_name = "amdgpu"; diff --git a/src/amd/drm-shim/amdgpu_noop_drm_shim.h b/src/amd/drm-shim/amdgpu_noop_drm_shim.h new file mode 100644 index 00000000000..89bf6183fe8 --- /dev/null +++ b/src/amd/drm-shim/amdgpu_noop_drm_shim.h @@ -0,0 +1,20 @@ +/* + * Copyright 2025 Valve Corporation + * + * SPDX-License-Identifier: MIT + */ + +#ifndef AMDGPU_NOOP_DRM_SHIM_H +#define AMDGPU_NOOP_DRM_SHIM_H + +#ifdef __cplusplus +extern "C" { +#endif + +void drm_shim_amdgpu_select_device(const char *gpu_id); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/amd/drm-shim/meson.build b/src/amd/drm-shim/meson.build index f98689a5317..c324846501d 100644 --- a/src/amd/drm-shim/meson.build +++ b/src/amd/drm-shim/meson.build @@ -15,7 +15,6 @@ libamdgpu_noop_drm_shim = shared_library( ['amdgpu_noop_drm_shim.c', 'amdgpu_devices.c'], include_directories: [inc_include, inc_src, inc_amd], dependencies: dep_drm_shim, - gnu_symbol_visibility : 'hidden', install : true, )