summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Chary <corentin.chary@gmail.com>2011-06-14 16:28:55 +0200
committerKristian Høgsberg <krh@bitplanet.net>2012-03-27 09:31:57 -0400
commit4f7d51ead912aafddc76dade889f99cb1c69f52d (patch)
tree7ddf2cdb60712b0326fc24b38c0f76def44bd9bf
parent3633ab03b0290309a2f1cd4718dea0d753762b2e (diff)
xwayland: restore drm authentication helper
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
-rw-r--r--hw/xfree86/xwayland/xwayland-drm.c16
-rw-r--r--hw/xfree86/xwayland/xwayland.h4
2 files changed, 18 insertions, 2 deletions
diff --git a/hw/xfree86/xwayland/xwayland-drm.c b/hw/xfree86/xwayland/xwayland-drm.c
index 4da2e076b..c68beb2d9 100644
--- a/hw/xfree86/xwayland/xwayland-drm.c
+++ b/hw/xfree86/xwayland/xwayland-drm.c
@@ -127,6 +127,22 @@ int xwl_screen_get_drm_fd(struct xwl_screen *xwl_screen)
return xwl_screen->drm_fd;
}
+int xwl_drm_authenticate(struct xwl_screen *xwl_screen,
+ uint32_t magic)
+{
+ xwl_screen->authenticated = 0;
+
+ if (xwl_screen->drm)
+ wl_drm_authenticate (xwl_screen->drm, magic);
+
+ wl_display_iterate (xwl_screen->display, WL_DISPLAY_WRITABLE);
+ while (!xwl_screen->authenticated)
+ wl_display_iterate (xwl_screen->display, WL_DISPLAY_READABLE);
+
+ return Success;
+}
+
+
int
xwl_create_window_buffer_drm(struct xwl_window *xwl_window,
PixmapPtr pixmap, uint32_t name)
diff --git a/hw/xfree86/xwayland/xwayland.h b/hw/xfree86/xwayland/xwayland.h
index 3f8bfbf62..5eba934e0 100644
--- a/hw/xfree86/xwayland/xwayland.h
+++ b/hw/xfree86/xwayland/xwayland.h
@@ -63,8 +63,8 @@ extern _X_EXPORT void
xwl_screen_post_damage(struct xwl_screen *xwl_screen);
extern _X_EXPORT int
-xwl_screen_authenticate(struct xwl_screen *xwl_screen,
- uint32_t magic);
+xwl_drm_authenticate(struct xwl_screen *xwl_screen,
+ uint32_t magic);
extern _X_EXPORT int
xwl_create_window_buffer_drm(struct xwl_window *xwl_window,