From 7da5705b090d9c97a9b765d786c5e89afe9d1f25 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Mon, 14 Jan 2008 18:31:05 -0500 Subject: Add new DRI2 infrastructure. --- include/GL/internal/dri_interface.h | 38 +++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'include/GL/internal/dri_interface.h') diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h index 1b637afaf3..50f1d1a765 100644 --- a/include/GL/internal/dri_interface.h +++ b/include/GL/internal/dri_interface.h @@ -230,12 +230,6 @@ struct __DRItexOffsetExtensionRec { #define __DRI_REAL_MAKE_VERSION(name, version) name ## _ ## version #define __DRI_MAKE_VERSION(name, version) __DRI_REAL_MAKE_VERSION(name, version) -#define __DRI_CREATE_NEW_SCREEN \ - __DRI_MAKE_VERSION(__driCreateNewScreen, __DRI_INTERFACE_VERSION) - -#define __DRI_CREATE_NEW_SCREEN_STRING \ - __DRI_STRINGIFY(__DRI_CREATE_NEW_SCREEN) - /** * \name Functions and data provided by the driver. */ @@ -250,9 +244,32 @@ typedef void *(CREATENEWSCREENFUNC)(int scr, __DRIscreen *psc, const __DRIinterfaceMethods * interface, __GLcontextModes ** driver_modes); typedef CREATENEWSCREENFUNC* PFNCREATENEWSCREENFUNC; + +#define __DRI_CREATE_NEW_SCREEN \ + __DRI_MAKE_VERSION(__driCreateNewScreen, __DRI_INTERFACE_VERSION) + +#define __DRI_CREATE_NEW_SCREEN_STRING \ + __DRI_STRINGIFY(__DRI_CREATE_NEW_SCREEN) + extern CREATENEWSCREENFUNC __DRI_CREATE_NEW_SCREEN; +/* DRI2 Entry point */ + +typedef void *(__DRI2_CREATE_NEW_SCREEN_FUNC)(int scr, __DRIscreen *psc, + const __DRIversion * ddx_version, const __DRIversion * dri_version, + const __DRIversion * drm_version, int fd, + unsigned int sarea_handle, + const __DRIinterfaceMethods * interface, + __GLcontextModes ** driver_modes); +#define __DRI2_CREATE_NEW_SCREEN \ + __DRI_MAKE_VERSION(__dri2CreateNewScreen, __DRI_INTERFACE_VERSION) + +#define __DRI2_CREATE_NEW_SCREEN_STRING \ + __DRI_STRINGIFY(__DRI2_CREATE_NEW_SCREEN) + +extern __DRI2_CREATE_NEW_SCREEN_FUNC __DRI2_CREATE_NEW_SCREEN; + /** * XML document describing the configuration options supported by the @@ -357,6 +374,15 @@ struct __DRIinterfaceMethodsRec { int x, int y, drm_clip_rect_t *rects, int num_rects, GLboolean front_buffer); + + /** + * Ping the windowing system to get it to reemit info for the + * specified drawable in the DRI2 event buffer. + * + * \param draw the drawable for which to request info + */ + void (*reemitDrawableInfo)(__DRIdrawable *draw); + }; -- cgit v1.2.3