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