Mesa (master): vl/dri3: support receiving new pixmap for front buffer
Leo Liu
leoliu at kemper.freedesktop.org
Fri Jun 10 15:48:11 UTC 2016
Module: Mesa
Branch: master
Commit: 2ad443e4cc0a72b7d0b28195b5810cbf197961cb
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ad443e4cc0a72b7d0b28195b5810cbf197961cb
Author: Leo Liu <leo.liu at amd.com>
Date: Thu Jun 9 12:53:54 2016 -0400
vl/dri3: support receiving new pixmap for front buffer
With glx of gstreamer-vaapi, the temporary pixmap for front buffer gets
renewed in each frame, so when we receive a new pixmap, should get a new
front buffer for it.
This also fixes Totem player playback corruption.
Signed-off-by: Leo Liu <leo.liu at amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
---
src/gallium/auxiliary/vl/vl_winsys_dri3.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/vl/vl_winsys_dri3.c b/src/gallium/auxiliary/vl/vl_winsys_dri3.c
index c69e677..f7f572e 100644
--- a/src/gallium/auxiliary/vl/vl_winsys_dri3.c
+++ b/src/gallium/auxiliary/vl/vl_winsys_dri3.c
@@ -358,8 +358,13 @@ dri3_set_drawable(struct vl_dri3_screen *scrn, Drawable drawable)
if (error) {
if (error->error_code != BadWindow)
ret = false;
- else
+ else {
scrn->is_pixmap = true;
+ if (scrn->front_buffer) {
+ dri3_free_front_buffer(scrn, scrn->front_buffer);
+ scrn->front_buffer = NULL;
+ }
+ }
free(error);
} else
scrn->special_event =
More information about the mesa-commit
mailing list