[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