Merge branch 'topic/syncobj' into 'master'

Draft: Add DRI3/Present protocol for explicit synchronization

See merge request xorg/proto/xorgproto!34
This commit is contained in:
Qiang Yu 2022-04-21 10:51:48 +00:00
commit 4f66c5c1b1
2 changed files with 53 additions and 2 deletions

View file

@ -1,5 +1,5 @@
The DRI3 Extension
Version 1.2
Version 1.3
2018-02-28
Keith Packard
@ -39,6 +39,11 @@ Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
2. Data Types
DRI3SYNCOBJ { XID }
Defines a unique object for client and server synchronization.
On Linux, it's based on timeline DRM syncobj.
The DRI3 extension uses the RandR extension Provider data type to
select among multiple GPUs on a single screen and the Sync extension
fence object to provide graphics object synchronization.
@ -371,6 +376,29 @@ The name of this extension is "DRI3"
For information on synchronization of buffer access between
the client and the X server, please see section 12.
┌───
DRI3SyncobjFromFD
drawable: DRAWABLE
syncobj: DRI3SYNCOBJ
fd: FD
└───
Errors: IDchoice, Drawable
Create an X11 object used to refer to a synchronization context.
Combined with a sequence number, it can refer to any task fence
in this context.
┌───
DRI3FDFromSyncobj
drawable: DRAWABLE
syncobj: DRI3SYNCOBJ
fd: FD
└───
Errors: IDchoice, Drawable, Match
Given a DRI3 Syncobj, get a file descriptor from server which
can be converted to back implementation.
❄ ❄ ❄ ❄ ❄ ❄ ❄

View file

@ -1,5 +1,5 @@
The Present Extension
Version 1.2
Version 1.3
2018-02-26
Keith Packard
@ -338,6 +338,29 @@ The name of this extension is "Present"
defined by the extension, but is expected to be on the order
of milliseconds or less.
┌───
PresentPixmap2
window: WINDOW
pixmap: PIXMAP
serial: CARD32
valid-area: REGION or None
update-area: REGION or None
x-off, y-off: INT16
target-crtc: CRTC or None
wait-syncobj: DRI3SYNCOBJ
wait-point: CARD64
idle-syncobj: DRI3SYNCOBJ
idle-point: CARD64
options: SETofPRESENTOPTION
target-msc: CARD64
divisor: CARD64
remainder: CARD64
notifies: LISTofPRESENTNOTIFY
└───
Errors: Window, Pixmap, Match
Same as PresentPixmap except use timelined syncobj as wait/idle
fence representation.
7.1 Requests proposed for a later Present extension version