Merge master and fix conflicts
[mesa.git] / src / glx / x11 / dri2.h
index 1dfd0448b2f3e7154987c245b5ca829028413771..b0e61f80d70525f23b4bad9af39c7ffa306b9005 100644 (file)
 #ifndef _DRI2_H_
 #define _DRI2_H_
 
+#include <X11/extensions/Xfixes.h>
+#include <X11/extensions/dri2tokens.h>
+
+typedef struct {
+    unsigned int attachment;
+    unsigned int name;
+    unsigned int pitch;
+    unsigned int cpp;
+    unsigned int flags;
+} DRI2Buffer;
+
 extern Bool
 DRI2QueryExtension(Display *display, int *eventBase, int *errorBase);
 extern Bool
 DRI2QueryVersion(Display *display, int *major, int *minor);
 extern Bool
-DRI2Connect(Display *display, int screen,
-           char **driverName, char **busId, unsigned int *sareaHandle);
-extern Bool
-DRI2AuthConnection(Display *display, int screen, drm_magic_t magic);
+DRI2Connect(Display *display, XID window,
+           char **driverName, char **deviceName);
 extern Bool
-DRI2CreateDrawable(Display *display, XID drawable,
-                  unsigned int *handle, unsigned int *head);
+DRI2Authenticate(Display *display, XID window, drm_magic_t magic);
+extern void
+DRI2CreateDrawable(Display *display, XID drawable);
 extern void
 DRI2DestroyDrawable(Display *display, XID handle);
-extern Bool
-DRI2ReemitDrawableInfo(Display *dpy, XID handle, unsigned int *head);
+extern DRI2Buffer *
+DRI2GetBuffers(Display *dpy, XID drawable,
+              int *width, int *height,
+              unsigned int *attachments, int count,
+              int *outCount);
+
+/**
+ * \note
+ * This function is only supported with DRI2 version 1.1 or later.
+ */
+extern DRI2Buffer *
+DRI2GetBuffersWithFormat(Display *dpy, XID drawable,
+                        int *width, int *height,
+                        unsigned int *attachments, int count,
+                        int *outCount);
+
+extern void
+DRI2CopyRegion(Display *dpy, XID drawable, XserverRegion region,
+              CARD32 dest, CARD32 src);
 
 #endif