https://bugs.freedesktop.org/show_bug.cgi?id=77260

--- Comment #1 from Pekka Paalanen <[email protected]> ---
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.
_______________________________________________
Wayland-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-bugs

Reply via email to