Mesa (10.1): st/vdpau: add flush on unmap
Ian Romanick
idr at kemper.freedesktop.org
Mon Feb 24 19:10:36 UTC 2014
Module: Mesa
Branch: 10.1
Commit: 8e4fec994cc429f1c82b970ad183cfa1bdfeaaa6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e4fec994cc429f1c82b970ad183cfa1bdfeaaa6
Author: Christian König <christian.koenig at amd.com>
Date: Tue Jan 28 15:22:05 2014 +0100
st/vdpau: add flush on unmap
Flush the context when we unmap a buffer, otherwise VDPAU might
start rendering the next frame while we still reference that buffer.
Signed-off-by: Christian König <christian.koenig at amd.com>
Tested-by: StrangeNoises (rachel at strangenoises.org)
(cherry picked from commit db54fca9b86aa124447d11d2bdbe359a2742cfd5)
---
src/mesa/state_tracker/st_vdpau.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/mesa/state_tracker/st_vdpau.c b/src/mesa/state_tracker/st_vdpau.c
index 4317b9e..c5b4780 100644
--- a/src/mesa/state_tracker/st_vdpau.c
+++ b/src/mesa/state_tracker/st_vdpau.c
@@ -47,6 +47,7 @@
#include "st_context.h"
#include "st_texture.h"
#include "st_format.h"
+#include "st_cb_flush.h"
static void
st_vdpau_map_surface(struct gl_context *ctx, GLenum target, GLenum access,
@@ -163,6 +164,7 @@ st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access,
struct gl_texture_image *texImage,
const GLvoid *vdpSurface, GLuint index)
{
+ struct st_context *st = st_context(ctx);
struct st_texture_object *stObj = st_texture_object(texObj);
struct st_texture_image *stImage = st_texture_image(texImage);
@@ -171,6 +173,8 @@ st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access,
pipe_resource_reference(&stImage->pt, NULL);
_mesa_dirty_texobj(ctx, texObj);
+
+ st_flush(st, NULL, 0);
}
void
More information about the mesa-commit
mailing list