[Bug 704806] Implement GL context sharing

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Aug 31 21:47:34 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=704806
  GStreamer | gst-plugins-gl | git

--- Comment #13 from Matthew Waters <ystreet00 at gmail.com> 2013-09-01 04:47:28 UTC ---
(In reply to comment #10)
> That's only half the solution here then, also it will only work for two
> contexts and not more :)

You can use either context then to share with another context that you create,
there's nothing limiting you to 2 contexts (barring implementation-specific
limitations).

> What options do you see to share contexts independently? Other than downloading
> and uploading again?

You can't share contexts independently, they must be initialized with another
context so that they can share the same object space.

(In reply to comment #11)
> Review of attachment 253511 [details]:
> 
> I think some of the elements in gst/gl use this pattern too
> 
> ::: gst-libs/gst/gl/gstglfilter.c
> @@ +151,2 @@
>      {
> +      filter->other_context = g_value_get_object (value);
> 
> g_value_dup_object() here, and then make sure to unref it again when it's not
> used anymore

The only elements that don't inherit from glfilter are glmosaic, gltestsrc and
glimagesink and I couldn't find it there.

(In reply to comment #12)
> Review of attachment 253512 [details]:
> 
> ::: gst-libs/gst/gl/egl/gstglcontext_egl.c
> @@ -171,3 @@
> -    config_attrib[i++] = EGL_CONFIG_ID;
> -    config_attrib[i++] = config_id;
> -    config_attrib[i++] = EGL_NONE;
> 
> I think we should still do that as maybe the display was initialized from the
> outside with a different config already. Just to be on the save side :)

How would we get the config from outside?  I thought that EGLConfig's were
associated with EGLSurfaces.

> Just change the FIXME comment, and do a display equality check here and fail if
> it's not equal

However we explicitly set them equal at the start of _create() if we're sharing
so that seems pointless :).

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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