diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-05-27 21:07:20 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-05-27 21:15:48 +0100 |
commit | f38d037b94aacdccb2aaa058bbe48d1c8079d604 (patch) | |
tree | a3fe3ffce4799fd3a429d87ab6e1b33fc2801433 /src/sna/sna_video_textured.c | |
parent | 7e7d0ad15bafc4624f8c2ccf73c08ead5cc6fd6a (diff) |
sna/video: Correct interpretation of 'sync'
The 'sync' parameter past along XvPutImage is not a request for us to
perform the operation synchronised to the vblank, rather a hint that the
client wishes the operation to be synchronous. In Xorg, this is
implemented as an immediate ShmCompletion event so make sure we flush
the operation to hw in this case.
Fixes regression from
commit 195a51353c3af7bd253227da5f759f06cea01f73 [2.21.8]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Apr 9 19:13:46 2013 +0100
sna/video: Convert to a pure Xv backend
Reported-by: Matti Hamalainen <ccr@tnsp.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65048
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_video_textured.c')
-rw-r--r-- | src/sna/sna_video_textured.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c index 29f4d9d4..47f4e5d5 100644 --- a/src/sna/sna_video_textured.c +++ b/src/sna/sna_video_textured.c @@ -235,7 +235,7 @@ sna_video_textured_put_image(ClientPtr client, } } - if (crtc && sync && video->SyncToVblank != 0 && + if (crtc && video->SyncToVblank != 0 && sna_pixmap_is_scanout(sna, pixmap)) { kgem_set_mode(&sna->kgem, KGEM_RENDER, sna_pixmap(pixmap)->gpu_bo); flush = sna_wait_for_scanline(sna, pixmap, crtc, @@ -254,7 +254,7 @@ sna_video_textured_put_image(ClientPtr client, /* Push the frame to the GPU as soon as possible so * we can hit the next vsync. */ - if (flush) + if (flush || sync) kgem_submit(&sna->kgem); RegionUninit(&clip); |