summaryrefslogtreecommitdiff
path: root/lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2020-08-26 06:03:18 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2020-08-26 06:03:18 +0000
commitaf5e8f5366b05c3d4f8521f318c143a5c5dc3ea9 (patch)
treec5691445908b1beca9facf0e5e3c5d7f35f74228 /lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
parent27c93456b58343162f7c4ad20ca6bea0c9a91646 (diff)
Merge Mesa 20.1.6
Diffstat (limited to 'lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c')
-rw-r--r--lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
index 45b941e1f..7d90285a4 100644
--- a/lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+++ b/lib/mesa/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
@@ -135,6 +135,10 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
.driver_name = "lima",
.create_screen = pipe_lima_create_screen,
},
+ {
+ .driver_name = "zink",
+ .create_screen = pipe_zink_create_screen,
+ },
};
static const struct drm_driver_descriptor default_driver_descriptor = {
@@ -208,6 +212,11 @@ pipe_loader_drm_probe_fd_nodup(struct pipe_loader_device **dev, int fd)
plib = &ddev->lib;
#endif
ddev->dd = get_driver_descriptor(ddev->base.driver_name, plib);
+
+ /* kmsro supports lots of drivers, try as a fallback */
+ if (!ddev->dd)
+ ddev->dd = get_driver_descriptor("kmsro", plib);
+
if (!ddev->dd)
goto fail;
@@ -322,7 +331,7 @@ pipe_loader_drm_get_driinfo_xml(const char *driver_name)
const struct drm_driver_descriptor *dd =
get_driver_descriptor(driver_name, &lib);
- if (dd && dd->driconf_xml)
+ if (dd && dd->driconf_xml && *dd->driconf_xml)
xml = strdup(*dd->driconf_xml);
if (lib)