diff options
author | Roman Gilg <subdiff@gmail.com> | 2018-03-13 16:00:37 +0100 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2018-03-28 14:36:18 -0400 |
commit | 1e7d8902bfe7cfb79c41b14fc6b50bcbe4f7c800 (patch) | |
tree | 4d9e06d0e6ec39a72452f6898362936a83286298 /present | |
parent | 5365ece70a75a05df3d6351767d19c3edcf0305d (diff) |
present: Add flip mode API hooks for several functions
Add 'queue_vblank', 'flush' and 're_execute' hooks, that
are supposed to be shared with other flip modes.
Signed-off-by: Roman Gilg <subdiff@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'present')
-rw-r--r-- | present/present_priv.h | 12 | ||||
-rw-r--r-- | present/present_scmd.c | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/present/present_priv.h b/present/present_priv.h index dc6654e77..971bce505 100644 --- a/present/present_priv.h +++ b/present/present_priv.h @@ -100,6 +100,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; @@ -126,6 +133,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 1e11d3505..0376b4e75 100644 --- a/present/present_scmd.c +++ b/present/present_scmd.c @@ -930,6 +930,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 |