Allow drivers now to initialize window flip mode. Signed-off-by: Roman Gilg <subd...@gmail.com> --- present/present.h | 2 ++ present/present_screen.c | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/present/present.h b/present/present.h index 8b2e03f..123791d 100644 --- a/present/present.h +++ b/present/present.h @@ -164,6 +164,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 8ad14ad..c7e37c5 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) -- 2.7.4 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel