summaryrefslogtreecommitdiff
path: root/include/X11
diff options
context:
space:
mode:
authorLouis-Francis Ratté-Boulianne <lfrb@collabora.com>2018-02-28 01:19:33 +0000
committerAdam Jackson <ajax@redhat.com>2018-02-28 11:13:11 -0500
commit0fca474cd6a80fee72e6cdd5946a72ced087f80b (patch)
treebff696243ac4e1dc3d768de3c6c66672dd340e2a /include/X11
parent29c53a28fa270fdf9ff8e671c61516762268bdd6 (diff)
dri3: Add modifier/multi-plane requests, bump to v1.2
DRI3 version 1.2 adds support for explicit format modifiers, including multi-planar buffers. Signed-off-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Diffstat (limited to 'include/X11')
-rw-r--r--include/X11/extensions/dri3proto.h86
1 files changed, 84 insertions, 2 deletions
diff --git a/include/X11/extensions/dri3proto.h b/include/X11/extensions/dri3proto.h
index ceddee8..51b825d 100644
--- a/include/X11/extensions/dri3proto.h
+++ b/include/X11/extensions/dri3proto.h
@@ -25,7 +25,7 @@
#define DRI3_NAME "DRI3"
#define DRI3_MAJOR 1
-#define DRI3_MINOR 0
+#define DRI3_MINOR 2
#define DRI3NumberErrors 0
#define DRI3NumberEvents 0
@@ -37,7 +37,12 @@
#define X_DRI3FenceFromFD 4
#define X_DRI3FDFromFence 5
-#define DRI3NumberRequests 6
+/* v1.2 */
+#define xDRI3GetSupportedModifiers 6
+#define xDRI3PixmapFromBuffers 7
+#define xDRI3BuffersFromPixmap 8
+
+#define DRI3NumberRequests 9
typedef struct {
CARD8 reqType;
@@ -164,4 +169,81 @@ typedef struct {
#define sz_xDRI3FDFromFenceReply 32
+/* v1.2 */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length B16;
+ CARD32 window B32;
+ CARD8 depth;
+ CARD8 bpp;
+ CARD16 pad10 B16;
+} xDRI3GetSupportedModifiersReq;
+#define sz_xDRI3GetSupportedModifiersReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numWindowModifiers B32;
+ CARD32 numScreenModifiers B32;
+ CARD32 pad16 B32;
+ CARD32 pad20 B32;
+ CARD32 pad24 B32;
+ CARD32 pad28 B32;
+} xDRI3GetSupportedModifiersReply;
+#define sz_xDRI3GetSupportedModifiersReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length B16;
+ CARD32 pixmap B32;
+ CARD32 window B32;
+ CARD8 num_buffers; /* Number of file descriptors passed */
+ CARD8 pad13;
+ CARD16 pad14 B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 stride0 B32;
+ CARD32 offset0 B32;
+ CARD32 stride1 B32;
+ CARD32 offset1 B32;
+ CARD32 stride2 B32;
+ CARD32 offset2 B32;
+ CARD32 stride3 B32;
+ CARD32 offset3 B32;
+ CARD8 depth;
+ CARD8 bpp;
+ CARD16 pad54 B16;
+ CARD64 modifier;
+} xDRI3PixmapFromBuffersReq;
+#define sz_xDRI3PixmapFromBuffersReq 64
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length B16;
+ CARD32 pixmap B32;
+} xDRI3BuffersFromPixmapReq;
+#define sz_xDRI3BuffersFromPixmapReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nfd; /* Number of file descriptors returned */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 pad12 B32;
+ CARD64 modifier;
+ CARD8 depth;
+ CARD8 bpp;
+ CARD16 pad26 B16;
+ CARD32 pad28 B32;
+} xDRI3BuffersFromPixmapReply;
+#define sz_xDRI3BuffersFromPixmapReply 32
+
#endif