summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-05-13 16:35:04 -0700
committerKeith Packard <keithp@keithp.com>2013-05-13 16:35:04 -0700
commitf078e7fe0685573268f8d2cf5a473ff2d2344d1d (patch)
treeee1111244ded640724c6dd8145e4a07d9109c7a8
parentef3eca70549719bd30b35f5d703727dd29b849b1 (diff)
Rename Connect as Open, make it work. Add SHM SyncFences
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--dri3proto.h15
-rw-r--r--dri3proto.txt16
2 files changed, 24 insertions, 7 deletions
diff --git a/dri3proto.h b/dri3proto.h
index 7e8eae8..3d44388 100644
--- a/dri3proto.h
+++ b/dri3proto.h
@@ -31,7 +31,7 @@
#define DRI3NumberEvents 0
#define X_DRI3QueryVersion 0
-#define X_DRI3Connect 1
+#define X_DRI3Open 1
#define X_DRI3SelectInput 2
#define X_DRI3GetSyncShmFD 3
@@ -64,14 +64,15 @@ typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
- CARD32 window B32;
+ CARD32 drawable B32;
CARD32 driverType B32;
-} xDRI3ConnectReq;
-#define sz_xDRI3ConnectReq 12
+ CARD32 provider B32;
+} xDRI3OpenReq;
+#define sz_xDRI3OpenReq 16
typedef struct {
BYTE type; /* X_Reply */
- BYTE pad1;
+ CARD8 nfd;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 driverNameLength B32;
@@ -80,8 +81,8 @@ typedef struct {
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
-} xDRI3ConnectReply;
-#define sz_xDRI3ConnectReply 32
+} xDRI3OpenReply;
+#define sz_xDRI3OpenReply 32
typedef struct {
CARD8 reqType;
diff --git a/dri3proto.txt b/dri3proto.txt
index b633d3c..bc3d0bf 100644
--- a/dri3proto.txt
+++ b/dri3proto.txt
@@ -89,6 +89,7 @@ The name of this extension is "DRI3" (third time is the charm?).
driverType: DRI3DRIVER
provider: PROVIDER
+ nfd: CARD8
driver: STRING
device: FD
└───
@@ -145,6 +146,21 @@ The name of this extension is "DRI3" (third time is the charm?).
with a file descriptor referencing the underlying direct
rendering object.
+┌───
+ DRI3GetSyncFenceFd
+ fence: FENCE
+ window: WINDOW
+ ▶
+ nfd: CARD8
+ fd: FD
+└───
+ Errors: Fence, Match
+
+ Pass back a shared memory segment associated with a sync fence
+ object. Pass this fd to the XShmFence library to map and
+ manipulate the fence.
+
+
❄ ❄ ❄ ❄ ❄ ❄ ❄
9. Extension Events