[Bug 704806] Implement GL context sharing

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Sep 2 02:26:46 PDT 2013


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

--- Comment #14 from Sebastian Dröge (slomo) <slomo at circular-chaos.org> 2013-09-02 09:26:44 UTC ---
(In reply to comment #13)
> (In reply to comment #10)

> > 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.

I see, for that we should implement a fallback copying path in GstGLMemory then
:( Maybe for some implementations this could be made less worse by having a
custom implementation around EGLImage or something else.

> (In reply to comment #11)
> > Review of attachment 253511 [details] [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.

Indeed, should've looked before. Sorry

> (In reply to comment #12)
> > Review of attachment 253512 [details] [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.

I guess in the future we could allow outside code to initialize the EGLDisplay
themselves somehow... not that important I guess

-- 
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