diff options
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 |