From 902429f077325b98e30ede2710bd7a88440d2937 Mon Sep 17 00:00:00 2001 From: Roman Gilg Date: Tue, 13 Mar 2018 16:00:51 +0100 Subject: present: Add exported init function of window flip mode Allow drivers now to initialize window flip mode. Signed-off-by: Roman Gilg Reviewed-by: Adam Jackson --- present/present.h | 2 ++ present/present_screen.c | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) (limited to 'present') diff --git a/present/present.h b/present/present.h index affb75f35..3d0b9722b 100644 --- a/present/present.h +++ b/present/present.h @@ -174,6 +174,8 @@ present_event_abandon(RRCrtcPtr crtc); extern _X_EXPORT Bool present_screen_init(ScreenPtr screen, present_screen_info_ptr info); +extern _X_EXPORT Bool +present_wnmd_screen_init(ScreenPtr screen, present_wnmd_info_ptr info); typedef void (*present_complete_notify_proc)(WindowPtr window, CARD8 kind, diff --git a/present/present_screen.c b/present/present_screen.c index 8ad14ad17..c7e37c5fd 100644 --- a/present/present_screen.c +++ b/present/present_screen.c @@ -239,7 +239,28 @@ present_screen_priv_init(ScreenPtr screen) } /* - * Initialize a screen for use with present + * Initialize a screen for use with present in window flip mode (wnmd) + */ +int +present_wnmd_screen_init(ScreenPtr screen, present_wnmd_info_ptr info) +{ + if (!present_screen_register_priv_keys()) + return FALSE; + + if (!present_screen_priv(screen)) { + present_screen_priv_ptr screen_priv = present_screen_priv_init(screen); + if (!screen_priv) + return FALSE; + + screen_priv->wnmd_info = info; + present_wnmd_init_mode_hooks(screen_priv); + } + + return TRUE; +} + +/* + * Initialize a screen for use with present in default screen flip mode (scmd) */ int present_screen_init(ScreenPtr screen, present_screen_info_ptr info) -- cgit v1.2.3