summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-05-31 12:02:16 -0700
committerKeith Packard <keithp@keithp.com>2013-05-31 12:02:16 -0700
commit7fd74d6ad8c76d50dc347edc083a921a87d7ab0d (patch)
treee5f040b1513e65fcc282f0e31030d9e55a357e08
parentf078e7fe0685573268f8d2cf5a473ff2d2344d1d (diff)
Add PixmapFromBuffer and BufferFromPixmap encodings
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--dri3proto.h51
-rw-r--r--dri3tokens.h4
2 files changed, 51 insertions, 4 deletions
diff --git a/dri3proto.h b/dri3proto.h
index 3d44388..77ee8e9 100644
--- a/dri3proto.h
+++ b/dri3proto.h
@@ -32,10 +32,12 @@
#define X_DRI3QueryVersion 0
#define X_DRI3Open 1
-#define X_DRI3SelectInput 2
-#define X_DRI3GetSyncShmFD 3
+#define X_DRI3PixmapFromBuffer 2
+#define X_DRI3BufferFromPixmap 3
+#define X_DRI3SelectInput 4
+#define X_DRI3GetSyncFenceFD 5
-#define DRI3NumberRequests 4
+#define DRI3NumberRequests 6
typedef struct {
CARD8 reqType;
@@ -88,6 +90,46 @@ typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
+ CARD32 pixmap B32;
+ CARD32 drawable B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 stride B16;
+ CARD8 depth;
+ CARD8 bpp;
+} xDRI3PixmapFromBufferReq;
+
+#define sz_xDRI3PixmapFromBufferReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length B16;
+ CARD32 pixmap B32;
+} xDRI3BufferFromPixmapReq;
+#define sz_xDRI3BufferFromPixmapReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nfd; /* Number of file descriptors returned (1) */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 stride B16;
+ CARD8 depth;
+ CARD8 bpp;
+ CARD32 pad16;
+ CARD32 pad20;
+ CARD32 pad24;
+ CARD32 pad28;
+} xDRI3BufferFromPixmapReply;
+#define sz_xDRI3BufferFromPixmapReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length B16;
CARD32 eid B32;
CARD32 window B32;
CARD32 eventMask B32;
@@ -144,7 +186,8 @@ typedef struct {
INT16 off_y B16;
CARD16 pixmap_width B16;
CARD16 pixmap_height B16;
+ CARD32 pixmap_flags B32;
} xDRI3ConfigureNotify;
-#define sz_xDRI3ConfigureNotify 36
+#define sz_xDRI3ConfigureNotify 40
#endif
diff --git a/dri3tokens.h b/dri3tokens.h
index 82c1409..fab7143 100644
--- a/dri3tokens.h
+++ b/dri3tokens.h
@@ -28,4 +28,8 @@
#define DRI3ConfigureNotify 0
+#define DRI3PixmapScanout 0x00000001
+
+#define DRI3PixmapDriverMask 0xffff0000
+
#endif