summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@jbarnes-desktop.localdomain>2009-11-10 12:12:07 -0800
committerJesse Barnes <jbarnes@jbarnes-desktop.localdomain>2009-11-10 12:12:07 -0800
commit516a1ff1f8ceca9ddefce21303e65d873aeeba14 (patch)
tree2accff179abe8d39f047b097683f7e8da6af2a0e
parent5e059038a95b5bad7f41a2019beaad913ed29502 (diff)
Add DRI2SwapInterval protocol
Needed to handle swap interval in the direct rendered case.
-rw-r--r--dri2proto.h10
-rw-r--r--dri2proto.txt23
2 files changed, 33 insertions, 0 deletions
diff --git a/dri2proto.h b/dri2proto.h
index 85b9dbf..31bcdb3 100644
--- a/dri2proto.h
+++ b/dri2proto.h
@@ -53,6 +53,7 @@
#define X_DRI2GetMSC 9
#define X_DRI2WaitMSC 10
#define X_DRI2WaitSBC 11
+#define X_DRI2SwapInterval 12
typedef struct {
CARD32 attachment B32;
@@ -265,4 +266,13 @@ typedef struct {
} xDRI2MSCReply;
#define sz_xDRI2MSCReply 32
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 interval B32;
+} xDRI2SwapIntervalReq;
+#define sz_xDRI2SwapIntervalReq 12
+
#endif
diff --git a/dri2proto.txt b/dri2proto.txt
index 6430b2a..71fc0ca 100644
--- a/dri2proto.txt
+++ b/dri2proto.txt
@@ -33,6 +33,7 @@ Keith Whitwell <keith@tungstengraphics.com>
Jerome Glisse <glisse@freedesktop.org>
Ian Romanick <ian.d.romanick@intel.com>
Michel Dänzer <michel@tungstengraphics.com>
+Jesse Barnes <jbarnes@virtuousgeek.org>
⚙ ⚙ ⚙ ⚙ ⚙ ⚙
@@ -412,6 +413,18 @@ The name of this extension is "DRI2".
This request is only available with protocol version 1.2 or
later.
+┌───
+ DRI2SwapInterval
+ drawable: DRAWABLE
+ interval: CARD32
+ ▶
+└───
+ Errors: Window
+
+ Sets the swap interval for DRAWABLE. This will throttle
+ DRI2SwapBuffers requests to swap at most once per interval frames,
+ which is useful useful for limiting the frame rate.
+
⚙ ⚙ ⚙ ⚙ ⚙ ⚙
@@ -744,6 +757,16 @@ A.2 Protocol Requests
4 CARD32 sbc_lo
└───
+┌───
+ DRI2SwapInterval
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ 4 CARD32 interval
+ ▶
+└───
+
A.3 Protocol Events
The DRI2 extension specifies no events.