[PATCH v4 0/3] Add support of dmabuf in wayland/weston

Rob Clark robdclark at gmail.com
Fri Jan 10 06:59:09 PST 2014


On Fri, Jan 10, 2014 at 9:58 AM, Rob Clark <robdclark at gmail.com> wrote:
> I suspect that this is somehow on the same level as wl_drm (which is
> in mesa, not wayland).  The difference here is that since you can
> share buffers with various things (video codecs, cameras, etc), ie.
> things beyond just the gpu, it makes sense to put the protocol in some
> sort of common place rather than duplicating it in 20 places.  Perhaps
> the thing to do is start creating some proto trees
> (git://.../wayland/drmproto ?) for things like this which need a

bleh, 'send' to fast..  s/drmproto/dmabufproto/

> common home but yet don't belong in wayland.git?
>
> BR,
> -R
>
> On Tue, Jan 7, 2014 at 12:57 PM, Jasper St. Pierre
> <jstpierre at mecheye.net> wrote:
>> Sorry if this was discussed before, but any reason this is being put in
>> Wayland, and in the "wl_" namespace? DMA-BUF is a private Linux kernel
>> feature that's really semi-stable, not used by all drivers, and I'd hate for
>> it to bit-rot and tell people not to use it, the same way wl_shell went.
>> Having it only in the weston source tree, and in a private "dmabuf"
>> namespace seems like it should be enough for now.
>>
>> On Tue, Jan 7, 2014 at 12:41 PM, <benjamin.gaignard at linaro.org> wrote:
>>>
>>> From: Benjamin Gaignard <benjamin.gaignard at linaro.org>
>>>
>>> The goal of this serie of patches is to add a way to use
>>> dmabuf file descriptor inside wayland and weston.
>>>
>>> In a context where there is no Mesa EGL (and so no wl_drm protocol)
>>> wl_dmabuf
>>> could be used as an alternative to shm to share buffers between hardware
>>> devices. If your hardware device (video decoder, renderer, etc...) need
>>> physical contiguous memory (obviously don't have MMU) wl_dmabuf may save
>>> the cost of one copy compare to shm.
>>>
>>> shm case:
>>> videodecoder --(copy into shm_buffer)--> weston(+pixman) --> HW renderer
>>>
>>> dmabuf case:
>>> videodecoder --(directly write in dmabuf buffer)--> weston(+pixman) --> HW
>>> renderer
>>>
>>> The server is responsible to send its supported pixel formats and the
>>> device
>>> name to be used by the client to allocate buffers.
>>>
>>> While mmap() call on dmabuf file descriptor result isn't guaranty on all
>>> architectures both server and client should take care of it before
>>> accessing
>>> to buffer data to avoid segfault.
>>>
>>> This series of patches include wayland and weston modifications.
>>> An example of how use wl_dmabuf is provided in
>>> weston/clients/simple-dmabuf.c
>>>
>>> === Wayland ===
>>> Benjamin Gaignard (1):
>>>   Add wl_dmabuf protocol
>>>
>>>  protocol/Makefile.am        |    6 +-
>>>  protocol/wayland-dmabuf.xml |  128 ++++++++++++++++++++++++
>>>  src/Makefile.am             |   12 ++-
>>>  src/wayland-dmabuf.c        |  231
>>> +++++++++++++++++++++++++++++++++++++++++++
>>>  src/wayland-dmabuf.h        |  123 +++++++++++++++++++++++
>>>  5 files changed, 496 insertions(+), 4 deletions(-)
>>>  create mode 100644 protocol/wayland-dmabuf.xml
>>>  create mode 100644 src/wayland-dmabuf.c
>>>  create mode 100644 src/wayland-dmabuf.h
>>>
>>> === Weston ===
>>> Benjamin Gaignard (2):
>>>   compositor-drm: allow to be a wl_dmabuf server
>>>   add simple-dmabuf client
>>>
>>>  clients/Makefile.am     |   11 ++
>>>  clients/simple-dmabuf.c |  469
>>> +++++++++++++++++++++++++++++++++++++++++++++++
>>>  configure.ac            |    5 +
>>>  src/compositor-drm.c    |   83 ++++++++-
>>>  src/compositor.c        |    4 +-
>>>  src/compositor.h        |    2 +
>>>  src/pixman-renderer.c   |   93 +++++++---
>>>  7 files changed, 637 insertions(+), 30 deletions(-)
>>>  create mode 100644 clients/simple-dmabuf.c
>>>
>>> --
>>> 1.7.9.5
>>>
>>> _______________________________________________
>>> wayland-devel mailing list
>>> wayland-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>
>>
>>
>>
>> --
>>   Jasper
>>
>> _______________________________________________
>> wayland-devel mailing list
>> wayland-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>


More information about the wayland-devel mailing list