summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-12-14 18:32:47 +0100
committerMarge Bot <eric+marge@anholt.net>2021-05-19 16:54:19 +0000
commitafd8b2f498a417de6ecdbd13045d97c9ecf4391b (patch)
treedd650fdca9e3f5e79a624dc5d224524c50e1601d /include
parent8fd5b16efc60ad666b05ec745109d0a482b6157b (diff)
dri: add createImageWithModifiers2 interface
With the addition of createImageWithModifiers usage flags were dropped, as it was believed at the time that modifers will be a full replacement for the usage flags. This has turned out to be untrue, as modifiers are not able to describe buffer placement. Add a new version of the interface, that allows to specifiy use flags in addition to the modifier. Signed-off-by: Simon Ser <contact@emersion.fr> Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8106>
Diffstat (limited to 'include')
-rw-r--r--include/GL/internal/dri_interface.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
index 9b85e67ce49..a7d9903f94e 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -1328,7 +1328,7 @@ struct __DRIdri2ExtensionRec {
* extensions.
*/
#define __DRI_IMAGE "DRI_IMAGE"
-#define __DRI_IMAGE_VERSION 18
+#define __DRI_IMAGE_VERSION 19
/**
* These formats correspond to the similarly named MESA_FORMAT_*
@@ -1803,6 +1803,28 @@ struct __DRIimageExtensionRec {
uint32_t flags,
unsigned *error,
void *loaderPrivate);
+
+ /**
+ * Creates an image with implementation's favorite modifiers and the
+ * provided usage flags.
+ *
+ * This acts like createImageWithModifiers except usage is also specified.
+ *
+ * The created image should be destroyed with destroyImage().
+ *
+ * Returns the new DRIimage. The chosen modifier can be obtained later on
+ * and passed back to things like the kernel's AddFB2 interface.
+ *
+ * \sa __DRIimageRec::createImage
+ *
+ * \since 19
+ */
+ __DRIimage *(*createImageWithModifiers2)(__DRIscreen *screen,
+ int width, int height, int format,
+ const uint64_t *modifiers,
+ const unsigned int modifier_count,
+ unsigned int use,
+ void *loaderPrivate);
};