[Mesa-dev] [PATCH 0/2] vaapi: add support for dmabuf export
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