summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-07-24 21:07:20 -0700
committerKeith Packard <keithp@keithp.com>2013-07-24 21:07:20 -0700
commitf15c4568f2b4e50e80bf5cf650bde13441bb0b72 (patch)
tree97b7bab473db351b3b06aab1771982f80efbd138
parentec9db7408ff742312677e40b0b9a0239a07ab43c (diff)
Start reworking for present redirection.
In PresentRegion, add the PresentNotify list, add explicit CRTC. In PresentRedirectNotify, add CRTC and update_window values Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--presentproto.h32
-rw-r--r--presentproto.txt14
2 files changed, 36 insertions, 10 deletions
diff --git a/presentproto.h b/presentproto.h
index 3e2c0bb..1df7d58 100644
--- a/presentproto.h
+++ b/presentproto.h
@@ -29,6 +29,12 @@
#define XSyncFence CARD32
typedef struct {
+ Window window B32;
+ CARD32 serial B32;
+} xPresentNotify;
+#define sz_xPresentNotify 8
+
+typedef struct {
CARD8 reqType;
CARD8 presentReqType;
CARD16 length B16;
@@ -67,11 +73,15 @@ typedef struct {
INT16 y_off B16;
XSyncFence idle_fence B32;
+ CARD32 target_crtc B32;
+ CARD32 pad1 B32;
+
CARD64 target_msc;
CARD64 divisor;
CARD64 remainder;
+ /* followed by a LISTofPRESENTNOTIFY */
} xPresentRegionReq;
-#define sz_xPresentRegionReq 56
+#define sz_xPresentRegionReq 64
typedef struct {
CARD8 reqType;
@@ -148,29 +158,37 @@ typedef struct {
CARD16 sequenceNumber B16;
CARD32 length;
CARD16 evtype B16;
- CARD16 pad2;
+ CARD8 update_window;
+ CARD8 pad1;
CARD32 eid B32;
-
Window event_window B32;
Window window B32;
Pixmap pixmap B32;
+ CARD32 serial B32;
+
+ /* 32-byte boundary */
+
Region valid_region B32;
+ Region update_region B32;
xRectangle valid_rect;
+
xRectangle update_rect;
- Region update_region B32;
INT16 x_off B16;
INT16 y_off B16;
- CARD64 target_msc;
+ CARD32 target_crtc B32;
+ CARD64 target_msc;
CARD64 divisor;
CARD64 remainder;
- XSyncFence idle_fence;
+ XSyncFence idle_fence B32;
+ CARD32 pad2 B32;
+
} xPresentRedirectNotify;
-#define sz_xPresentRedirectNotify 84
+#define sz_xPresentRedirectNotify 96
#undef Region
#undef XSyncFence
diff --git a/presentproto.txt b/presentproto.txt
index 6b226ab..c72ccfd 100644
--- a/presentproto.txt
+++ b/presentproto.txt
@@ -226,6 +226,8 @@ The name of this extension is "Present"
PresentConfigureNotify
type: CARD8 XGE event type (35)
extension: CARD8 Present extension request number
+ sequence-number: CARD16
+ length: CARD32 2
length: CARD16 2
evtype: CARD16 Present_ConfigureNotify
eventID: PRESENTEVENTID
@@ -252,7 +254,8 @@ The name of this extension is "Present"
PresentCompleteNotify
type: CARD8 XGE event type (35)
extension: CARD8 Present extension request number
- length: CARD16 2
+ sequence-number: CARD16
+ length: CARD32 2
evtype: PRESENTEVENTTYPE PresentCompleteNotify
eventID: PRESENTEVENTID
window: WINDOW
@@ -280,18 +283,23 @@ The name of this extension is "Present"
PresentRedirectNotify
type: CARD8 XGE event type (35)
extension: CARD8 Present extension request number
- length: CARD16 2
+ sequence-number: CARD16
+ length: CARD32 16
evtype: CARD16 Present_RedirectNotify
+ update-window: CARD8
+
eventID: PRESENTEVENTID
event-window: WINDOW
window: WINDOW
pixmap: PIXMAP
serial: CARD32
+
valid-area: REGION
- valid-rect: RECTANGLE
update-area: REGION
+ valid-rect: RECTANGLE
update-rect: RECTANGLE
x-off, y-off: INT16
+ target-crtc: CRTC
target_msc: CARD64
divisor: CARD64
remainder: CARD64