This patchset introduces wl_egl_window_take_buffer and wl_egl_window_commit to the native wayland-egl platform.
wl_egl_window_take_buffer gives a way to get a wl_buffer from an wl_egl_window. The application is expected to attach this to one or multiple wl_surfaces and the EGL implementation will listen to it's release event before it reuses the buffer. This has a couple of advantages over eglSwapBuffers: - It's always non-blocking, clients doesn't have to ensure swap interval is 0 - Client are in control of the damage, attach and commit requests. I find that to be cleaner and wouldn't require an extension to specify damage. - You can attach a wl_buffer to multiple wl_surfaces. For example you could use a single buffer for 4 window decorations subsurfaces and perhaps even draw decorations with a single draw call. - We can remove the ugly commit mode setting in the subsurfaces proposal. It's no longer required since EGL won't do commit on subsurfaces. wl_egl_window_commit will commit the surface and use EGL's policy regarding waiting on frames. wl_egl_window_take_buffer followed by wl_egl_window_commit is equivalent to eglSwapBuffers only that you can specify damage without an extensions. It's more of a natural complement of wl_egl_window_take_buffer than a required function. -- 1.8.1.4 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
