Commit a594cec broke EGL X11 backend by adding dependency between X11 and DRM backends requiring HAVE_EGL_PLATFORM_DRM defined for X11.
This patch fixes the issue by adding additional define for libdrm detection independent of which backend is being compiled. Tested by compiling Mesa with '--with-egl-platforms=x11' and running es2gears_x11 + glbenchmark2.7 successfully. v2: return true for dri2_auth if running without libdrm (Samuel) v3: check libdrm when building EGL drm platform + AM_CFLAGS fix (Emil) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72062 Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> Reviewed-by: Emil Velikov <emil.l.veli...@gmail.com> Cc: Samuel Thibault <samuel.thiba...@ens-lyon.org> Cc: mesa-sta...@lists.freedesktop.org --- configure.ac | 5 +++++ src/egl/drivers/dri2/platform_x11.c | 9 +++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 8c52535..91a5817 100644 --- a/configure.ac +++ b/configure.ac @@ -761,6 +761,9 @@ AC_SUBST([MESA_LLVM]) # Check for libdrm PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED], [have_libdrm=yes], [have_libdrm=no]) +if test "x$have_libdrm" = xyes; then + DEFINES="$DEFINES -DHAVE_LIBDRM" +fi PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED], have_libudev=yes, have_libudev=no) @@ -1439,6 +1442,8 @@ for plat in $egl_platforms; do drm) test "x$enable_gbm" = "xno" && AC_MSG_ERROR([EGL platform drm needs gbm]) + test "x$have_libdrm" != xyes && + AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED]) ;; android|fbdev|gdi|null) diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index c56a413..04cb62b 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -33,7 +33,7 @@ #include <fcntl.h> #include <errno.h> #include <unistd.h> -#ifdef HAVE_DRM_PLATFORM +#ifdef HAVE_LIBDRM #include <xf86drm.h> #endif #include <sys/types.h> @@ -608,7 +608,7 @@ dri2_x11_authenticate(_EGLDisplay *disp, uint32_t id) static EGLBoolean dri2_authenticate(_EGLDisplay *disp) { -#ifdef HAVE_DRM_PLATFORM +#ifdef HAVE_LIBDRM struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); drm_magic_t magic; @@ -621,11 +621,8 @@ dri2_authenticate(_EGLDisplay *disp) _eglLog(_EGL_WARNING, "DRI2: failed to authenticate"); return EGL_FALSE; } - - return EGL_TRUE; -#else - return EGL_FALSE; #endif + return EGL_TRUE; } static EGLBoolean -- 1.8.3.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev