<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - getting stuck before eglswapbuffers in app without wl_shell and wl_registry components"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77260#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - getting stuck before eglswapbuffers in app without wl_shell and wl_registry components"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77260">bug 77260</a>
              from <span class="vcard"><a class="email" href="mailto:ppaalanen@gmail.com" title="Pekka Paalanen <ppaalanen@gmail.com>"> <span class="fn">Pekka Paalanen</span></a>
</span></b>
        <pre>I am puzzled about your question.

To create an EGLSurface, you will need to create a wl_surface as the first
step. You cannot do that without creating a wl_registry, binding to
wl_compositor, and sending a wl_compositor request to create the wl_surface.

Furthermore, the wl_surface will not be mapped until you tell the server what
it is. You are creating a top-level window, so you have to use wl_shell or
xdg_shell to say it is a top-level window. To access wl_shell or xdg_shell, you
again need wl_registry.

If you do not tell the server what the wl_surface is for, the surface will
never be mapped, and hence wl_surface.frame callbacks will never fire. EGL will
internally wait for the frame callback of the previous eglSwapBuffers, if you
have swap interval greater than 0. So, without mapping a surface, EGL can
indeed get stuck, because the frames you render will never get to screen.

But I still do not understand how you could ever work without wl_registry. Are
you not telling the whole story, like are you using a toolkit of some kind? Or
are you trying to do off-screen rendering without a real window?

What EGL implementation are you using? On what platform?

What do you mean by blocked, exactly? Have a gdb backtrace?</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>