summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-04-17 15:02:46 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-04-17 15:06:57 +0100
commit29b70ccdf67ee7afa19bed26de8678476ba94f6e (patch)
treed0c17e32fba985b9291bea3789f0903d01f3ecad
parentf2a46458a257777438361f74d7e6abee92c7f294 (diff)
sna/present: Fix requeuing after interrupting TearFree
Increment the target_msc by one, not the last known msc! Reported-by: Rafael Ristovski <rafael.ristovski@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_present.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_present.c b/src/sna/sna_present.c
index 96d42e3d..2f181a9f 100644
--- a/src/sna/sna_present.c
+++ b/src/sna/sna_present.c
@@ -394,7 +394,8 @@ sna_present_vblank_handler(struct drm_event_vblank *event)
if (info->sna->mode.shadow_wait) {
DBG(("%s: recursed from TearFree\n", __FUNCTION__));
- if (sna_present_queue(info, msc + 1))
+ info->target_msc = msc + 1;
+ if (sna_present_queue(info, msc))
return;
}