<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED MOVED - Wayland lacks cross-process synchronisation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=97353#c21">Comment # 21</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED MOVED - 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:daniel@fooishbar.org" title="Daniel Stone <daniel@fooishbar.org>"> <span class="fn">Daniel Stone</span></a>
</span></b>
        <pre>(In reply to Tomek Bury from <a href="show_bug.cgi?id=97353#c20">comment #20</a>)
<span class="quote">> (In reply to Daniel Stone from <a href="show_bug.cgi?id=97353#c19">comment #19</a>)
> > Buffer exchange between multiple processes, and synchronisation between them
> > (cf. eglWaitNative), is an explicit goal of EGL.

> No, it isn't. The single "address space" limit is all over EGL spec. 

> The eglWaitNative is a counterpart of eglWaitGL. It's only to synchronise
> access form inside and outside GL(ES), not across processes.</span >

EGL was mostly written by copying GLX and changing a few terms around.
eglWaitNative is the direct analog of glXWaitX (the documentation of which
explicitly mentions XSync), and the required implementation of eglWaitNative on
X11 is glXWaitX, which necessarily involves crossing a process boundary.

EGL objects - as visible to clients - are not shareable across process
contexts. But this does not mean that EGL calls are required to never do
anything which could cross a process boundary, because this means that EGL
could never work on Wayland, X11, Mir, Android, OS X / iOS, or Windows.

Implementing support for any winsys apart from fbdev or GBM necessarily imposes
requirements on cross-process co-ordination; this includes exporting
synchronisation objects between processes. If EGL banned cross-process fencing,
then glFinish would be mandatory as a part of eglSwapBuffers. This is clearly
not the case.</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>