[PATCH 0/7] Generic dmabuf protocol RFCv1

Pekka Paalanen ppaalanen at gmail.com
Tue Dec 16 02:19:39 PST 2014


Hi,

I'm adding more people to CC who have commented on Wayland dmabuf
attempts before and might be interested.

If you want to keep updated without monitoring wayland-devel@, you
could subscribe to
https://bugs.freedesktop.org/show_bug.cgi?id=83881


Thanks,
pq

On Fri, 12 Dec 2014 16:51:01 -0500
Louis-Francis Ratté-Boulianne <lfrb at collabora.com> wrote:

> This serie of patches by Pekka and George contains an experimental
> implementation of "zlinux_dmabuf" protocol.
> 
> See these links for more information about the design and failed previous
> attempts:
> 
> http://lists.freedesktop.org/archives/wayland-devel/2014-June/015362.html
> https://bugs.freedesktop.org/show_bug.cgi?id=83881
> 
> This protocol allows clients to wrap a dmabuf into a wl_buffer, and push that
> into the compositor for display. The compositor then uses GBM to import that
> wl_buffer as a bo for compositing with GL (via EGLImage) or direct scanout as a
> DRM FB object.
> 
> Note that a round-trip is needed when creating the buffer because there is no
> way to communicate all dmabuf constraints from the compositor to a client
> before-hand. They are simply too complicated and changing to be described in
> a Wayland protocol extension. In fact, there are existing APIs like EGL (the
> dmabuf import extension) that are based on trial-and-error rather than knowing
> the constraints before-hand.
> 
> However, the protocol design is far far away from complete. Even the kernel
> developers are still discussing, how cross-device support for dmabufs should
> work, and what is the proper information split between the kernel and the user
> space. How do you communicate, or even describe, things like tiling formats.
> 
> But, we should start from somewhere, and this patch is pushing the user space
> part forward a bit.
> 
> The extension is especially useful for video players and this pipeline has been
> demonstrated to work with GStreamer:
> 
> http://cgit.collabora.com/git/user/gkiagia/gst-plugins-bad.git/commit/?h=inteldmabufupload&id=727732c6de87949278cd53436ba2c430956cd8f9
> 
> 
> George Kiagiadakis (1):
>   clients: add simple-dmabuf client
> 
> Pekka Paalanen (6):
>   protocol: add linux_dmabuf extension RFCv1
>   dmabuf: implement linux_dmabuf extension
>   gl-renderer: add dmabuf import
>   compositor-x11: init linux_dmabuf support
>   compositor-drm: init linux_dmabuf support
>   compositor-drm: dmabuf GBM import
> 
>  .gitignore                |   1 +
>  Makefile.am               |  24 +-
>  clients/simple-dmabuf.c   | 578 ++++++++++++++++++++++++++++++++++++++++++++++
>  configure.ac              |   9 +
>  protocol/linux-dmabuf.xml | 224 ++++++++++++++++++
>  src/compositor-drm.c      |  31 ++-
>  src/compositor-x11.c      |   5 +
>  src/gl-renderer.c         | 103 +++++++++
>  src/linux-dmabuf.c        | 322 ++++++++++++++++++++++++++
>  src/linux-dmabuf.h        |  45 ++++
>  10 files changed, 1336 insertions(+), 6 deletions(-)
>  create mode 100644 clients/simple-dmabuf.c
>  create mode 100644 protocol/linux-dmabuf.xml
>  create mode 100644 src/linux-dmabuf.c
>  create mode 100644 src/linux-dmabuf.h
> 



More information about the wayland-devel mailing list