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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev