Mesa (main): drisw: probe kms if fd is passed

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 16 23:40:23 UTC 2022


Module: Mesa
Branch: main
Commit: c24d8ba3164e47365b4c8e9a9a26009c55eed792
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c24d8ba3164e47365b4c8e9a9a26009c55eed792

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu Jun  9 11:03:13 2022 -0400

drisw: probe kms if fd is passed

Reviewed-by: Adam Jackson <ajax at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16949>

---

 src/gallium/frontends/dri/drisw.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/frontends/dri/drisw.c b/src/gallium/frontends/dri/drisw.c
index efdb84fc3a3..3ed69a1fd23 100644
--- a/src/gallium/frontends/dri/drisw.c
+++ b/src/gallium/frontends/dri/drisw.c
@@ -526,7 +526,7 @@ drisw_init_screen(__DRIscreen * sPriv)
       return NULL;
 
    screen->sPriv = sPriv;
-   screen->fd = -1;
+   screen->fd = sPriv->fd;
 
    screen->swrast_no_present = debug_get_option_swrast_no_present();
 
@@ -537,7 +537,12 @@ drisw_init_screen(__DRIscreen * sPriv)
          lf = &drisw_shm_lf;
    }
 
-   if (pipe_loader_sw_probe_dri(&screen->dev, lf)) {
+   bool success = false;
+   if (screen->fd != -1)
+      success = pipe_loader_sw_probe_kms(&screen->dev, screen->fd);
+   if (!success)
+      success = pipe_loader_sw_probe_dri(&screen->dev, lf);
+   if (success) {
       pscreen = pipe_loader_create_screen(screen->dev);
       dri_init_options(screen);
    }



More information about the mesa-commit mailing list