[PATCH v2 3/3] xfree86: dri2: conditionalize libdrm
Tiago Vignatti
tiago.vignatti at nokia.com
Sat Feb 6 04:24:05 PST 2010
wrap drm bits with macros and change drm_magic type
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
---
hw/xfree86/dri2/dri2.c | 12 +++++++++++-
hw/xfree86/dri2/dri2.h | 2 +-
hw/xfree86/dri2/dri2ext.c | 2 ++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index cc09789..f07112d 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -35,7 +35,9 @@
#endif
#include <errno.h>
+#ifdef WITH_LIBDRM
#include <xf86drm.h>
+#endif
#include "xf86Module.h"
#include "scrnintstr.h"
#include "windowstr.h"
@@ -798,7 +800,7 @@ DRI2Connect(ScreenPtr pScreen, unsigned int driverType, int *fd,
}
Bool
-DRI2Authenticate(ScreenPtr pScreen, drm_magic_t magic)
+DRI2Authenticate(ScreenPtr pScreen, uint32_t magic)
{
DRI2ScreenPtr ds = DRI2GetScreen(pScreen);
@@ -845,8 +847,16 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
ds->AuthMagic = info->AuthMagic;
}
+ /*
+ * if the driver doesn't provide an AuthMagic function or the info struct
+ * version is too low, it relies on the old method (using libdrm) or fail
+ */
if (!ds->AuthMagic)
+#ifdef WITH_LIBDRM
ds->AuthMagic = drmAuthMagic;
+#else
+ return FALSE;
+#endif
if (info->version == 3 || info->numDrivers == 0) {
/* Driver too old: use the old-style driverName field */
diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h
index f770760..1510fca 100644
--- a/hw/xfree86/dri2/dri2.h
+++ b/hw/xfree86/dri2/dri2.h
@@ -194,7 +194,7 @@ extern _X_EXPORT Bool DRI2Connect(ScreenPtr pScreen,
const char **driverName,
const char **deviceName);
-extern _X_EXPORT Bool DRI2Authenticate(ScreenPtr pScreen, drm_magic_t magic);
+extern _X_EXPORT Bool DRI2Authenticate(ScreenPtr pScreen, uint32_t magic);
extern _X_EXPORT int DRI2CreateDrawable(DrawablePtr pDraw);
diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
index 3e6b03e..e97ed97 100644
--- a/hw/xfree86/dri2/dri2ext.c
+++ b/hw/xfree86/dri2/dri2ext.c
@@ -42,7 +42,9 @@
#include "scrnintstr.h"
#include "pixmapstr.h"
#include "extnsionst.h"
+#ifdef WITH_LIBDRM
#include "xf86drm.h"
+#endif
#include "xfixes.h"
#include "dri2.h"
#include "protocol-versions.h"
--
1.6.0.4
More information about the xorg-devel
mailing list