/*
- * egltypes.h - EGL API compatibility
- *
- * The intention here is to support multiple EGL implementations for the
- * various backends - GLX, AGL, WGL, Solo - so we define the EGL types as
- * opaque handles. We also define the Native types as opaque handles for
- * now, which should be fine for GLX and Solo but the others who knows.
- * They can extend this later.
- *
- * We require that 'int' be 32 bits. Other than that this should be pretty
- * portable.
- *
- * Derived from the OpenGL|ES 1.1 egl.h on the Khronos website:
- * http://www.khronos.org/opengles/spec_headers/opengles1_1/egl.h
- *
- */
-
-#ifndef _EGLTYPES_H
-#define _EGLTYPES_H
+** egltypes.h for Mesa
+**
+** ONLY egl.h SHOULD INCLUDE THIS FILE!
+**
+** See comments about egltypes.h in the standard egl.h file.
+*/
+
#include <sys/types.h>
+
/*
- * Native types
- */
-typedef void *NativeDisplayType;
-typedef void *NativePixmapType;
-typedef void *NativeWindowType;
+** These opaque EGL types are implemented as unsigned 32-bit integers:
+*/
+typedef u_int32_t EGLDisplay;
+typedef u_int32_t EGLConfig;
+typedef u_int32_t EGLSurface;
+typedef u_int32_t EGLContext;
+
+/* EGL_MESA_screen_surface */
+typedef u_int32_t EGLModeMESA;
+
/*
- * Types and resources
- */
-typedef GLboolean EGLBoolean;
-typedef GLint EGLint;
-typedef void *EGLDisplay;
-typedef void *EGLConfig;
-typedef void *EGLSurface;
-typedef void *EGLContext;
+** Other basic EGL types:
+*/
+typedef u_int8_t EGLBoolean;
+typedef int32_t EGLint;
+
+typedef void * NativeDisplayType;
+typedef int NativePixmapType;
+typedef int NativeWindowType;
/*
- * EGL and native handle values
- */
-#define EGL_DEFAULT_DISPLAY ((NativeDisplayType)0)
-#define EGL_NO_CONTEXT ((EGLContext)0)
-#define EGL_NO_DISPLAY ((EGLDisplay)0)
-#define EGL_NO_SURFACE ((EGLSurface)0)
-
-#endif /* _EGLTYPES_H */
+** EGL and native handle null values:
+*/
+#define EGL_DEFAULT_DISPLAY ((NativeDisplayType) 0)
+#define EGL_NO_CONTEXT ((EGLContext) 0)
+#define EGL_NO_DISPLAY ((EGLDisplay) 0)
+#define EGL_NO_SURFACE ((EGLSurface) 0)
+
+/* EGL_MESA_screen_surface */
+#define EGL_NO_MODE_MESA ((EGLModeMESA) 0)