[Mesa-dev] [PATCH 0/2] vaapi: add support for dmabuf export

Julien Isorce j.isorce at samsung.com
Thu Oct 29 04:47:25 PDT 2015

This 2 patches allow to derive a va surface as a va image.
Which one can be exported as dmabuf by calling VaAcquireBufferHandle.

I have tested these patches with gstreamer-vaapi and nouveau driver.
The pipeline looks like:

gstvaapidecode:(vasurface, NV12) -> gstvaapipostproc:(dmabuf, RGBA) -> glimagesink(EGL_EXT_image_dma_buf_import) 

I even went further by doing export and import in separate processes,
i.e. exporting the surface in a process A, and importing in an EGLImage in a process B.

The concrete use case is the GStreamer backend for the Chromium browser:

The VA surface is exported as dmabuf in the new Media Process.
Then this dmabuf is imported into an EGLImage in the GPU Process. 

Julien Isorce (2):
  st/va: implement VaDeriveImage
  st/va: add support to export a surface as dmabuf

 src/gallium/state_trackers/va/buffer.c     | 181 ++++++++++++++++++++++++++++-
 src/gallium/state_trackers/va/context.c    |   4 +-
 src/gallium/state_trackers/va/image.c      |  92 ++++++++++++++-
 src/gallium/state_trackers/va/va_private.h |  11 ++
 4 files changed, 281 insertions(+), 7 deletions(-)


More information about the mesa-dev mailing list