xref: /OK3568_Linux_fs/external/libmali/include/EGL/egl.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifndef __egl_h_
2*4882a593Smuzhiyun #define __egl_h_ 1
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun #ifdef __cplusplus
5*4882a593Smuzhiyun extern "C" {
6*4882a593Smuzhiyun #endif
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun /*
9*4882a593Smuzhiyun ** Copyright (c) 2013-2017 The Khronos Group Inc.
10*4882a593Smuzhiyun **
11*4882a593Smuzhiyun ** Permission is hereby granted, free of charge, to any person obtaining a
12*4882a593Smuzhiyun ** copy of this software and/or associated documentation files (the
13*4882a593Smuzhiyun ** "Materials"), to deal in the Materials without restriction, including
14*4882a593Smuzhiyun ** without limitation the rights to use, copy, modify, merge, publish,
15*4882a593Smuzhiyun ** distribute, sublicense, and/or sell copies of the Materials, and to
16*4882a593Smuzhiyun ** permit persons to whom the Materials are furnished to do so, subject to
17*4882a593Smuzhiyun ** the following conditions:
18*4882a593Smuzhiyun **
19*4882a593Smuzhiyun ** The above copyright notice and this permission notice shall be included
20*4882a593Smuzhiyun ** in all copies or substantial portions of the Materials.
21*4882a593Smuzhiyun **
22*4882a593Smuzhiyun ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23*4882a593Smuzhiyun ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24*4882a593Smuzhiyun ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25*4882a593Smuzhiyun ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26*4882a593Smuzhiyun ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27*4882a593Smuzhiyun ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28*4882a593Smuzhiyun ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*4882a593Smuzhiyun */
30*4882a593Smuzhiyun /*
31*4882a593Smuzhiyun ** This header is generated from the Khronos EGL XML API Registry.
32*4882a593Smuzhiyun ** The current version of the Registry, generator scripts
33*4882a593Smuzhiyun ** used to make the header, and the header can be found at
34*4882a593Smuzhiyun **   http://www.khronos.org/registry/egl
35*4882a593Smuzhiyun **
36*4882a593Smuzhiyun ** Khronos $Git commit SHA1: cb927ca98d $ on $Git commit date: 2019-08-08 01:05:38 -0700 $
37*4882a593Smuzhiyun */
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun #include <EGL/eglplatform.h>
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun #ifndef EGL_EGL_PROTOTYPES
42*4882a593Smuzhiyun #define EGL_EGL_PROTOTYPES 1
43*4882a593Smuzhiyun #endif
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun /* Generated on date 20190808 */
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun /* Generated C header for:
48*4882a593Smuzhiyun  * API: egl
49*4882a593Smuzhiyun  * Versions considered: .*
50*4882a593Smuzhiyun  * Versions emitted: .*
51*4882a593Smuzhiyun  * Default extensions included: None
52*4882a593Smuzhiyun  * Additional extensions included: _nomatch_^
53*4882a593Smuzhiyun  * Extensions removed: _nomatch_^
54*4882a593Smuzhiyun  */
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun #ifndef EGL_VERSION_1_0
57*4882a593Smuzhiyun #define EGL_VERSION_1_0 1
58*4882a593Smuzhiyun typedef unsigned int EGLBoolean;
59*4882a593Smuzhiyun typedef void *EGLDisplay;
60*4882a593Smuzhiyun #include <KHR/mali_khrplatform.h>
61*4882a593Smuzhiyun #include <EGL/eglplatform.h>
62*4882a593Smuzhiyun typedef void *EGLConfig;
63*4882a593Smuzhiyun typedef void *EGLSurface;
64*4882a593Smuzhiyun typedef void *EGLContext;
65*4882a593Smuzhiyun typedef void (*__eglMustCastToProperFunctionPointerType)(void);
66*4882a593Smuzhiyun #define EGL_ALPHA_SIZE                    0x3021
67*4882a593Smuzhiyun #define EGL_BAD_ACCESS                    0x3002
68*4882a593Smuzhiyun #define EGL_BAD_ALLOC                     0x3003
69*4882a593Smuzhiyun #define EGL_BAD_ATTRIBUTE                 0x3004
70*4882a593Smuzhiyun #define EGL_BAD_CONFIG                    0x3005
71*4882a593Smuzhiyun #define EGL_BAD_CONTEXT                   0x3006
72*4882a593Smuzhiyun #define EGL_BAD_CURRENT_SURFACE           0x3007
73*4882a593Smuzhiyun #define EGL_BAD_DISPLAY                   0x3008
74*4882a593Smuzhiyun #define EGL_BAD_MATCH                     0x3009
75*4882a593Smuzhiyun #define EGL_BAD_NATIVE_PIXMAP             0x300A
76*4882a593Smuzhiyun #define EGL_BAD_NATIVE_WINDOW             0x300B
77*4882a593Smuzhiyun #define EGL_BAD_PARAMETER                 0x300C
78*4882a593Smuzhiyun #define EGL_BAD_SURFACE                   0x300D
79*4882a593Smuzhiyun #define EGL_BLUE_SIZE                     0x3022
80*4882a593Smuzhiyun #define EGL_BUFFER_SIZE                   0x3020
81*4882a593Smuzhiyun #define EGL_CONFIG_CAVEAT                 0x3027
82*4882a593Smuzhiyun #define EGL_CONFIG_ID                     0x3028
83*4882a593Smuzhiyun #define EGL_CORE_NATIVE_ENGINE            0x305B
84*4882a593Smuzhiyun #define EGL_DEPTH_SIZE                    0x3025
85*4882a593Smuzhiyun #define EGL_DONT_CARE                     EGL_CAST(EGLint,-1)
86*4882a593Smuzhiyun #define EGL_DRAW                          0x3059
87*4882a593Smuzhiyun #define EGL_EXTENSIONS                    0x3055
88*4882a593Smuzhiyun #define EGL_FALSE                         0
89*4882a593Smuzhiyun #define EGL_GREEN_SIZE                    0x3023
90*4882a593Smuzhiyun #define EGL_HEIGHT                        0x3056
91*4882a593Smuzhiyun #define EGL_LARGEST_PBUFFER               0x3058
92*4882a593Smuzhiyun #define EGL_LEVEL                         0x3029
93*4882a593Smuzhiyun #define EGL_MAX_PBUFFER_HEIGHT            0x302A
94*4882a593Smuzhiyun #define EGL_MAX_PBUFFER_PIXELS            0x302B
95*4882a593Smuzhiyun #define EGL_MAX_PBUFFER_WIDTH             0x302C
96*4882a593Smuzhiyun #define EGL_NATIVE_RENDERABLE             0x302D
97*4882a593Smuzhiyun #define EGL_NATIVE_VISUAL_ID              0x302E
98*4882a593Smuzhiyun #define EGL_NATIVE_VISUAL_TYPE            0x302F
99*4882a593Smuzhiyun #define EGL_NONE                          0x3038
100*4882a593Smuzhiyun #define EGL_NON_CONFORMANT_CONFIG         0x3051
101*4882a593Smuzhiyun #define EGL_NOT_INITIALIZED               0x3001
102*4882a593Smuzhiyun #define EGL_NO_CONTEXT                    EGL_CAST(EGLContext,0)
103*4882a593Smuzhiyun #define EGL_NO_DISPLAY                    EGL_CAST(EGLDisplay,0)
104*4882a593Smuzhiyun #define EGL_NO_SURFACE                    EGL_CAST(EGLSurface,0)
105*4882a593Smuzhiyun #define EGL_PBUFFER_BIT                   0x0001
106*4882a593Smuzhiyun #define EGL_PIXMAP_BIT                    0x0002
107*4882a593Smuzhiyun #define EGL_READ                          0x305A
108*4882a593Smuzhiyun #define EGL_RED_SIZE                      0x3024
109*4882a593Smuzhiyun #define EGL_SAMPLES                       0x3031
110*4882a593Smuzhiyun #define EGL_SAMPLE_BUFFERS                0x3032
111*4882a593Smuzhiyun #define EGL_SLOW_CONFIG                   0x3050
112*4882a593Smuzhiyun #define EGL_STENCIL_SIZE                  0x3026
113*4882a593Smuzhiyun #define EGL_SUCCESS                       0x3000
114*4882a593Smuzhiyun #define EGL_SURFACE_TYPE                  0x3033
115*4882a593Smuzhiyun #define EGL_TRANSPARENT_BLUE_VALUE        0x3035
116*4882a593Smuzhiyun #define EGL_TRANSPARENT_GREEN_VALUE       0x3036
117*4882a593Smuzhiyun #define EGL_TRANSPARENT_RED_VALUE         0x3037
118*4882a593Smuzhiyun #define EGL_TRANSPARENT_RGB               0x3052
119*4882a593Smuzhiyun #define EGL_TRANSPARENT_TYPE              0x3034
120*4882a593Smuzhiyun #define EGL_TRUE                          1
121*4882a593Smuzhiyun #define EGL_VENDOR                        0x3053
122*4882a593Smuzhiyun #define EGL_VERSION                       0x3054
123*4882a593Smuzhiyun #define EGL_WIDTH                         0x3057
124*4882a593Smuzhiyun #define EGL_WINDOW_BIT                    0x0004
125*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
126*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
127*4882a593Smuzhiyun typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
128*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
129*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
130*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
131*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
132*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
133*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
134*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
135*4882a593Smuzhiyun typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
136*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
137*4882a593Smuzhiyun typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
138*4882a593Smuzhiyun typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
139*4882a593Smuzhiyun typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
140*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
141*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
142*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
143*4882a593Smuzhiyun typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
144*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
145*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
146*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
147*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
148*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
149*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES
150*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
151*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
152*4882a593Smuzhiyun EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
153*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
154*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
155*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
156*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
157*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
158*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
159*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
160*4882a593Smuzhiyun EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
161*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
162*4882a593Smuzhiyun EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
163*4882a593Smuzhiyun EGLAPI EGLint EGLAPIENTRY eglGetError (void);
164*4882a593Smuzhiyun EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
165*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
166*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
167*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
168*4882a593Smuzhiyun EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
169*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
170*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
171*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
172*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
173*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
174*4882a593Smuzhiyun #endif
175*4882a593Smuzhiyun #endif /* EGL_VERSION_1_0 */
176*4882a593Smuzhiyun 
177*4882a593Smuzhiyun #ifndef EGL_VERSION_1_1
178*4882a593Smuzhiyun #define EGL_VERSION_1_1 1
179*4882a593Smuzhiyun #define EGL_BACK_BUFFER                   0x3084
180*4882a593Smuzhiyun #define EGL_BIND_TO_TEXTURE_RGB           0x3039
181*4882a593Smuzhiyun #define EGL_BIND_TO_TEXTURE_RGBA          0x303A
182*4882a593Smuzhiyun #define EGL_CONTEXT_LOST                  0x300E
183*4882a593Smuzhiyun #define EGL_MIN_SWAP_INTERVAL             0x303B
184*4882a593Smuzhiyun #define EGL_MAX_SWAP_INTERVAL             0x303C
185*4882a593Smuzhiyun #define EGL_MIPMAP_TEXTURE                0x3082
186*4882a593Smuzhiyun #define EGL_MIPMAP_LEVEL                  0x3083
187*4882a593Smuzhiyun #define EGL_NO_TEXTURE                    0x305C
188*4882a593Smuzhiyun #define EGL_TEXTURE_2D                    0x305F
189*4882a593Smuzhiyun #define EGL_TEXTURE_FORMAT                0x3080
190*4882a593Smuzhiyun #define EGL_TEXTURE_RGB                   0x305D
191*4882a593Smuzhiyun #define EGL_TEXTURE_RGBA                  0x305E
192*4882a593Smuzhiyun #define EGL_TEXTURE_TARGET                0x3081
193*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
194*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
195*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
196*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
197*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES
198*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
199*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
200*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
201*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
202*4882a593Smuzhiyun #endif
203*4882a593Smuzhiyun #endif /* EGL_VERSION_1_1 */
204*4882a593Smuzhiyun 
205*4882a593Smuzhiyun #ifndef EGL_VERSION_1_2
206*4882a593Smuzhiyun #define EGL_VERSION_1_2 1
207*4882a593Smuzhiyun typedef unsigned int EGLenum;
208*4882a593Smuzhiyun typedef void *EGLClientBuffer;
209*4882a593Smuzhiyun #define EGL_ALPHA_FORMAT                  0x3088
210*4882a593Smuzhiyun #define EGL_ALPHA_FORMAT_NONPRE           0x308B
211*4882a593Smuzhiyun #define EGL_ALPHA_FORMAT_PRE              0x308C
212*4882a593Smuzhiyun #define EGL_ALPHA_MASK_SIZE               0x303E
213*4882a593Smuzhiyun #define EGL_BUFFER_PRESERVED              0x3094
214*4882a593Smuzhiyun #define EGL_BUFFER_DESTROYED              0x3095
215*4882a593Smuzhiyun #define EGL_CLIENT_APIS                   0x308D
216*4882a593Smuzhiyun #define EGL_COLORSPACE                    0x3087
217*4882a593Smuzhiyun #define EGL_COLORSPACE_sRGB               0x3089
218*4882a593Smuzhiyun #define EGL_COLORSPACE_LINEAR             0x308A
219*4882a593Smuzhiyun #define EGL_COLOR_BUFFER_TYPE             0x303F
220*4882a593Smuzhiyun #define EGL_CONTEXT_CLIENT_TYPE           0x3097
221*4882a593Smuzhiyun #define EGL_DISPLAY_SCALING               10000
222*4882a593Smuzhiyun #define EGL_HORIZONTAL_RESOLUTION         0x3090
223*4882a593Smuzhiyun #define EGL_LUMINANCE_BUFFER              0x308F
224*4882a593Smuzhiyun #define EGL_LUMINANCE_SIZE                0x303D
225*4882a593Smuzhiyun #define EGL_OPENGL_ES_BIT                 0x0001
226*4882a593Smuzhiyun #define EGL_OPENVG_BIT                    0x0002
227*4882a593Smuzhiyun #define EGL_OPENGL_ES_API                 0x30A0
228*4882a593Smuzhiyun #define EGL_OPENVG_API                    0x30A1
229*4882a593Smuzhiyun #define EGL_OPENVG_IMAGE                  0x3096
230*4882a593Smuzhiyun #define EGL_PIXEL_ASPECT_RATIO            0x3092
231*4882a593Smuzhiyun #define EGL_RENDERABLE_TYPE               0x3040
232*4882a593Smuzhiyun #define EGL_RENDER_BUFFER                 0x3086
233*4882a593Smuzhiyun #define EGL_RGB_BUFFER                    0x308E
234*4882a593Smuzhiyun #define EGL_SINGLE_BUFFER                 0x3085
235*4882a593Smuzhiyun #define EGL_SWAP_BEHAVIOR                 0x3093
236*4882a593Smuzhiyun #define EGL_UNKNOWN                       EGL_CAST(EGLint,-1)
237*4882a593Smuzhiyun #define EGL_VERTICAL_RESOLUTION           0x3091
238*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
239*4882a593Smuzhiyun typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
240*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
241*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
242*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
243*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES
244*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
245*4882a593Smuzhiyun EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
246*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
247*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
248*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
249*4882a593Smuzhiyun #endif
250*4882a593Smuzhiyun #endif /* EGL_VERSION_1_2 */
251*4882a593Smuzhiyun 
252*4882a593Smuzhiyun #ifndef EGL_VERSION_1_3
253*4882a593Smuzhiyun #define EGL_VERSION_1_3 1
254*4882a593Smuzhiyun #define EGL_CONFORMANT                    0x3042
255*4882a593Smuzhiyun #define EGL_CONTEXT_CLIENT_VERSION        0x3098
256*4882a593Smuzhiyun #define EGL_MATCH_NATIVE_PIXMAP           0x3041
257*4882a593Smuzhiyun #define EGL_OPENGL_ES2_BIT                0x0004
258*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT               0x3088
259*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT_NONPRE        0x308B
260*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT_PRE           0x308C
261*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT_PRE_BIT       0x0040
262*4882a593Smuzhiyun #define EGL_VG_COLORSPACE                 0x3087
263*4882a593Smuzhiyun #define EGL_VG_COLORSPACE_sRGB            0x3089
264*4882a593Smuzhiyun #define EGL_VG_COLORSPACE_LINEAR          0x308A
265*4882a593Smuzhiyun #define EGL_VG_COLORSPACE_LINEAR_BIT      0x0020
266*4882a593Smuzhiyun #endif /* EGL_VERSION_1_3 */
267*4882a593Smuzhiyun 
268*4882a593Smuzhiyun #ifndef EGL_VERSION_1_4
269*4882a593Smuzhiyun #define EGL_VERSION_1_4 1
270*4882a593Smuzhiyun #define EGL_DEFAULT_DISPLAY               EGL_CAST(EGLNativeDisplayType,0)
271*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT   0x0200
272*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE           0x3099
273*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE_DEFAULT   0x309A
274*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE_BOX       0x309B
275*4882a593Smuzhiyun #define EGL_OPENGL_API                    0x30A2
276*4882a593Smuzhiyun #define EGL_OPENGL_BIT                    0x0008
277*4882a593Smuzhiyun #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT   0x0400
278*4882a593Smuzhiyun typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
279*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES
280*4882a593Smuzhiyun EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
281*4882a593Smuzhiyun #endif
282*4882a593Smuzhiyun #endif /* EGL_VERSION_1_4 */
283*4882a593Smuzhiyun 
284*4882a593Smuzhiyun #ifndef EGL_VERSION_1_5
285*4882a593Smuzhiyun #define EGL_VERSION_1_5 1
286*4882a593Smuzhiyun typedef void *EGLSync;
287*4882a593Smuzhiyun typedef intptr_t EGLAttrib;
288*4882a593Smuzhiyun typedef khronos_utime_nanoseconds_t EGLTime;
289*4882a593Smuzhiyun typedef void *EGLImage;
290*4882a593Smuzhiyun #define EGL_CONTEXT_MAJOR_VERSION         0x3098
291*4882a593Smuzhiyun #define EGL_CONTEXT_MINOR_VERSION         0x30FB
292*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_PROFILE_MASK   0x30FD
293*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
294*4882a593Smuzhiyun #define EGL_NO_RESET_NOTIFICATION         0x31BE
295*4882a593Smuzhiyun #define EGL_LOSE_CONTEXT_ON_RESET         0x31BF
296*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
297*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
298*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_DEBUG          0x31B0
299*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
300*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS  0x31B2
301*4882a593Smuzhiyun #define EGL_OPENGL_ES3_BIT                0x00000040
302*4882a593Smuzhiyun #define EGL_CL_EVENT_HANDLE               0x309C
303*4882a593Smuzhiyun #define EGL_SYNC_CL_EVENT                 0x30FE
304*4882a593Smuzhiyun #define EGL_SYNC_CL_EVENT_COMPLETE        0x30FF
305*4882a593Smuzhiyun #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE  0x30F0
306*4882a593Smuzhiyun #define EGL_SYNC_TYPE                     0x30F7
307*4882a593Smuzhiyun #define EGL_SYNC_STATUS                   0x30F1
308*4882a593Smuzhiyun #define EGL_SYNC_CONDITION                0x30F8
309*4882a593Smuzhiyun #define EGL_SIGNALED                      0x30F2
310*4882a593Smuzhiyun #define EGL_UNSIGNALED                    0x30F3
311*4882a593Smuzhiyun #define EGL_SYNC_FLUSH_COMMANDS_BIT       0x0001
312*4882a593Smuzhiyun #define EGL_FOREVER                       0xFFFFFFFFFFFFFFFFull
313*4882a593Smuzhiyun #define EGL_TIMEOUT_EXPIRED               0x30F5
314*4882a593Smuzhiyun #define EGL_CONDITION_SATISFIED           0x30F6
315*4882a593Smuzhiyun #define EGL_NO_SYNC                       EGL_CAST(EGLSync,0)
316*4882a593Smuzhiyun #define EGL_SYNC_FENCE                    0x30F9
317*4882a593Smuzhiyun #define EGL_GL_COLORSPACE                 0x309D
318*4882a593Smuzhiyun #define EGL_GL_COLORSPACE_SRGB            0x3089
319*4882a593Smuzhiyun #define EGL_GL_COLORSPACE_LINEAR          0x308A
320*4882a593Smuzhiyun #define EGL_GL_RENDERBUFFER               0x30B9
321*4882a593Smuzhiyun #define EGL_GL_TEXTURE_2D                 0x30B1
322*4882a593Smuzhiyun #define EGL_GL_TEXTURE_LEVEL              0x30BC
323*4882a593Smuzhiyun #define EGL_GL_TEXTURE_3D                 0x30B2
324*4882a593Smuzhiyun #define EGL_GL_TEXTURE_ZOFFSET            0x30BD
325*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
326*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
327*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
328*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
329*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
330*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
331*4882a593Smuzhiyun #define EGL_IMAGE_PRESERVED               0x30D2
332*4882a593Smuzhiyun #define EGL_NO_IMAGE                      EGL_CAST(EGLImage,0)
333*4882a593Smuzhiyun typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
334*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
335*4882a593Smuzhiyun typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
336*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
337*4882a593Smuzhiyun typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
338*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
339*4882a593Smuzhiyun typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
340*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
341*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
342*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
343*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES
344*4882a593Smuzhiyun EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
345*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
346*4882a593Smuzhiyun EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
347*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
348*4882a593Smuzhiyun EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
349*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
350*4882a593Smuzhiyun EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
351*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
352*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
353*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
354*4882a593Smuzhiyun #endif
355*4882a593Smuzhiyun #endif /* EGL_VERSION_1_5 */
356*4882a593Smuzhiyun 
357*4882a593Smuzhiyun #ifdef __cplusplus
358*4882a593Smuzhiyun }
359*4882a593Smuzhiyun #endif
360*4882a593Smuzhiyun 
361*4882a593Smuzhiyun #endif
362