[Mesa-dev] [PATCH v3 00/15] EGL_EXT_image_dma_buf_import_modifiers v3

Varad Gautam varadgautam at gmail.com
Wed May 10 17:45:27 UTC 2017


One more time, from the top!

Hi all,

The v3 diverges somewhat form v2 while building upon the suggestions
received on earlier patchsets, and hence warrants a resend. Here's a
breakdown of patches in this series, and the changes since v2.

01 slightly reworks the multi-plane YUV import path in st/dri from
ecd6fce2611e88ff8468a354cff8eda39f260a31 by adding a
DRI_IMAGE_FOURCC_* <-> DRI_IMAGE_FORMAT_* mapping (same as i965) and
associated helpers that let us do the format namespace conversion more
accurately, and are later useful when serving format queries for egl.

02 borrows Ben Widawsky's patch to add a placeholder createImageWithModifiers
to maintain DRIimage interface version consistency. This is needed by
gbm_bo_create_with_modifiers, but gallium doesn't yet have a way to send the
driver-specific modifiers to the driver via pscreen->resource_create.
(possibly through struct pipe_resource? suggestions welcome.).

03-04 bump the plane count. same as v2.

05 adds a modifier field to DRIimage, and allows modifier queries via
queryImage.

06-07 provide a createImageFromDmaBufs2 path in DRIimage to import dmabufs
with modifiers.

08 adds the modifiers related eglattr parsing and sanity checks. same as v2.

09-14 implement format and modifier queries. Format queries on gallium are
now handled via pscreen->is_format_supported() as opposed to a new 
pscreen->query_dmabuf_formats() added in v2. However, we still need a
separate hook to fetch hw specific modifiers supported for a format from
the driver. PIPE_CAP_QUERY_DMABUF_ATTRIBS from v2 is no longer used.

finally, 15 enables the extension.

Ben Widawsky (1):
  dri: Add an image creation with modifiers

Pekka Paalanen (3):
  egl: introduce DMA_BUF_MAX_PLANES
  egl/main: add support for fourth plane tokens
  dri: support DRIimage creation from dmabufs with modifiers

Varad Gautam (11):
  st/dri: refactor multi-planar YUV import path
  st/dri: enable DRIimage modifier queries
  st/dri: implement DRIimage creation from dmabufs with modifiers
  egl_dri2: add support for using modifier attributes in
    eglCreateImageKHR
  dri: add queryDmaBufFormats and queryDmaBufModifiers to DRIimage
  st/dri: support format queries
  egl: implement eglQueryDmaBufFormatsEXT
  gallium: introduce format modifier querying
  st/dri: support format modifier queries
  egl: implement eglQueryDmaBufModifiersEXT
  egl: advertise EGL_EXT_image_dma_buf_import_modifiers

 include/GL/internal/dri_interface.h            |  61 +++-
 src/egl/drivers/dri2/egl_dri2.c                | 146 +++++++-
 src/egl/main/eglapi.c                          |  39 +++
 src/egl/main/eglapi.h                          |   9 +
 src/egl/main/egldisplay.h                      |   1 +
 src/egl/main/eglentrypoint.h                   |   2 +
 src/egl/main/eglimage.c                        |  66 ++++
 src/egl/main/eglimage.h                        |  13 +-
 src/gallium/include/pipe/p_screen.h            |  11 +
 src/gallium/include/state_tracker/drm_driver.h |   2 +
 src/gallium/state_trackers/dri/dri2.c          | 463 +++++++++++++++++--------
 src/gallium/state_trackers/dri/dri_screen.h    |  14 +
 12 files changed, 669 insertions(+), 158 deletions(-)

-- 
2.10.0



More information about the mesa-dev mailing list