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

Zhao, Halley halley.zhao at intel.com
Wed Jun 27 00:17:01 PDT 2012


It is not a temporary VA surface, but reuse the region of render_state ( it is not perfect but works).

If we have to use VPP for RGB format, then additional color conversion is required -- I can add it to my todo list.



> -----Original Message-----
> From: Beauchesne, Gwenole
> Sent: Wednesday, June 27, 2012 12:56 PM
> To: Zhao, Halley
> Cc: libva at lists.freedesktop.org
> Subject: RE: [PATCH 00/16] libva: wayland support
> 
> 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