From: Varad Gautam <varad.gau...@collabora.com> format modifiers tokens are driver specific, and hence, need to come in from the driver. this allows drivers to be queried for supported format modifiers for EGL_EXT_image_dma_buf_import_modifiers.
v2: rebase to master. v3: drivers must return false on query failure. v4: use pscreen->is_format_supported instead of adding a separate format query handle, remove PIPE_CAP_QUERY_DMABUF_ATTRIBS. (Lucas Stach) v5: add external_only parameter. Signed-off-by: Varad Gautam <varad.gau...@collabora.com> Cc: Lucas Stach <l.st...@pengutronix.de> --- src/gallium/include/pipe/p_screen.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 5102827..65e954a 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -343,6 +343,20 @@ struct pipe_screen { struct pipe_screen *, const struct pipe_resource *templat, const uint64_t *modifiers, int count); + + /** + * Get supported modifiers for a format. + * If \p max is 0, the total number of supported modifiers for the supplied + * format is returned in \p count, with no modification to \p modifiers. + * Otherwise, \p modifiers is filled with upto \p max supported modifier + * codes, and \p count with the number of modifiers copied. + * The \p external_only array is used to return whether the format and + * modifier combination can only be used with an external texture target. + */ + void (*query_dmabuf_modifiers)(struct pipe_screen *screen, + enum pipe_format format, int max, + uint64_t *modifiers, + unsigned int *external_only, int *count); }; -- 2.10.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev