[PATCH xserver v2 04/22] present: Add flip mode API hooks for several functions
Roman Gilg
subdiff at gmail.com
Wed Feb 28 16:36:46 UTC 2018
Add 'queue_vblank', 'flush' and 're_execute' hooks, that
are supposed to be shared with other flip modes.
Signed-off-by: Roman Gilg <subdiff at gmail.com>
---
present/present_priv.h | 12 ++++++++++++
present/present_scmd.c | 3 +++
2 files changed, 15 insertions(+)
diff --git a/present/present_priv.h b/present/present_priv.h
index 077a823..017e204 100644
--- a/present/present_priv.h
+++ b/present/present_priv.h
@@ -97,6 +97,13 @@ typedef void (*present_priv_check_flip_window_ptr)(WindowPtr window);
typedef void (*present_priv_create_event_id_ptr)(present_vblank_ptr vblank);
+typedef int (*present_priv_queue_vblank_ptr)(ScreenPtr screen,
+ RRCrtcPtr crtc,
+ uint64_t event_id,
+ uint64_t msc);
+typedef void (*present_priv_flush_ptr)(WindowPtr window);
+typedef void (*present_priv_re_execute_ptr)(present_vblank_ptr vblank);
+
typedef struct present_screen_priv {
CloseScreenProcPtr CloseScreen;
ConfigNotifyProcPtr ConfigNotify;
@@ -123,6 +130,11 @@ typedef struct present_screen_priv {
present_priv_check_flip_window_ptr check_flip_window;
present_priv_create_event_id_ptr create_event_id;
+
+ present_priv_queue_vblank_ptr queue_vblank;
+ present_priv_flush_ptr flush;
+ present_priv_re_execute_ptr re_execute;
+
} present_screen_priv_rec, *present_screen_priv_ptr;
#define wrap(priv,real,mem,func) {\
diff --git a/present/present_scmd.c b/present/present_scmd.c
index 86b2508..6f5e733 100644
--- a/present/present_scmd.c
+++ b/present/present_scmd.c
@@ -877,6 +877,9 @@ present_scmd_init_mode_hooks(present_screen_priv_ptr screen_priv)
screen_priv->check_flip_window = &present_check_flip_window;
screen_priv->create_event_id = &present_scmd_create_event_id;
+ screen_priv->queue_vblank = &present_queue_vblank;
+ screen_priv->flush = &present_flush;
+ screen_priv->re_execute = &present_re_execute;
}
Bool
--
2.7.4
More information about the xorg-devel
mailing list