[Mesa-dev] [PATCH] pipe-loader: use radeonsi for MM if amdgpu dri is used

Marek Olšák maraeo at gmail.com
Thu Jul 11 18:08:23 UTC 2019


From: Jeremy Newton <Jeremy.Newton at amd.com>

The amdgpu dri is used for the closed source AMD driver. Since this driver
does not implement multimedia, we fall back to radeonsi in mesa to do
multimedia. This corrects the dri driver name for when it is set to amdgpu.

Signed-off-by: Jeremy Newton <Jeremy.Newton at amd.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
---
 src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
index 960d63b2c31..6e889539c92 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
@@ -187,20 +187,25 @@ pipe_loader_drm_probe_fd_nodup(struct pipe_loader_device **dev, int fd)
    } else {
       ddev->base.type = PIPE_LOADER_DEVICE_PLATFORM;
    }
    ddev->base.ops = &pipe_loader_drm_ops;
    ddev->fd = fd;
 
    ddev->base.driver_name = loader_get_driver_for_fd(fd);
    if (!ddev->base.driver_name)
       goto fail;
 
+   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;
 #endif
    ddev->dd = get_driver_descriptor(ddev->base.driver_name, plib);
    if (!ddev->dd)
       goto fail;
 
    *dev = &ddev->base;
    return true;
-- 
2.17.1



More information about the mesa-dev mailing list