<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - EGL client behaviour too undefined"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=98731#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - EGL client behaviour too undefined"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=98731">bug 98731</a>
              from <span class="vcard"><a class="email" href="mailto:mvicomoya@nvidia.com" title="Miguel A. Vico <mvicomoya@nvidia.com>"> <span class="fn">Miguel A. Vico</span></a>
</span></b>
        <pre>For EGLStreams, eglSwapBuffers() is too late because we rely on
wl_surface.attach + wl_surface.commit to have the compositor attach a consumer
to the stream so that the client can attach the EGLSurface producer that will
be returned to the application as the EGL platform window surface.

These first wl_surface.attach + wl_surface.commit don't encode any "new buffer
content available" message though, which basically means we are abusing these
interfaces.

We will extend our wayland protocol to add the appropriate interfaces for
setting EGLStreams up without relying on wl_surface.attach + wl_surface.commit.


However, I don't think forcing a wl_surface.attach + wl_surface.commit to
strictly happen inside eglSwapBuffers() is correct, and will cause other
interaction issues with, for instance, EGL_NV_stream_fifo_synchronous.

We already have some use cases where fifo_synchronous is used to defer
wl_surface.attach + wl_surface.damage + wl_surface.commit until the frame is
finished.

I think those are legitimate use cases that we must take into account.</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>