[Wayland-bugs] [Bug 97353] Wayland lacks cross-process synchronisation

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Aug 16 19:56:20 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=97353

--- Comment #16 from Daniel Stone <daniel at fooishbar.org> ---
(In reply to Tomek Bury from comment #14)
> (In reply to Daniel Stone from comment #13)
> > (In reply to Kristian Høgsberg from comment #12)
> > > Which compositor is this?
> 
> QtWayland as of Qt 5.7.

OK, that's demonstrably broken, and I believe on some real-world drivers as
well. Regardless of whether or not it's documented, it just won't work ...

> > I'd equally consider any compositor which doesn't do this to be broken.
> > Weston to the best of my knowledge (and a quick check) does destroy and
> > recreate.
> 
> Again, I don't know. I didn't see anywhere such requirement or promise that
> EGL image wrapping wl_buffer is guaranteed to be destroyed before buffer
> release. If that was the case "release" would be a responsibility of a
> platform implementation, the same way the "attach" is. To my untrained eye
> wl_buffer_release() and eglImageDestroy() over 2 independent and
> asynchronous channels looks like asking for trou^H^H^H^H race condition.

The wl_display is one communication channel, and EGL implementations can
specify their own extensions to communicate over that. wl_drm is one,
mali_buffer_sharing is another; anyone could create their own extension which
posted a fence event back when an EGLImage created from a wl_buffer was
destroyed. This would be guaranteed to be delivered in order.

> > You're very right that this should be documented better. I'm not sure if the
> > Khronos specs are the best place, or a document in the Wayland repository
> > itself. Can we take this bug as one request for explicit fencing support
> > (being actively pursued), and another one to document the EGL platform
> > requirements for both driver implementations and compositors?
> 
> Thanks. Would you like me to create 2 dependent Mozilla tickets?

Sure!

(In reply to Tomek Bury from comment #15)
> With regards to documenting requirements: EGL spec explicitly limits sharing
> and synchronisation to a single "address space" so Wayland requirement for
> cross-process synchronisation needs an extension if you want to go with
> Khrons.

It doesn't give you standardised cross-process primitives, but EGL platforms
and winsys mostly require working across process boundaries. It's entirely
legitimate to place requirements on how they operate, without having to specify
an entire generic mechanism for external fencing.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20160816/0682c698/attachment-0001.html>


More information about the wayland-bugs mailing list