diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-06-07 13:35:48 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-06-07 13:35:30 +0100 |
commit | e85271e516f811c60f440de61995cc5baf469a47 (patch) | |
tree | 9af95fc1ce129f79a37ad5ca74d10874f1e5cbb7 | |
parent | ab47433b20a623bf790acfbf2005a8782d177f64 (diff) |
sna/dri: Do not decouple the flip after chaining up a blit
Fixes regression from previous patch.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna_dri.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c index b737151c..8b055e6f 100644 --- a/src/sna/sna_dri.c +++ b/src/sna/sna_dri.c @@ -998,6 +998,7 @@ sna_dri_copy_region(DrawablePtr draw, static inline int sna_wait_vblank(struct sna *sna, drmVBlank *vbl) { + DBG(("%s\n", __FUNCTION__)); return drmIoctl(sna->kgem.fd, DRM_IOCTL_WAIT_VBLANK, vbl); } @@ -1516,8 +1517,9 @@ sna_dri_immediate_blit(struct sna *sna, if (sna->flags & SNA_NO_WAIT) sync = false; - DBG(("%s: emitting immediate blit, throttling client, synced? %d, chained? %d\n", - __FUNCTION__, sync, sna_dri_window_get_chain((WindowPtr)draw) == info)); + DBG(("%s: emitting immediate blit, throttling client, synced? %d, chained? %d, send-event? %d\n", + __FUNCTION__, sync, sna_dri_window_get_chain((WindowPtr)draw) == info, + event)); if (sync) { info->type = DRI2_SWAP_THROTTLE; @@ -1547,7 +1549,8 @@ sna_dri_immediate_blit(struct sna *sna, vbl.request.signal = (unsigned long)info; ret = !sna_wait_vblank(sna, &vbl); } - } + } else + ret = true; } else { info->bo = sna_dri_copy_to_front(sna, draw, NULL, get_private(info->front)->bo, @@ -1562,6 +1565,7 @@ out: } } + DBG(("%s: continue? %d\n", __FUNCTION__, ret)); return ret; } |