diff options
author | Keith Packard <keithp@keithp.com> | 2013-07-15 10:55:48 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-07-15 10:55:48 -0700 |
commit | ec9db7408ff742312677e40b0b9a0239a07ab43c (patch) | |
tree | d668af7ed57ba57e519eeb88ea585bf2740e1bf0 /presentproto.txt | |
parent | f1950e6f10a61318f22083900602d9c920d00667 (diff) |
Remove SBC, use CompleteNotify for both Region and NotifyMSC
SBC is entire a client-side notion, so remove it from the protocol.
No need to have two events with the same content, but we do need to
tell which request generated the event so stick a new field in some
spare bytes
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'presentproto.txt')
-rw-r--r-- | presentproto.txt | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/presentproto.txt b/presentproto.txt index 8f64779..6b226ab 100644 --- a/presentproto.txt +++ b/presentproto.txt @@ -29,10 +29,17 @@ PRESENTEVENTID { XID } events. Multiple event IDs can be allocated to provide multiple distinct event delivery contexts. +PRESENTEVENTTYPE { PresentConfigureNotify, + PresentCompleteNotify, + PresentRedirectNotify } + PRESENTEVENTMASK { PresentConfigureNotifyMask, PresentCompleteNotifyMask, PresentSubredirectNotifyMask } +PRESENTCOMPLETEKIND { PresentCompleteKindRegion, + PresentCompleteKindMSCNotify } + The Present extension also uses the Sync extension Fence data type to provide synchronization for pixmaps. @@ -140,6 +147,9 @@ The name of this extension is "Present" field. Otherwise, the presentation will occur after the next field where msc % 'divisor' == 'remainder'. + After the presentation occurs, a PresentCompleteNotify event + with kind PresentCompleteKindRegion will be generated. + If 'window' is destroyed before the presentation occurs, then the presentation action will not be completed. @@ -162,7 +172,8 @@ The name of this extension is "Present" └─── Errors: Window - Delivers a PresentMSCNotifyEvent after time specified by + Delivers a PresentCompleteNotifyEvent with kind + PresentCompleteKindNotifyMSC after the time specified by 'target-msc', 'divisor' and 'remainder'). 'serial' is an arbitrary client-specified value which will be @@ -242,41 +253,28 @@ The name of this extension is "Present" type: CARD8 XGE event type (35) extension: CARD8 Present extension request number length: CARD16 2 - evtype: CARD16 Present_CompleteNotify + evtype: PRESENTEVENTTYPE PresentCompleteNotify eventID: PRESENTEVENTID window: WINDOW + kind: PRESENTCOMPLETEKIND serial: CARD32 ust: CARD64 msc: CARD64 - sbc: CARD64 └─── - CompleteNotify events are delivered when a PresentRegion - operation has completed and the specified contents are being - displayed. 'serial' is the value provided in the generating - PresentRegion request. 'sbc', 'msc' and 'ust' indicate the - swap count, frame count and system time when the presentation - actually occurred. + CompleteNotify events are delivered when a PresentRegion or + PresentNotifyMSC operation has completed. -┌─── - PresentMSCNotify - type: CARD8 XGE event type (35) - extension: CARD8 Present extension request number - length: CARD16 2 - evtype: CARD16 Present_MSCNotify - eventID: PRESENTEVENTID - window: WINDOW - serial: CARD32 - ust: CARD64 - msc: CARD64 - sbc: CARD64 -└─── + 'kind' is PresentCompleteKindRegion when generated by a + PresentRegion operation completion or + PresentCompleteKindNotifyMsc when generated by a + PresentNotifyMSC operation completion. + + 'serial' is the value provided in the generating PresentRegion + request. - MSCNotify events are delivered when a PresentNotifyMSC - operation has completed. 'serial' is the value provided in the - generating PresentNotifyMSC request. 'sbc', 'msc' and 'ust' - indicate the swap count, frame count and system time when the - operation completed. + 'msc' and 'ust' indicate the frame count and system time when + the presentation actually occurred. ┌─── PresentRedirectNotify @@ -410,13 +408,12 @@ A.3 Protocol Events 2 CARD16 sequence number 4 2 length 2 1 PresentCompleteNotify - 2 unused + 2 CARD16 kind 4 CARD32 event id 4 Window window 4 CARD32 serial 8 CARD64 ust 8 CARD64 msc - 8 CARD64 sbc └─── A.4 Protocol Errors |