diff options
author | Corentin Chary <corentin.chary@gmail.com> | 2011-06-14 16:28:55 +0200 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-03-27 09:31:57 -0400 |
commit | 4f7d51ead912aafddc76dade889f99cb1c69f52d (patch) | |
tree | 7ddf2cdb60712b0326fc24b38c0f76def44bd9bf | |
parent | 3633ab03b0290309a2f1cd4718dea0d753762b2e (diff) |
xwayland: restore drm authentication helper
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
-rw-r--r-- | hw/xfree86/xwayland/xwayland-drm.c | 16 | ||||
-rw-r--r-- | hw/xfree86/xwayland/xwayland.h | 4 |
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, |