From: Tapani Pälli Date: Sun, 1 Dec 2013 09:53:55 +0000 (+0200) Subject: egl: add HAVE_LIBDRM define, fix EGL X11 platform X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a057b837ddd1c725a7504eedc53c6df05a012773;p=mesa.git egl: add HAVE_LIBDRM define, fix EGL X11 platform 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 Reviewed-by: Emil Velikov Reviewed-by: Chad Versace Cc: Samuel Thibault Cc: mesa-stable@lists.freedesktop.org --- diff --git a/configure.ac b/configure.ac index 8c52535e649..91a5817b784 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 c56a4138a64..04cb62b41d3 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -33,7 +33,7 @@ #include #include #include -#ifdef HAVE_DRM_PLATFORM +#ifdef HAVE_LIBDRM #include #endif #include @@ -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