[Mesa-dev] [PATCH v2 00/14] implement EGL_EXT_image_dma_buf_import_modifiers v2

Varad Gautam varadgautam at gmail.com
Thu Nov 24 15:20:37 UTC 2016


This is the second revision to the EGL_EXT_image_dma_buf_import_modifiers [1]
series at [2], addressing the comments received. This diverges from v1 due to
some reordered/squashed changes, hence the resend.

Major modifications include:
* Both format and modifier queries are now handled in the driver, instead of
advertising all formats as supported by all drivers, and exposed under a
common PIPE_CAP_QUERY_DMABUF_ATTRIBS flag.
* The implementation makes sure that the same modifier is passed for all planes
used for EGLImage creation.

[1] https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt
[2] https://patchwork.freedesktop.org/series/15348/

Pekka Paalanen (4):
  egl: return error for unknown EGLImage attributes
  egl: introduce DMA_BUF_MAX_PLANES
  egl/main: add support for fourth plane tokens
  dri: support DRIimage creation from dmabufs with modifiers

Varad Gautam (10):
  egl: update eglext.h
  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
  gallium: introduce dmabuf format and modifier querying
  st/dri: support format queries
  egl: implement eglQueryDmaBufFormatsEXT
  st/dri: support format modifier queries
  egl: implement eglQueryDmaBufModifiersEXT
  egl: advertise EGL_EXT_image_dma_buf_import_modifiers

 include/EGL/eglext.h                             |  60 ++++++++-
 include/GL/internal/dri_interface.h              |  41 +++++-
 src/egl/drivers/dri2/egl_dri2.c                  | 158 ++++++++++++++++++++---
 src/egl/main/eglapi.c                            |  41 ++++++
 src/egl/main/eglapi.h                            |   9 ++
 src/egl/main/egldisplay.h                        |   1 +
 src/egl/main/eglimage.c                          |  68 +++++++++-
 src/egl/main/eglimage.h                          |  13 +-
 src/gallium/docs/source/screen.rst               |   2 +
 src/gallium/drivers/freedreno/freedreno_screen.c |   1 +
 src/gallium/drivers/i915/i915_screen.c           |   1 +
 src/gallium/drivers/ilo/ilo_screen.c             |   1 +
 src/gallium/drivers/llvmpipe/lp_screen.c         |   1 +
 src/gallium/drivers/nouveau/nv30/nv30_screen.c   |   1 +
 src/gallium/drivers/nouveau/nv50/nv50_screen.c   |   1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c   |   1 +
 src/gallium/drivers/r300/r300_screen.c           |   1 +
 src/gallium/drivers/r600/r600_pipe.c             |   1 +
 src/gallium/drivers/radeonsi/si_pipe.c           |   1 +
 src/gallium/drivers/softpipe/sp_screen.c         |   1 +
 src/gallium/drivers/svga/svga_screen.c           |   1 +
 src/gallium/drivers/swr/swr_screen.cpp           |   1 +
 src/gallium/drivers/vc4/vc4_screen.c             |   1 +
 src/gallium/drivers/virgl/virgl_screen.c         |   1 +
 src/gallium/include/pipe/p_defines.h             |   1 +
 src/gallium/include/pipe/p_screen.h              |  20 +++
 src/gallium/include/state_tracker/drm_driver.h   |   2 +
 src/gallium/state_trackers/dri/dri2.c            |  78 ++++++++++-
 28 files changed, 481 insertions(+), 28 deletions(-)

-- 
2.6.2



More information about the mesa-dev mailing list