mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2025-12-20 04:40:10 +01:00
Add FDFromFence request
This lets DRI clients convert a fence back into a local object. Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
a5392ea74a
commit
b79a809d29
2 changed files with 61 additions and 1 deletions
28
dri3proto.h
28
dri3proto.h
|
|
@ -35,8 +35,9 @@
|
|||
#define X_DRI3PixmapFromBuffer 2
|
||||
#define X_DRI3BufferFromPixmap 3
|
||||
#define X_DRI3FenceFromFD 4
|
||||
#define X_DRI3FDFromFence 5
|
||||
|
||||
#define DRI3NumberRequests 5
|
||||
#define DRI3NumberRequests 6
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
|
|
@ -138,4 +139,29 @@ typedef struct {
|
|||
|
||||
#define sz_xDRI3FenceFromFDReq 16
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 dri3ReqType;
|
||||
CARD16 length B16;
|
||||
CARD32 drawable B32;
|
||||
CARD32 fence B32;
|
||||
} xDRI3FDFromFenceReq;
|
||||
|
||||
#define sz_xDRI3FDFromFenceReq 12
|
||||
|
||||
typedef struct {
|
||||
BYTE type; /* X_Reply */
|
||||
CARD8 nfd; /* Number of file descriptors returned (1) */
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
CARD32 pad08 B32;
|
||||
CARD32 pad12 B32;
|
||||
CARD32 pad16 B32;
|
||||
CARD32 pad20 B32;
|
||||
CARD32 pad24 B32;
|
||||
CARD32 pad28 B32;
|
||||
} xDRI3FDFromFenceReply;
|
||||
|
||||
#define sz_xDRI3FDFromFenceReply 32
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -182,6 +182,23 @@ The name of this extension is "DRI3"
|
|||
Details about the mechanism used with this file descriptor are
|
||||
outside the scope of the DRI3 extension.
|
||||
|
||||
┌───
|
||||
DRI3FDFromFence
|
||||
drawable: DRAWABLE
|
||||
fence: FENCE
|
||||
▶
|
||||
fd: FD
|
||||
└───
|
||||
Errors: IDchoice, Drawable, Match
|
||||
|
||||
Given a Sync extension Fence that provides the regular Sync
|
||||
extension semantics, returns a file descriptor that provides a
|
||||
device-specific mechanism to manipulate the fence directly.
|
||||
Details about the mechanism used with this file descriptor are
|
||||
outside the scope of the DRI3 extension. 'drawable' must be
|
||||
associated with a direct rendering device that 'fence' can
|
||||
work with, otherwise a Match error results.
|
||||
|
||||
|
||||
❄ ❄ ❄ ❄ ❄ ❄ ❄
|
||||
|
||||
|
|
@ -337,6 +354,23 @@ A.2 Protocol Requests
|
|||
0 FD fence fd
|
||||
└───
|
||||
|
||||
┌───
|
||||
DRI3FDFromFence
|
||||
1 CARD8 major opcode
|
||||
1 5 DRI3 opcode
|
||||
2 3 length
|
||||
4 Drawable drawable
|
||||
4 Fence fence
|
||||
▶
|
||||
1 1 Reply
|
||||
1 1 nfd
|
||||
2 CARD16 sequence number
|
||||
4 0 reply length
|
||||
24 unused
|
||||
|
||||
0 FD fence fd
|
||||
└───
|
||||
|
||||
A.3 Protocol Events
|
||||
|
||||
The DRI3 extension defines no events.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue