diff options
author | Louis-Francis Ratté-Boulianne <lfrb@collabora.com> | 2018-02-28 01:19:33 +0000 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2018-02-28 11:13:11 -0500 |
commit | 0fca474cd6a80fee72e6cdd5946a72ced087f80b (patch) | |
tree | bff696243ac4e1dc3d768de3c6c66672dd340e2a /include/X11 | |
parent | 29c53a28fa270fdf9ff8e671c61516762268bdd6 (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.h | 86 |
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 |