Blob Blame History Raw
From 201d8504ebaa1de7be149089281a7f40cd57bb38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@bitplanet.net>
Date: Wed, 21 Aug 2013 23:02:58 -0700
Subject: [PATCH 12/39] xwayland: Add a HW_WAYLAND flag to let drivers
 explicitly opt-in

---
 hw/xfree86/common/xf86Init.c | 11 +++++++----
 hw/xfree86/common/xf86str.h  |  1 +
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 98adaab..2d3bb01 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -547,11 +547,14 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
             if (!(flags & HW_SKIP_CONSOLE))
                 xorgHWOpenConsole = TRUE;
 
-	    if (xorgWayland &&
-		(NEED_IO_ENABLED(flags) || !(flags & HW_SKIP_CONSOLE))) {
+	    if (xorgWayland) {
+                if (flags != HW_WAYLAND) {
+                    xf86DeleteDriver(i);
+                    continue;
+                }
 
-		xf86DeleteDriver(i);
-		continue;
+                want_hw_access = FALSE;
+                xorgHWOpenConsole = FALSE;
 	    }
         }
 
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index 4c2d147..976fa30 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -288,6 +288,7 @@ typedef struct {
 #define HW_MMIO 2
 #define HW_SKIP_CONSOLE 4
 #define NEED_IO_ENABLED(x) (x & HW_IO)
+#define HW_WAYLAND 8
 
 typedef CARD32 xorgHWFlags;
 
-- 
1.8.3.1