[Bug 774809] glimagesink regression: does not render video since using libxcb

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Nov 21 23:49:24 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=774809

Julien Isorce <julien.isorce at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |julien.isorce at gmail.com

--- Comment #3 from Julien Isorce <julien.isorce at gmail.com> ---
Same here and with latest mesa.

The following hack/workaround also fixes the problem:

diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index d6eb281..28b8de4 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -853,7 +853,7 @@ dri2SwapBuffers(__GLXDRIdrawable *pdraw, int64_t
target_msc, int64_t divisor,
     }

     /* Old servers don't send invalidate events */
-    if (!pdp->invalidateAvailable)
+    if (1 || !pdp->invalidateAvailable)
        dri2InvalidateBuffers(dpyPriv->dpy, pdraw->xDrawable);

     return ret;


But looking at the reason why it is working in the egl case, I found this
commit:

commit eed0a80137dfac641adfd39ce316938dbcf2be10
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jun 21 15:34:52 2013 -0700

    egl: Restore "bogus" DRI2 invalidate event code.

So I guess one could do something similar than egl, i.e. for glx, having
"pdp->invalidateAvailable" equals to false in more cases.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list