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>
This commit is contained in:
Roman Gilg 2018-03-13 16:00:37 +01:00 committed by Adam Jackson
parent 5365ece70a
commit 1e7d8902bf
2 changed files with 15 additions and 0 deletions

View File

@ -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) {\

View File

@ -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