aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/present
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-11-14 08:33:57 +0100
committermarha <marha@users.sourceforge.net>2013-11-14 08:33:57 +0100
commitcb9ef04f0bb4cc87787a113f61fcfa7c4818b29b (patch)
tree91ed73daada51bddd5652fd847f30b3593ecff04 /xorg-server/present
parent6d8fefe38077f4d532c256e79cfcaf2a46c5269d (diff)
parent8fbb807d1029b012d2f45cb0f3ea0c6a6ebded6d (diff)
downloadvcxsrv-cb9ef04f0bb4cc87787a113f61fcfa7c4818b29b.tar.gz
vcxsrv-cb9ef04f0bb4cc87787a113f61fcfa7c4818b29b.tar.bz2
vcxsrv-cb9ef04f0bb4cc87787a113f61fcfa7c4818b29b.zip
Merge remote-tracking branch 'origin/released'
* origin/released: mesa xserver pixman git update 9 nov 2013 Conflicts: mesalib/src/mesa/drivers/dri/common/dri_util.c xorg-server/Xext/shm.c
Diffstat (limited to 'xorg-server/present')
-rw-r--r--xorg-server/present/present.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/xorg-server/present/present.c b/xorg-server/present/present.c
index 46b884bb1..85cb90aaa 100644
--- a/xorg-server/present/present.c
+++ b/xorg-server/present/present.c
@@ -184,8 +184,10 @@ present_vblank_notify(present_vblank_ptr vblank, CARD8 kind, CARD8 mode, uint64_
static void
present_pixmap_idle(PixmapPtr pixmap, WindowPtr window, CARD32 serial, struct present_fence *present_fence)
{
- present_fence_set_triggered(present_fence);
- present_send_idle_notify(window, serial, pixmap, present_fence);
+ if (present_fence)
+ present_fence_set_triggered(present_fence);
+ if (window)
+ present_send_idle_notify(window, serial, pixmap, present_fence);
}
RRCrtcPtr
@@ -297,7 +299,8 @@ present_flip_idle(ScreenPtr screen)
if (screen_priv->flip_pixmap) {
present_pixmap_idle(screen_priv->flip_pixmap, screen_priv->flip_window,
screen_priv->flip_serial, screen_priv->flip_idle_fence);
- present_fence_destroy(screen_priv->flip_idle_fence);
+ if (screen_priv->flip_idle_fence)
+ present_fence_destroy(screen_priv->flip_idle_fence);
dixDestroyPixmap(screen_priv->flip_pixmap, screen_priv->flip_pixmap->drawable.id);
screen_priv->flip_crtc = NULL;
screen_priv->flip_window = NULL;
@@ -371,6 +374,7 @@ present_event_notify(uint64_t event_id, uint64_t ust, uint64_t msc)
present_vblank_ptr vblank, tmp;
int s;
+ DebugPresent(("\te %lld ust %lld msc %lld\n", event_id, ust, msc));
xorg_list_for_each_entry_safe(vblank, tmp, &present_exec_queue, event_queue) {
if (vblank->event_id == event_id) {
xorg_list_del(&vblank->event_queue);
@@ -655,8 +659,10 @@ present_pixmap(WindowPtr window,
}
if (pixmap)
- DebugPresent(("q %p %8lld: %08lx -> %08lx (crtc %d)\n",
- vblank, target_msc, vblank->pixmap->drawable.id, vblank->window->drawable.id, target_crtc ? 1 : 0));
+ DebugPresent(("q %lld %p %8lld: %08lx -> %08lx (crtc %p)\n",
+ vblank->event_id, vblank, target_msc,
+ vblank->pixmap->drawable.id, vblank->window->drawable.id,
+ target_crtc));
xorg_list_add(&vblank->event_queue, &present_exec_queue);
if (target_msc >= crtc_msc) {