aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c')
-rw-r--r--src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
index 960d63b2c31..45b941e1f13 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
@@ -194,6 +194,15 @@ pipe_loader_drm_probe_fd_nodup(struct pipe_loader_device **dev, int fd)
if (!ddev->base.driver_name)
goto fail;
+ /* For the closed source AMD OpenGL driver, we want libgbm to load
+ * "amdgpu_dri.so", but we want Gallium multimedia drivers to load
+ * "radeonsi". So change amdgpu to radeonsi for Gallium.
+ */
+ if (strcmp(ddev->base.driver_name, "amdgpu") == 0) {
+ FREE(ddev->base.driver_name);
+ ddev->base.driver_name = strdup("radeonsi");
+ }
+
struct util_dl_library **plib = NULL;
#ifndef GALLIUM_STATIC_TARGETS
plib = &ddev->lib;