summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-11-30 15:27:36 +1000
committerBen Skeggs <bskeggs@redhat.com>2010-11-30 15:27:36 +1000
commit8bb8231236a6b877895663aeaa9cef731d67fe68 (patch)
treeb2dc77b8129be2bf4542a57b0d8cb952d532b052
parentf29afe65b67c9b89ceba421d9b3aee590f7ded20 (diff)
dri2: fix certain clients blocking forever when sync-to-vblank unavailable
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--src/nouveau_dri2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index 969c6f3..2dd6da4 100644
--- a/src/nouveau_dri2.c
+++ b/src/nouveau_dri2.c
@@ -322,8 +322,10 @@ nouveau_dri2_schedule_wait(ClientPtr client, DrawablePtr draw,
CARD64 current_msc;
int ret;
- if (!can_sync_to_vblank(draw))
+ if (!can_sync_to_vblank(draw)) {
+ DRI2WaitMSCComplete(client, draw, target_msc, 0, 0);
return TRUE;
+ }
/* Initialize a vblank structure */
s = malloc(sizeof(*s));