Mesa (master): st/vdpau: flush the context before calling flush_frontbuffer
Christian König
deathsimple at kemper.freedesktop.org
Tue Sep 20 09:18:54 UTC 2016
Module: Mesa
Branch: master
Commit: e4cc2276c1fce9bce81834c348c3fc7e97ed6321
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4cc2276c1fce9bce81834c348c3fc7e97ed6321
Author: Nayan Deshmukh <nayan26deshmukh at gmail.com>
Date: Tue Sep 20 10:40:11 2016 +0530
st/vdpau: flush the context before calling flush_frontbuffer
so that the texture is rendered to back buffer before calling
flush_frontbuffer and can be copied to a different buffer in
the function
Signed-off-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Acked-by: Christian König <christian.koenig at amd.com>
---
src/gallium/state_trackers/vdpau/presentation.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/vdpau/presentation.c b/src/gallium/state_trackers/vdpau/presentation.c
index 2862eaf..f35d73a 100644
--- a/src/gallium/state_trackers/vdpau/presentation.c
+++ b/src/gallium/state_trackers/vdpau/presentation.c
@@ -271,11 +271,14 @@ vlVdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue,
}
vscreen->set_next_timestamp(vscreen, earliest_presentation_time);
- pipe->screen->flush_frontbuffer(pipe->screen, tex, 0, 0,
- vscreen->get_private(vscreen), NULL);
+ // flush before calling flush_frontbuffer so that rendering is flushed
+ // to back buffer so the texture can be copied in flush_frontbuffer
pipe->screen->fence_reference(pipe->screen, &surf->fence, NULL);
pipe->flush(pipe, &surf->fence, 0);
+ pipe->screen->flush_frontbuffer(pipe->screen, tex, 0, 0,
+ vscreen->get_private(vscreen), NULL);
+
pq->last_surf = surf;
if (dump_window == -1) {
More information about the mesa-commit
mailing list