From f078e7fe0685573268f8d2cf5a473ff2d2344d1d Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 13 May 2013 16:35:04 -0700 Subject: Rename Connect as Open, make it work. Add SHM SyncFences Signed-off-by: Keith Packard --- dri3proto.h | 15 ++++++++------- dri3proto.txt | 16 ++++++++++++++++ 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 -- cgit v1.2.3