From 0301858a316af7d831655778cf69bc49b12ee6ac Mon Sep 17 00:00:00 2001 From: Nayan Deshmukh Date: Tue, 20 Sep 2016 10:22:12 +0530 Subject: [PATCH] st/va: flush the context before calling flush_frontbuffer(v2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit so that the texture is rendered to back buffer before calling flush_frontbuffer and can be copied to a different buffer in the function v2: change comment style Signed-off-by: Nayan Deshmukh Reviewed-by: Michel Dänzer Acked-by: Christian König --- src/gallium/state_trackers/va/surface.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c index 00df69db725..115db43f791 100644 --- a/src/gallium/state_trackers/va/surface.c +++ b/src/gallium/state_trackers/va/surface.c @@ -321,10 +321,14 @@ vlVaPutSurface(VADriverContextP ctx, VASurfaceID surface_id, void* draw, short s return status; } + /* flush before calling flush_frontbuffer so that rendering is flushed + * to back buffer so the texture can be copied in flush_frontbuffer + */ + drv->pipe->flush(drv->pipe, NULL, 0); + screen->flush_frontbuffer(screen, tex, 0, 0, vscreen->get_private(vscreen), NULL); - drv->pipe->flush(drv->pipe, NULL, 0); pipe_resource_reference(&tex, NULL); pipe_surface_reference(&surf_draw, NULL); -- 2.30.2