mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-01-03 07:00: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_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_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
|
|
||||||
19
dri2proto.h
19
dri2proto.h
|
|
@ -35,10 +35,10 @@
|
||||||
|
|
||||||
#define DRI2_NAME "DRI2"
|
#define DRI2_NAME "DRI2"
|
||||||
#define DRI2_MAJOR 1
|
#define DRI2_MAJOR 1
|
||||||
#define DRI2_MINOR 2
|
#define DRI2_MINOR 3
|
||||||
|
|
||||||
#define DRI2NumberErrors 0
|
#define DRI2NumberErrors 0
|
||||||
#define DRI2NumberEvents 1
|
#define DRI2NumberEvents 2
|
||||||
#define DRI2NumberRequests 13
|
#define DRI2NumberRequests 13
|
||||||
|
|
||||||
#define X_DRI2QueryVersion 0
|
#define X_DRI2QueryVersion 0
|
||||||
|
|
@ -59,6 +59,7 @@
|
||||||
* Events
|
* Events
|
||||||
*/
|
*/
|
||||||
#define DRI2_BufferSwapComplete 0
|
#define DRI2_BufferSwapComplete 0
|
||||||
|
#define DRI2_InvalidateBuffers 1
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
CARD32 attachment B32;
|
CARD32 attachment B32;
|
||||||
|
|
@ -299,4 +300,18 @@ typedef struct {
|
||||||
} xDRI2BufferSwapComplete;
|
} xDRI2BufferSwapComplete;
|
||||||
#define sz_xDRI2BufferSwapComplete 32
|
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -125,9 +125,12 @@ or by using the OML swap buffers routine.
|
||||||
|
|
||||||
2.7 Events
|
2.7 Events
|
||||||
|
|
||||||
DRI2 provides a single event to indicate when a DRI2SwapBuffers request has
|
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
|
been completed. This can be used to throttle drawing on the client
|
||||||
tie into application main loops.
|
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.
|
Returns the swap count value when the swap will actually occur (e.g.
|
||||||
the last queued swap count + (pending swap count * swap interval)).
|
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
|
This request is only available with protocol version 1.2 or
|
||||||
later.
|
later.
|
||||||
|
|
||||||
|
|
@ -459,6 +458,22 @@ The name of this extension is "DRI2".
|
||||||
the swap was performed with a blit, and DRI2_FLIP_COMPLETE, indicating
|
the swap was performed with a blit, and DRI2_FLIP_COMPLETE, indicating
|
||||||
a full page flip was completed.
|
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
|
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,
|
2.2: Approaching perfection. Added requests for swapbuffers,
|
||||||
MSC and SBC related requests, and events.
|
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.
|
Compatibility up to 2.0 is not preserved, but was also never released.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue