Merge commit 'origin/master' into gallium-0.2
[mesa.git] / src / egl / main / egldisplay.h
index 55555e67d8a88b9cffbe9ede44a573c138def775..ff623ee1c666474649034ae51197546a3b193ec0 100644 (file)
@@ -1,22 +1,31 @@
 #ifndef EGLDISPLAY_INCLUDED
 #define EGLDISPLAY_INCLUDED
 
+#ifdef _EGL_PLATFORM_X
+#include <X11/Xlib.h>
+#endif
 
 #include "egltypedefs.h"
 
 
 struct _egl_display 
 {
+   EGLNativeDisplayType NativeDisplay;
    EGLDisplay Handle;
 
-   char *Name;
+   const char *DriverName;
+   const char *DriverArgs;
    _EGLDriver *Driver;
 
    EGLint NumScreens;
    _EGLScreen **Screens;  /* array [NumScreens] */
 
    EGLint NumConfigs;
-   _EGLConfig *Configs;  /* array [NumConfigs] */
+   _EGLConfig **Configs;  /* array [NumConfigs] of ptr to _EGLConfig */
+
+#ifdef _EGL_PLATFORM_X
+   Display *Xdpy;
+#endif
 };
 
 
@@ -24,16 +33,29 @@ extern _EGLDisplay *
 _eglNewDisplay(NativeDisplayType displayName);
 
 
+EGLDisplay
+_eglGetDisplayHandle(_EGLDisplay *display);
+
+
 extern _EGLDisplay *
 _eglLookupDisplay(EGLDisplay dpy);
 
 
+extern void
+_eglSaveDisplay(_EGLDisplay *dpy);
+
+
 extern _EGLDisplay *
 _eglGetCurrentDisplay(void);
 
 
 extern void
-_eglDeleteDisplay(_EGLDisplay *disp);
+_eglCleanupDisplay(_EGLDisplay *disp);
+
+
+extern EGLBoolean 
+_eglQueryDisplayMESA(_EGLDriver *drv, EGLDisplay dpy, EGLint attrib, EGLint *value);
+
 
 
 #endif /* EGLDISPLAY_INCLUDED */