[Mesa-dev] [PATCH v14 13/36] gallium: introduce format modifier querying
Varad Gautam
varadgautam at gmail.com
Tue May 30 11:53:46 UTC 2017
From: Varad Gautam <varad.gautam at 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.gautam at collabora.com>
Cc: Lucas Stach <l.stach at 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
More information about the mesa-dev
mailing list