[Wayland-bugs] [Bug 77260] getting stuck before eglswapbuffers in app without wl_shell and wl_registry components
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Apr 9 23:21:50 PDT 2014
https://bugs.freedesktop.org/show_bug.cgi?id=77260
--- Comment #1 from Pekka Paalanen <ppaalanen at gmail.com> ---
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?
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-bugs/attachments/20140410/701fd0b3/attachment.html>
More information about the Wayland-bugs
mailing list