On Fri, Feb 4, 2011 at 11:31 AM, Benjamin Franzke <benjaminfran...@googlemail.com> wrote: > Hi Mesa List, > > This patch series add a egl wayland platform. > A helper library was needed in order to provide native types > for the egl routines. > The types are used to cache wayland events but also to > create an interface for the application, e.g. for resizing. > > The library header will be provided by wayland, as it defines > what vendors have to implement. > It is available here (and will be pushed to wayland) > http://cgit.freedesktop.org/~bnf/wayland/diff/wayland/wayland-egl.h?h=wayland-egl
Just to expand on this a bit, libwayland-egl.so defines the Walyand EGL native platform. It's an interface that's defined by a header that's part of Wayland, but it's provided by the EGL driver vendor. It's an abstraction that let's Wayland clients create native windows and pixmaps without having to deal with drm extensions and details such as gem names and shared drm EGL images. The libwayland-egl.so implementation is free to talk to the Wayland compositor to look up whatever Wayland interfaces it needs to implement its buffer sharing mechanism, whether that's the current "drm" interface for sharing GEM buffers, the "shm" interface for swrast or a custom/proprietary protocol for sharing buffers (and cross process sync objects, if necessary). Also when working on the libwayland-egl.so interface we realized that the native pixmap is really the natural, platform specific cross process buffer. EGLImage was designed for cross-API, sharing not cross process sharing (something that was pointed out to me several times at the recent Khronos F2F). So at this point, I'm more inclined to leave the buffer sharing details to the libwayland-egl.so implementation in terms of native pixmaps (and windows, of course), and then just create an EGLImage from wl_egl_pixmap for the cases when we need an EGLImage. Of course, implementing an EGL window surface also lets us encapsulate and share the throttling and flipping logic in in the eglSwapBuffer implementation. Kristian _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev