<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>