[PATCH xserver v3 18/24] present: Add exported init function of window flip mode

Roman Gilg subdiff at gmail.com
Tue Mar 13 15:00:51 UTC 2018


Allow drivers now to initialize window flip mode.

Signed-off-by: Roman Gilg <subdiff at 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 affb75f..3d0b972 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 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



More information about the xorg-devel mailing list