<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Wayland lacks cross-process synchronisation"
href="https://bugs.freedesktop.org/show_bug.cgi?id=97353#c7">Comment # 7</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Wayland lacks cross-process synchronisation"
href="https://bugs.freedesktop.org/show_bug.cgi?id=97353">bug 97353</a>
from <span class="vcard"><a class="email" href="mailto:tomek.bury@gmail.com" title="Tomek Bury <tomek.bury@gmail.com>"> <span class="fn">Tomek Bury</span></a>
</span></b>
<pre>(In reply to Kristian Høgsberg from <a href="show_bug.cgi?id=97353#c4">comment #4</a>)
<span class="quote">> For driver architectures that require userspace synchronization, you would
> define your own buffer sharing interface and pass along fences for each
> shared buffer.</span >
I'd love to but there are no hook points available or the return path
(compositor to client).
Handing a buffer from client to compositor is easy because client calls
eglSwapBuffers(). The implementation of eglSwapBuffers() can take care of
client-to-compositor synchronisation and make sure that compositor doesn't read
the buffer before client has finished writing.
The hard part is the compositor-to-client. Compositor implementation doesn't
call any GLES or EGL function to inform the driver that it's about to release
the shared buffer. How is the driver supposed to know that compositor is
releasing a buffer? How the client is supposed to wait for compositor before
overwriting an already released buffer? Where do you propose to create in the
compositor-side fence?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>