types for Mesa implementation of EGL
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 22 Apr 2005 21:16:28 +0000 (21:16 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 22 Apr 2005 21:16:28 +0000 (21:16 +0000)
include/GLES/egltypes.h

index 873a845..c81116a 100644 (file)
@@ -1,48 +1,44 @@
 /*
- * 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)