diff options
author | marha <marha@users.sourceforge.net> | 2014-09-21 18:11:28 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-09-21 18:11:28 +0200 |
commit | 438af0c7d4bf60b408b259c88205ff2193195466 (patch) | |
tree | 46fd6465cb7431f64a3cb475a40587a261983af4 /xorg-server/present | |
parent | d0f70707dde032e662dbd5bc70df6ac915403abe (diff) | |
download | vcxsrv-438af0c7d4bf60b408b259c88205ff2193195466.tar.gz vcxsrv-438af0c7d4bf60b408b259c88205ff2193195466.tar.bz2 vcxsrv-438af0c7d4bf60b408b259c88205ff2193195466.zip |
libxtrans xkeyboard-config xserver mesa plink glproto git update 21 Sep 2014
plink revision 10233
xserver commit 28337cb14e4347e1dd7936c5393a22e042866687
xkeyboard-config commit 48e1c0b351b6711edc0f167cbb81e4424b75291a
glproto commit bd3d751e1eb17efb39f65093271bb4ac071aa9e0
libxtrans commit fb7f198c88e97d22c8c89e76e9cd06b2b2720a96
mesa commit 4eb2bbefd2bf0359aff7ebbb8e931a1c7833606f
Diffstat (limited to 'xorg-server/present')
-rw-r--r-- | xorg-server/present/present.c | 12 | ||||
-rw-r--r-- | xorg-server/present/present.h | 1 | ||||
-rw-r--r-- | xorg-server/present/present_event.c | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/xorg-server/present/present.c b/xorg-server/present/present.c index f488e21cc..e838da792 100644 --- a/xorg-server/present/present.c +++ b/xorg-server/present/present.c @@ -837,7 +837,10 @@ present_pixmap(WindowPtr window, if (!screen_priv->info || !(screen_priv->info->capabilities & PresentCapabilityAsync)) vblank->sync_flip = TRUE; - if (pixmap && present_check_flip (target_crtc, window, pixmap, vblank->sync_flip, valid, x_off, y_off)) { + if (!(options & PresentOptionCopy) && + pixmap != NULL && + present_check_flip (target_crtc, window, pixmap, vblank->sync_flip, valid, x_off, y_off)) + { vblank->flip = TRUE; if (vblank->sync_flip) target_msc--; @@ -935,11 +938,12 @@ present_flip_destroy(ScreenPtr screen) { present_screen_priv_ptr screen_priv = present_screen_priv(screen); - /* XXX this needs to be synchronous for server reset */ - - /* Do the actual cleanup once the flip has been performed by the hardware */ + /* Reset window pixmaps back to the screen pixmap */ if (screen_priv->flip_pending) present_set_abort_flip(screen); + + /* Drop reference to any pending flip or unflip pixmaps. */ + present_flip_idle(screen); } void diff --git a/xorg-server/present/present.h b/xorg-server/present/present.h index 0e3bdc08e..aab2e168a 100644 --- a/xorg-server/present/present.h +++ b/xorg-server/present/present.h @@ -116,6 +116,7 @@ extern _X_EXPORT Bool present_screen_init(ScreenPtr screen, present_screen_info_ptr info); typedef void (*present_complete_notify_proc)(WindowPtr window, + CARD8 kind, CARD8 mode, CARD32 serial, uint64_t ust, diff --git a/xorg-server/present/present_event.c b/xorg-server/present/present_event.c index ff57eba41..d3a59ea25 100644 --- a/xorg-server/present/present_event.c +++ b/xorg-server/present/present_event.c @@ -174,7 +174,7 @@ present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 se } } if (complete_notify) - (*complete_notify)(window, mode, serial, ust, msc); + (*complete_notify)(window, kind, mode, serial, ust, msc); } void |