[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg-devel
Subject:    [PATCH xserver v2 17/22] present: Add exported init function of window flip mode
From:       Roman Gilg <subdiff () gmail ! com>
Date:       2018-02-28 16:36:59
Message-ID: 1519835824-10067-18-git-send-email-subdiff () gmail ! com
[Download RAW message or body]

Allow drivers now to initialize window flip mode.

Signed-off-by: Roman Gilg <subdiff@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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic