summaryrefslogtreecommitdiff
path: root/hw/xfree86/dri2/dri2.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/dri2/dri2.h')
-rw-r--r--hw/xfree86/dri2/dri2.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h
index 2a41ead5b..ca827210a 100644
--- a/hw/xfree86/dri2/dri2.h
+++ b/hw/xfree86/dri2/dri2.h
@@ -104,6 +104,12 @@ typedef int (*DRI2ScheduleSwapProcPtr)(ClientPtr client,
CARD64 remainder,
DRI2SwapEventPtr func,
void *data);
+typedef void (*DRI2AsyncSwapProcPtr)(ClientPtr client,
+ DrawablePtr pDraw,
+ DRI2BufferPtr pDestBuffer,
+ DRI2BufferPtr pSrcBuffer,
+ DRI2SwapEventPtr func,
+ void *data);
typedef DRI2BufferPtr (*DRI2CreateBufferProcPtr)(DrawablePtr pDraw,
unsigned int attachment,
unsigned int format);
@@ -161,7 +167,7 @@ typedef void (*DRI2InvalidateProcPtr)(DrawablePtr pDraw,
/**
* Version of the DRI2InfoRec structure defined in this header
*/
-#define DRI2INFOREC_VERSION 5
+#define DRI2INFOREC_VERSION 6
typedef struct {
unsigned int version; /**< Version of this struct */
@@ -189,6 +195,13 @@ typedef struct {
/* added in version 5 */
DRI2AuthMagicProcPtr AuthMagic;
+
+ /* added in version 6 */
+
+ /* Used when the client requests vblank_mode=0, i.e. swap immediately
+ * with no throttling. Whether to tear or not is left up to the driver.
+ */
+ DRI2AsyncSwapProcPtr AsyncSwap;
} DRI2InfoRec, *DRI2InfoPtr;
extern _X_EXPORT int DRI2EventBase;