summaryrefslogtreecommitdiff
path: root/presentproto.txt
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-07-15 10:55:48 -0700
committerKeith Packard <keithp@keithp.com>2013-07-15 10:55:48 -0700
commitec9db7408ff742312677e40b0b9a0239a07ab43c (patch)
treed668af7ed57ba57e519eeb88ea585bf2740e1bf0 /presentproto.txt
parentf1950e6f10a61318f22083900602d9c920d00667 (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.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