[Libva] [PATCH 00/16] libva: wayland support

Beauchesne, Gwenole gwenole.beauchesne at intel.com
Tue Jun 26 21:55:54 PDT 2012


Hi,

> Vaapi works for wayland/Weston with RGB format, should we push these
> patches upstream now?

The only correct way this can work with RGB format is to use a VPP pipeline. If direct exposure of RGB is done in those patches and the source surface is not created with an RGB format, then the series look buguous. i.e. vaGetSurfaceBufferWl() shall not expose an RGB buffer derived from a temporary VA surface you created in there.

Regards,
Gwenole.

> > -----Original Message-----
> > From: Zhao, Halley
> > Sent: Tuesday, June 05, 2012 5:07 PM
> > To: libva at lists.freedesktop.org
> > Cc: Zhao, Halley
> > Subject: [PATCH 00/16] libva: wayland support
> >
> > From: Halley Zhao <halley.zhao at intel.com>
> >
> > wayland/weston is new compositor/display-server to enable direct
> > communication between compositor and client:
> >   http://wayland.freedesktop.org/
> >
> > this series of patch enables vaapi talking to weston and exchanging
> > buffers basing on drm buffer (wayland-drm protocol)
> >
> > the patches have been revised for several times, Benjamin created the
> > initial implementation last year, Gwenole reconstructed the code and
> > APIs (introducing vaCreateSurfaceWL, vaDestroySurfaceWL,
> > vaAttachSurfaceWL); finally Halley revise the patches to use
> > vaGetSurfaceBufferWl only basing on Gwenole's suggestion -- life cycle
> > management of surface buffer relies on client of vaapi.
> >
> > Now the patches work well to send XRGB buffer to weston. the interface
> > also supports YUV buffer between vaapi and weston
> >
> > Benjamin Franzke (2):
> >   API: introduce DRM common utilities and data structures.
> >   Add PutSurface test for wayland
> >
> > Gwenole Beauchesne (5):
> >   API: backend: rename dri_state to drm_state.
> >   API: backend: add VA display types.
> >   API: add support for Wayland.
> >   test: simplify va display construction
> >   tests: add support for Wayland.
> >
> > Zhao halley (9):
> >   always use egl for wayland
> >   add wayland-drm protocol
> >   fix some include issue
> >   improve EGL check
> >   va wayland update to use vaGetSurfaceBufferWl
> >   use struct wl_buffer **
> >   update test case
> >   replace WL to Wl
> >   add vaGetImageBufferWl
> >
> >  configure.ac                             |   48 ++++-
> >  pkgconfig/Makefile.am                    |    4 +
> >  pkgconfig/libva-wayland.pc.in            |   13 ++
> >  test/Makefile.am                         |    2 +-
> >  test/common/Makefile.am                  |   54 +++++
> >  test/common/va_display.c                 |   95 +++++++++
> >  test/common/va_display.h                 |   60 ++++++
> >  test/common/va_display_android.cpp       |   90 ++++++++
> >  test/common/va_display_wayland.c         |  204 ++++++++++++++++++
> >  test/common/va_display_x11.c             |  113 ++++++++++
> >  test/decode/Android.mk                   |    4 +-
> >  test/decode/Makefile.am                  |   28 ++-
> >  test/decode/mpeg2vldemo.cpp              |   84 ++------
> >  test/decode/tinyjpeg.c                   |   41 ++---
> >  test/putsurface/Makefile.am              |   27 ++-
> >  test/putsurface/putsurface_wayland.c     |  329
> > ++++++++++++++++++++++++++++++
> >  test/vainfo/Android.mk                   |    4 +-
> >  test/vainfo/Makefile.am                  |   26 ++-
> >  test/vainfo/vainfo.c                     |   28 +---
> >  va/Makefile.am                           |   14 ++-
> >  va/android/va_android.cpp                |   25 ++-
> >  va/glx/va_glx.c                          |    1 +
> >  va/va_backend.h                          |   24 ++-
> >  va/va_drmcommon.h                        |   46 ++++
> >  va/wayland/Makefile.am                   |   56 +++++
> >  va/wayland/protocol/wayland-drm.xml      |  139 +++++++++++++
> >  va/wayland/va_backend_wayland.h          |   57 +++++
> >  va/wayland/va_wayland.c                  |  193 +++++++++++++++++
> >  va/wayland/va_wayland.h                  |  123 +++++++++++
> >  va/wayland/va_wayland_drm.c              |  209 +++++++++++++++++++
> >  va/wayland/va_wayland_drm.h              |   47 +++++
> >  va/wayland/va_wayland_private.h          |   48 +++++
> >  va/wayland/wayland-drm-client-protocol.h |  196 ++++++++++++++++++
> >  va/x11/dri1_util.c                       |   28 ++--
> >  va/x11/dri2_util.c                       |   28 ++--
> >  va/x11/va_dricommon.c                    |   10 +-
> >  va/x11/va_dricommon.h                    |   12 +-
> >  va/x11/va_x11.c                          |    7 +-
> >  38 files changed, 2312 insertions(+), 205 deletions(-)  mode change
> > 100644 => 100755 configure.ac  mode change 100644 => 100755
> > pkgconfig/Makefile.am  create mode 100644
> > pkgconfig/libva-wayland.pc.in mode change 100644 => 100755
> > test/Makefile.am  create mode 100644 test/common/Makefile.am  create
> > mode 100644 test/common/va_display.c create mode 100644
> > test/common/va_display.h  create mode 100644
> > test/common/va_display_android.cpp
> >  create mode 100755 test/common/va_display_wayland.c  create mode
> > 100644 test/common/va_display_x11.c  mode change 100644 => 100755
> > test/decode/Makefile.am  mode change 100644 => 100755
> > test/decode/mpeg2vldemo.cpp  mode change 100644 => 100755
> > test/decode/tinyjpeg.c  mode change 100644 => 100755
> > test/putsurface/Makefile.am  create mode 100755
> > test/putsurface/putsurface_wayland.c
> >  mode change 100644 => 100755 test/vainfo/Android.mk  mode change
> > 100644 => 100755 test/vainfo/Makefile.am  mode change 100644 => 100755
> > test/vainfo/vainfo.c  mode change 100644 => 100755 va/Makefile.am
> > mode change 100644 => 100755 va/android/va_android.cpp  mode change
> > 100644 =>
> > 100755 va/glx/va_glx.c  mode change 100644 => 100755 va/va_backend.h
> > create mode 100644 va/va_drmcommon.h  create mode 100644
> > va/wayland/Makefile.am  create mode 100644
> > va/wayland/protocol/wayland- drm.xml  create mode 100755
> > va/wayland/va_backend_wayland.h  create mode 100755
> > va/wayland/va_wayland.c  create mode 100755 va/wayland/va_wayland.h
> > create mode 100644 va/wayland/va_wayland_drm.c  create mode 100644
> > va/wayland/va_wayland_drm.h  create mode 100644
> > va/wayland/va_wayland_private.h  create mode 100644
> > va/wayland/wayland- drm-client-protocol.h  mode change 100644 =>
> > 100755 va/x11/dri2_util.c  mode change 100644 =>
> > 100755 va/x11/va_dricommon.c  mode change 100644 => 100755
> > va/x11/va_dricommon.h  mode change 100644 => 100755 va/x11/va_x11.c
> >
> > --
> > 1.7.5.4



More information about the Libva mailing list