From bcce61526380667da34d65eda572e3242e3642bb Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Tue, 24 Jun 2014 23:33:30 +1000 Subject: [PATCH] gl: add a scary note about initializing thread support for the winsys We cannot do it as the winsys may crash if we initialize too late. Example, GLX contexts with Intel drivers: Intel requires the X Display to be the same in order to share GL resources across GL contexts. These GL contexts are generally accessed from different threads. Without winsys support it is nearly impossible to guarentee that concurrent access will not occur. This concurrent access could result in crashes or abortion by the winsys (xcb). https://bugzilla.gnome.org/show_bug.cgi?id=731525 --- gst-libs/gst/gl/gstgldisplay.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c index be596b4..c3005f7 100644 --- a/gst-libs/gst/gl/gstgldisplay.c +++ b/gst-libs/gst/gl/gstgldisplay.c @@ -30,6 +30,14 @@ * #GstGLDisplay represents a connection to the underlying windowing system. * Elements are required to make use of #GstContext to share and propogate * a #GstGLDisplay. + * + * Certain window systems require a special function to be called to + * initialize threading support. As this GStreamer GL library does not preclude + * concurrent access to the windowing system, it is strongly advised that + * applications ensure that threading support has been initialized before any + * other toolkit/library functionality is accessed. Failure to do so could + * result in sudden application abortion during execution. The most notably + * example of such a function is X11's XInitThreads(). */ #ifdef HAVE_CONFIG_H -- 2.7.4