Just use stddef.h to get ptrdiff_t instead of obsolete malloc.h.
[mesa.git] / include / GLES / egl.h
index 0fafc25e1565e8fedde2285b6e292421d9d51e3e..f18c86ca62db148fdb28e2ce7d24e0becb6a28b8 100644 (file)
@@ -64,9 +64,7 @@
 ** Versioning and extensions
 */
 #define EGL_VERSION_1_0                       1
-#if 0
 #define EGL_VERSION_1_1                       1
-#endif
 
 /*
 ** Boolean
@@ -196,7 +194,7 @@ GLAPI EGLDisplay APIENTRY eglGetDisplay (NativeDisplayType display);
 GLAPI EGLBoolean APIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
 GLAPI EGLBoolean APIENTRY eglTerminate (EGLDisplay dpy);
 GLAPI const char * APIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
-GLAPI void (* APIENTRY eglGetProcAddress (const char *procname))();
+GLAPI void (* APIENTRY eglGetProcAddress (const char *procname))(void);
 
 GLAPI EGLBoolean APIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
 GLAPI EGLBoolean APIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
@@ -235,34 +233,88 @@ GLAPI EGLBoolean APIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, Na
 #ifndef EGL_MESA_screen_surface
 #define EGL_MESA_screen_surface 1
 
-#define EGL_BAD_SCREEN_MESA        0x4000
-#define EGL_BAD_MODE_MESA          0x4001
-#define EGL_SCREEN_COUNT_MESA      0x4002
-#define EGL_SCREEN_POSITION_MESA   0x4003
-#define EGL_MODE_ID_MESA           0x4004
-#define EGL_REFRESH_RATE_MESA      0x4005
-#define EGL_OPTIMAL_MODE_MESA      0x4006
-#define EGL_SCREEN_BIT_MESA        0x08
-
-GLAPI EGLBoolean APIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLint screen_number, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
-GLAPI EGLBoolean APIENTRY eglGetModesMESA(EGLDisplay dpy, EGLint screen_number, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
+#define EGL_BAD_SCREEN_MESA                    0x4000
+#define EGL_BAD_MODE_MESA                      0x4001
+#define EGL_SCREEN_COUNT_MESA                  0x4002
+#define EGL_SCREEN_POSITION_MESA               0x4003
+#define EGL_SCREEN_POSITION_GRANULARITY_MESA   0x4004
+#define EGL_MODE_ID_MESA                       0x4005
+#define EGL_REFRESH_RATE_MESA                  0x4006
+#define EGL_OPTIMAL_MESA                       0x4007
+#define EGL_INTERLACED_MESA                    0x4008
+#define EGL_SCREEN_BIT_MESA                    0x08
+
+GLAPI EGLBoolean APIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
+GLAPI EGLBoolean APIENTRY eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
 GLAPI EGLBoolean APIENTRY eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value);
+GLAPI EGLBoolean APIENTRY eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
 GLAPI EGLSurface APIENTRY eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
-GLAPI EGLBoolean APIENTRY eglShowSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface);
-GLAPI EGLBoolean APIENTRY eglScreenModeMESA(EGLDisplay dpy, EGLint screen_number, EGLModeMESA mode);
-GLAPI EGLBoolean APIENTRY eglScreenAttribsMESA(EGLDisplay dpy, EGLint screen, const EGLint *attrib_list);
-GLAPI EGLBoolean APIENTRY eglQueryDisplayMESA(EGLDisplay dpy, EGLint attribute, EGLint *value);
-GLAPI EGLBoolean APIENTRY eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLint screen_number, EGLSurface *surface);
-GLAPI EGLBoolean APIENTRY eglQueryScreenModeMESA(EGLDisplay dpy, EGLint screen_number, EGLModeMESA *mode);
-GLAPI EGLBoolean APIENTRY eglQueryScreenMESA(EGLDisplay dpy, EGLint screen_number, EGLint attribute, EGLint *value);
+GLAPI EGLBoolean APIENTRY eglShowScreenSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface, EGLModeMESA mode);
+GLAPI EGLBoolean APIENTRY eglScreenPositionMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y);
+GLAPI EGLBoolean APIENTRY eglQueryScreenMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value);
+GLAPI EGLBoolean APIENTRY eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLSurface *surface);
+GLAPI EGLBoolean APIENTRY eglQueryScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode);
+GLAPI const char * APIENTRY eglQueryModeStringMESA(EGLDisplay dpy, EGLModeMESA mode);
 
 #endif /* EGL_MESA_screen_surface */
 
 
+#ifndef EGL_MESA_copy_context
+#define EGL_MESA_copy_context 1
+
+GLAPI EGLBoolean APIENTRY eglCopyContextMESA(EGLDisplay dpy, EGLContext source, EGLContext dest, EGLint mask);
+
+#endif /* EGL_MESA_copy_context */
+
+
+/* XXX this is preliminary! */
+#ifndef EGL_VERSION_1_2
+#define EGL_VERSION_1_2 1
+
+typedef int EGLenum;
+typedef int EGLClientBuffer;
+
+#define EGL_DISPLAY_SCALING            10000
+#define EGL_UNKNOWN                    ((EGLint)-1)
+
+#define EGL_OPENGL_ES_BIT               0x1
+#define EGL_OPENVG_BIT                  0x2
+
+#define EGL_OPENGL_ES_API               0x30A0
+#define EGL_OPENVG_API                  0x30A1
 
+#define EGL_LUMINANCE_SIZE             0x303D
+#define EGL_ALPHA_MASK_SIZE            0x303E
+#define EGL_COLOR_BUFFER_TYPE          0x303F
+#define EGL_RENDERABLE_TYPE            0x3040
 
+#define EGL_SINGLE_BUFFER              0x3085
+#define EGL_RENDER_BUFFER              0x3086
+#define EGL_COLORSPACE                 0x3087
+#define EGL_ALPHA_FORMAT               0x3088
+#define EGL_COLORSPACE_sRGB            0x3089
+#define EGL_COLORSPACE_LINEAR          0x308A
+#define EGL_ALPHA_FORMAT_NONPRE                0x308B
+#define EGL_ALPHA_FORMAT_PRE           0x308C
+#define EGL_CLIENT_APIS                        0x308D
+#define EGL_RGB_BUFFER                 0x308E
+#define EGL_LUMINANCE_BUFFER           0x308F
+#define EGL_HORIZONTAL_RESOLUTION      0x3090
+#define EGL_VERTICAL_RESOLUTION                0x3091
+#define EGL_PIXEL_ASPECT_RATIO         0x3092
+#define EGL_SWAP_BEHAVIOR              0x3093
+#define EGL_BUFFER_PRESERVED           0x3094
+#define EGL_BUFFER_DESTROYED           0x3095
+#define EGL_OPENVG_IMAGE               0x3096
+#define EGL_CONTEXT_CLIENT_TYPE                0x3097
 
+GLAPI EGLBoolean APIENTRY eglBindAPI(EGLenum api);
+GLAPI EGLenum APIENTRY eglQueryAPI(void);
+GLAPI EGLBoolean APIENTRY eglWaitClient(void);
+GLAPI EGLBoolean APIENTRY eglReleaseThread(void);
+GLAPI EGLSurface APIENTRY eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
 
+#endif /* EGL_VERSION_1_2 */
 
 
 #ifdef __cplusplus