diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2016-04-17 15:02:46 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-04-17 15:06:57 +0100 |
commit | 29b70ccdf67ee7afa19bed26de8678476ba94f6e (patch) | |
tree | d0c17e32fba985b9291bea3789f0903d01f3ecad | |
parent | f2a46458a257777438361f74d7e6abee92c7f294 (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.c | 3 |
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; } |