X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglx%2Fx11%2Fdri2.h;h=114e9f8f965824dddefbc50f41ebcb4896761189;hb=538539d8791e5b3b1ea2e95473b589934d94497e;hp=1dfd0448b2f3e7154987c245b5ca829028413771;hpb=e82dd8c6e1fa2fff5b960de26961080ba5e9651d;p=mesa.git diff --git a/src/glx/x11/dri2.h b/src/glx/x11/dri2.h index 1dfd0448b2f..114e9f8f965 100644 --- a/src/glx/x11/dri2.h +++ b/src/glx/x11/dri2.h @@ -33,21 +33,74 @@ #ifndef _DRI2_H_ #define _DRI2_H_ +#include +#include + +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); +DRI2QueryExtension(Display * display, int *eventBase, int *errorBase); + extern Bool -DRI2Connect(Display *display, int screen, - char **driverName, char **busId, unsigned int *sareaHandle); +DRI2QueryVersion(Display * display, int *major, int *minor); + 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); +DRI2DestroyDrawable(Display * display, XID handle); + +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); + +extern void +DRI2SwapBuffers(Display *dpy, XID drawable, CARD64 target_msc, CARD64 divisor, + CARD64 remainder, CARD64 *count); + extern Bool -DRI2ReemitDrawableInfo(Display *dpy, XID handle, unsigned int *head); +DRI2GetMSC(Display *dpy, XID drawable, CARD64 *ust, CARD64 *msc, CARD64 *sbc); + +extern Bool +DRI2WaitMSC(Display *dpy, XID drawable, CARD64 target_msc, CARD64 divisor, + CARD64 remainder, CARD64 *ust, CARD64 *msc, CARD64 *sbc); + +extern Bool +DRI2WaitSBC(Display *dpy, XID drawable, CARD64 target_sbc, CARD64 *ust, + CARD64 *msc, CARD64 *sbc); + +extern void +DRI2SwapInterval(Display *dpy, XID drawable, int interval); #endif