Mesa (master): egl/wayland: use drmGetNodeTypeFromFd helper instead of opencoding it

Emil Velikov evelikov at kemper.freedesktop.org
Sat Aug 1 14:56:45 UTC 2015


Module: Mesa
Branch: master
Commit: 175d9752796bbcc52f1df90b1466c879bccfc406
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=175d9752796bbcc52f1df90b1466c879bccfc406

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Fri Jul 10 12:27:06 2015 +0100

egl/wayland: use drmGetNodeTypeFromFd helper instead of opencoding it

Cc: Axel Davy <axel.davy at ens.fr>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Acked-by: Boyan Ding <boyan.j.ding at gmail.com>

---

 configure.ac                            |    2 +-
 src/egl/drivers/dri2/platform_wayland.c |   20 ++------------------
 2 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/configure.ac b/configure.ac
index bfe7f80..1976d56 100644
--- a/configure.ac
+++ b/configure.ac
@@ -66,7 +66,7 @@ OSMESA_VERSION=8
 AC_SUBST([OSMESA_VERSION])
 
 dnl Versions for external dependencies
-LIBDRM_REQUIRED=2.4.38
+LIBDRM_REQUIRED=2.4.60
 LIBDRM_RADEON_REQUIRED=2.4.56
 LIBDRM_INTEL_REQUIRED=2.4.61
 LIBDRM_NVVIEUX_REQUIRED=2.4.33
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 0feb056..dabaf1eb 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -845,22 +845,6 @@ bad_format:
    return NULL;
 }
 
-static char
-is_fd_render_node(int fd)
-{
-   struct stat render;
-
-   if (fstat(fd, &render))
-      return 0;
-
-   if (!S_ISCHR(render.st_mode))
-      return 0;
-
-   if (render.st_rdev & 0x80)
-      return 1;
-   return 0;
-}
-
 static int
 dri2_wl_authenticate(_EGLDisplay *disp, uint32_t id)
 {
@@ -904,7 +888,7 @@ drm_handle_device(void *data, struct wl_drm *drm, const char *device)
       return;
    }
 
-   if (is_fd_render_node(dri2_dpy->fd)) {
+   if (drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER) {
       dri2_dpy->authenticated = 1;
    } else {
       drmGetMagic(dri2_dpy->fd, &magic);
@@ -1114,7 +1098,7 @@ dri2_initialize_wayland_drm(_EGLDriver *drv, _EGLDisplay *disp)
     * will return a render-node when the requested gpu is different
     * to the server, but also if the client asks for the same gpu than
     * the server by requesting its pci-id */
-   dri2_dpy->is_render_node = is_fd_render_node(dri2_dpy->fd);
+   dri2_dpy->is_render_node = drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER;
 
    dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd, 0);
    if (dri2_dpy->driver_name == NULL) {




More information about the mesa-commit mailing list