summaryrefslogtreecommitdiff
path: root/dri2proto.txt
diff options
context:
space:
mode:
Diffstat (limited to 'dri2proto.txt')
-rw-r--r--dri2proto.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/dri2proto.txt b/dri2proto.txt
index e931bfb..bad9567 100644
--- a/dri2proto.txt
+++ b/dri2proto.txt
@@ -105,6 +105,11 @@ DRI2 implementation of direct rendering GLX, should use these enty
points to copy contents back and forth to as necessary to ensure
consistent rendering.
+The client may also use the DRI2SwapBuffers function to request a swap
+of the front and back buffers. If the display server supports it, this
+operation may be preferred, since it may be easier and/or more performant
+for the server to perform a simple buffer swap rather than a blit.
+
⚙ ⚙ ⚙ ⚙ ⚙ ⚙
@@ -288,6 +293,21 @@ The name of this extension is "DRI2".
the server has seen the request before proceeding with
rendering the next frame.
+┌───
+ DRI2SwapBuffers
+ drawable: DRAWABLE
+ ▶
+ buffers: LISTofDRI2BUFFER
+└───
+ Errors: Window
+
+ Schedule a swap of the front and back buffers with the display
+ server.
+
+ In reply, the display server is expected to provide new front
+ and back buffers to the client following this request. The
+ display server should process this request asynchronously
+ if possible, to prevent the client from blocking.
┌───
DRI2GetBuffersWithFormat
@@ -542,6 +562,27 @@ A.3 Protocol Events
The DRI2 extension specifies no events.
+┌───
+ DRI2SwapBuffers
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 buffer count
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 5n LISTofDRI2BUFFER buffers
+└───
+
A.4 Protocol Errors