This report is inspired on https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/b5aa304f201d0805de2b33ab97d293654baa12cd?merge_request_iid=156 We should fence [1] the texture to render in its internal GL context, and wait [2] for its rendering in our application GL context, otherwise the GL pipeline could be working on the texture when painting it. 1. https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glFenceSync.xhtml 2. https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glWaitSync.xhtml
Well, I guess this enhancement doesn't make much sense since it uses OpenGL API 3.5 while webkitgtk uses 3.0
Could this be useful for WPE though?
For EGL there's an equiivalent but it doesn't seem to be supported in GStreamer: https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_fence_sync.txt
(In reply to Philippe Normand from comment #3) > For EGL there's an equiivalent but it doesn't seem to be supported in > GStreamer: > > https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_fence_sync.txt If I understand correctly, at least in i915, the implementation is the same for both https://gitlab.freedesktop.org/mesa/mesa/blob/master/src/mesa/drivers/dri/i915/intel_syncobj.c#L30 And in another spec I read that the glFenceSync spec is newer, thus it is expected to cover the EGL usage.
Reopening because it's required for other context, specially on EGL.