summaryrefslogtreecommitdiff
path: root/presentproto.txt
diff options
context:
space:
mode:
Diffstat (limited to 'presentproto.txt')
-rw-r--r--presentproto.txt55
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