On 12/05/2013 07:22 PM, Ian Romanick wrote:
On 12/01/2013 01:53 AM, Tapani Pälli wrote:
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
This patch doesn't apply to 10.0 branch.  It looks like it's fixing a
problem caused by another patch that isn't on the branch either.  Is
this patch actually needed on 10.0?  If it is, can you provide a version
that applies?

Oops sorry because the commit for patch that breaks things was rather old I assumed it is already in 10.0 but seems not. No need for applying this then, sorry for the noise.

Thanks.

---
  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


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to