st/vdpau: really block until surface is idle
pipe_screen::fence_finish with zero timeout returns quickly and doesn't wait at all. Fix that, and also delete the fence afterwards, so that QuerySurfaceStatus returns the right state later. Addresses: https://trac.videolan.org/vlc/ticket/9281 https://bugs.freedesktop.org/show_bug.cgi?id=68792 Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
committed by
Christian König
parent
48563bd45c
commit
bd19e25703
@@ -325,7 +325,8 @@ vlVdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_qu
|
||||
pipe_mutex_lock(pq->device->mutex);
|
||||
if (surf->fence) {
|
||||
screen = pq->device->vscreen->pscreen;
|
||||
screen->fence_finish(screen, surf->fence, 0);
|
||||
screen->fence_finish(screen, surf->fence, PIPE_TIMEOUT_INFINITE);
|
||||
screen->fence_reference(screen, &surf->fence, NULL);
|
||||
}
|
||||
pipe_mutex_unlock(pq->device->mutex);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user