mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2025-12-20 04:40:10 +01:00
Define an event to notify clients about the validity of their buffers.
Bumps the protocol and package versions. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
parent
bd6f2584d3
commit
41045095bd
3 changed files with 42 additions and 10 deletions
|
|
@ -1,5 +1,5 @@
|
|||
AC_PREREQ([2.57])
|
||||
AC_INIT([DRI2Proto], [2.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
||||
AC_INIT([DRI2Proto], [2.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
|
|
|
|||
19
dri2proto.h
19
dri2proto.h
|
|
@ -35,10 +35,10 @@
|
|||
|
||||
#define DRI2_NAME "DRI2"
|
||||
#define DRI2_MAJOR 1
|
||||
#define DRI2_MINOR 2
|
||||
#define DRI2_MINOR 3
|
||||
|
||||
#define DRI2NumberErrors 0
|
||||
#define DRI2NumberEvents 1
|
||||
#define DRI2NumberEvents 2
|
||||
#define DRI2NumberRequests 13
|
||||
|
||||
#define X_DRI2QueryVersion 0
|
||||
|
|
@ -59,6 +59,7 @@
|
|||
* Events
|
||||
*/
|
||||
#define DRI2_BufferSwapComplete 0
|
||||
#define DRI2_InvalidateBuffers 1
|
||||
|
||||
typedef struct {
|
||||
CARD32 attachment B32;
|
||||
|
|
@ -299,4 +300,18 @@ typedef struct {
|
|||
} xDRI2BufferSwapComplete;
|
||||
#define sz_xDRI2BufferSwapComplete 32
|
||||
|
||||
typedef struct {
|
||||
CARD8 type;
|
||||
CARD8 pad;
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 drawable B32;
|
||||
CARD32 pad1 B32;
|
||||
CARD32 pad2 B32;
|
||||
CARD32 pad3 B32;
|
||||
CARD32 pad4 B32;
|
||||
CARD32 pad5 B32;
|
||||
CARD32 pad6 B32;
|
||||
} xDRI2InvalidateBuffers;
|
||||
#define sz_xDRI2InvalidateBuffers 32
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -125,9 +125,12 @@ or by using the OML swap buffers routine.
|
|||
|
||||
2.7 Events
|
||||
|
||||
DRI2 provides a single event to indicate when a DRI2SwapBuffers request has
|
||||
been completed. This can be used to throttle drawing on the client side and
|
||||
tie into application main loops.
|
||||
DRI2 provides an event to indicate when a DRI2SwapBuffers request has
|
||||
been completed. This can be used to throttle drawing on the client
|
||||
side and tie into application main loops.
|
||||
|
||||
Another event is generated when the validity of the requested buffers
|
||||
changes.
|
||||
|
||||
⚙ ⚙ ⚙ ⚙ ⚙ ⚙
|
||||
|
||||
|
|
@ -333,10 +336,6 @@ The name of this extension is "DRI2".
|
|||
Returns the swap count value when the swap will actually occur (e.g.
|
||||
the last queued swap count + (pending swap count * swap interval)).
|
||||
|
||||
The client should invalidate its render buffers after sending this
|
||||
request, causing a subsequent GetBuffers request to get updated buffer
|
||||
info.
|
||||
|
||||
This request is only available with protocol version 1.2 or
|
||||
later.
|
||||
|
||||
|
|
@ -459,6 +458,22 @@ The name of this extension is "DRI2".
|
|||
the swap was performed with a blit, and DRI2_FLIP_COMPLETE, indicating
|
||||
a full page flip was completed.
|
||||
|
||||
┌───
|
||||
DRI2InvalidateBuffers
|
||||
▶
|
||||
drawable: CARD32
|
||||
└───
|
||||
|
||||
This event is generated when the buffers the client had
|
||||
requested for 'drawable' (with DRI2GetBuffers or
|
||||
DRI2GetBuffersWithFormat) become inappropriate because they
|
||||
don't match the drawable dimensions anymore, or a buffer swap
|
||||
has been performed.
|
||||
|
||||
Note that the server is only required to warn the client once
|
||||
about this condition, until the client takes care of bringing
|
||||
them back up-to-date with another GetBuffers request.
|
||||
|
||||
⚙ ⚙ ⚙ ⚙ ⚙ ⚙
|
||||
|
||||
10. Extension Versioning
|
||||
|
|
@ -491,6 +506,8 @@ The DRI2 extension has undergone a number of revisions before
|
|||
2.2: Approaching perfection. Added requests for swapbuffers,
|
||||
MSC and SBC related requests, and events.
|
||||
|
||||
2.3: Added the DRI2InvalidateBuffers event.
|
||||
|
||||
Compatibility up to 2.0 is not preserved, but was also never released.
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue