zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
egl.h
Go to the documentation of this file.
1 /* -*- mode: c; tab-width: 8; -*- */
2 /* vi: set sw=4 ts=8: */
3 /* Reference version of egl.h for EGL 1.4.
4  * $Revision: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $
5  */
6 
7 /*
8 ** Copyright (c) 2007-2009 The Khronos Group Inc.
9 **
10 ** Permission is hereby granted, free of charge, to any person obtaining a
11 ** copy of this software and/or associated documentation files (the
12 ** "Materials"), to deal in the Materials without restriction, including
13 ** without limitation the rights to use, copy, modify, merge, publish,
14 ** distribute, sublicense, and/or sell copies of the Materials, and to
15 ** permit persons to whom the Materials are furnished to do so, subject to
16 ** the following conditions:
17 **
18 ** The above copyright notice and this permission notice shall be included
19 ** in all copies or substantial portions of the Materials.
20 **
21 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
25 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
26 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
28 */
29 
30 #ifndef __egl_h_
31 #define __egl_h_
32 
33 /* All platform-dependent types and macro boilerplate (such as EGLAPI
34  * and EGLAPIENTRY) should go in eglplatform.h.
35  */
36 #include <EGL/eglplatform.h>
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 /* EGL Types */
43 /* EGLint is defined in eglplatform.h */
44 typedef unsigned int EGLBoolean;
45 typedef unsigned int EGLenum;
46 typedef void *EGLConfig;
47 typedef void *EGLContext;
48 typedef void *EGLDisplay;
49 typedef void *EGLSurface;
50 typedef void *EGLClientBuffer;
51 
52 /* EGL Versioning */
53 #define EGL_VERSION_1_0 1
54 #define EGL_VERSION_1_1 1
55 #define EGL_VERSION_1_2 1
56 #define EGL_VERSION_1_3 1
57 #define EGL_VERSION_1_4 1
58 
59 /* EGL Enumerants. Bitmasks and other exceptional cases aside, most
60  * enums are assigned unique values starting at 0x3000.
61  */
62 
63 /* EGL aliases */
64 #define EGL_FALSE 0
65 #define EGL_TRUE 1
66 
67 /* Out-of-band handle values */
68 #define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
69 #define EGL_NO_CONTEXT ((EGLContext)0)
70 #define EGL_NO_DISPLAY ((EGLDisplay)0)
71 #define EGL_NO_SURFACE ((EGLSurface)0)
72 
73 /* Out-of-band attribute value */
74 #define EGL_DONT_CARE ((EGLint)-1)
75 
76 /* Errors / GetError return values */
77 #define EGL_SUCCESS 0x3000
78 #define EGL_NOT_INITIALIZED 0x3001
79 #define EGL_BAD_ACCESS 0x3002
80 #define EGL_BAD_ALLOC 0x3003
81 #define EGL_BAD_ATTRIBUTE 0x3004
82 #define EGL_BAD_CONFIG 0x3005
83 #define EGL_BAD_CONTEXT 0x3006
84 #define EGL_BAD_CURRENT_SURFACE 0x3007
85 #define EGL_BAD_DISPLAY 0x3008
86 #define EGL_BAD_MATCH 0x3009
87 #define EGL_BAD_NATIVE_PIXMAP 0x300A
88 #define EGL_BAD_NATIVE_WINDOW 0x300B
89 #define EGL_BAD_PARAMETER 0x300C
90 #define EGL_BAD_SURFACE 0x300D
91 #define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */
92 
93 /* Reserved 0x300F-0x301F for additional errors */
94 
95 /* Config attributes */
96 #define EGL_BUFFER_SIZE 0x3020
97 #define EGL_ALPHA_SIZE 0x3021
98 #define EGL_BLUE_SIZE 0x3022
99 #define EGL_GREEN_SIZE 0x3023
100 #define EGL_RED_SIZE 0x3024
101 #define EGL_DEPTH_SIZE 0x3025
102 #define EGL_STENCIL_SIZE 0x3026
103 #define EGL_CONFIG_CAVEAT 0x3027
104 #define EGL_CONFIG_ID 0x3028
105 #define EGL_LEVEL 0x3029
106 #define EGL_MAX_PBUFFER_HEIGHT 0x302A
107 #define EGL_MAX_PBUFFER_PIXELS 0x302B
108 #define EGL_MAX_PBUFFER_WIDTH 0x302C
109 #define EGL_NATIVE_RENDERABLE 0x302D
110 #define EGL_NATIVE_VISUAL_ID 0x302E
111 #define EGL_NATIVE_VISUAL_TYPE 0x302F
112 #define EGL_SAMPLES 0x3031
113 #define EGL_SAMPLE_BUFFERS 0x3032
114 #define EGL_SURFACE_TYPE 0x3033
115 #define EGL_TRANSPARENT_TYPE 0x3034
116 #define EGL_TRANSPARENT_BLUE_VALUE 0x3035
117 #define EGL_TRANSPARENT_GREEN_VALUE 0x3036
118 #define EGL_TRANSPARENT_RED_VALUE 0x3037
119 #define EGL_NONE 0x3038 /* Attrib list terminator */
120 #define EGL_BIND_TO_TEXTURE_RGB 0x3039
121 #define EGL_BIND_TO_TEXTURE_RGBA 0x303A
122 #define EGL_MIN_SWAP_INTERVAL 0x303B
123 #define EGL_MAX_SWAP_INTERVAL 0x303C
124 #define EGL_LUMINANCE_SIZE 0x303D
125 #define EGL_ALPHA_MASK_SIZE 0x303E
126 #define EGL_COLOR_BUFFER_TYPE 0x303F
127 #define EGL_RENDERABLE_TYPE 0x3040
128 #define EGL_MATCH_NATIVE_PIXMAP 0x3041 /* Pseudo-attribute (not queryable) */
129 #define EGL_CONFORMANT 0x3042
130 
131 /* Reserved 0x3041-0x304F for additional config attributes */
132 
133 /* Config attribute values */
134 #define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */
135 #define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */
136 #define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */
137 #define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */
138 #define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */
139 
140 /* More config attribute values, for EGL_TEXTURE_FORMAT */
141 #define EGL_NO_TEXTURE 0x305C
142 #define EGL_TEXTURE_RGB 0x305D
143 #define EGL_TEXTURE_RGBA 0x305E
144 #define EGL_TEXTURE_2D 0x305F
145 
146 /* Config attribute mask bits */
147 #define EGL_PBUFFER_BIT 0x0001 /* EGL_SURFACE_TYPE mask bits */
148 #define EGL_PIXMAP_BIT 0x0002 /* EGL_SURFACE_TYPE mask bits */
149 #define EGL_WINDOW_BIT 0x0004 /* EGL_SURFACE_TYPE mask bits */
150 #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 /* EGL_SURFACE_TYPE mask bits */
151 #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 /* EGL_SURFACE_TYPE mask bits */
152 #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 /* EGL_SURFACE_TYPE mask bits */
153 #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 /* EGL_SURFACE_TYPE mask bits */
154 
155 #define EGL_OPENGL_ES_BIT 0x0001 /* EGL_RENDERABLE_TYPE mask bits */
156 #define EGL_OPENVG_BIT 0x0002 /* EGL_RENDERABLE_TYPE mask bits */
157 #define EGL_OPENGL_ES2_BIT 0x0004 /* EGL_RENDERABLE_TYPE mask bits */
158 #define EGL_OPENGL_BIT 0x0008 /* EGL_RENDERABLE_TYPE mask bits */
159 
160 /* QueryString targets */
161 #define EGL_VENDOR 0x3053
162 #define EGL_VERSION 0x3054
163 #define EGL_EXTENSIONS 0x3055
164 #define EGL_CLIENT_APIS 0x308D
165 
166 /* QuerySurface / SurfaceAttrib / CreatePbufferSurface targets */
167 #define EGL_HEIGHT 0x3056
168 #define EGL_WIDTH 0x3057
169 #define EGL_LARGEST_PBUFFER 0x3058
170 #define EGL_TEXTURE_FORMAT 0x3080
171 #define EGL_TEXTURE_TARGET 0x3081
172 #define EGL_MIPMAP_TEXTURE 0x3082
173 #define EGL_MIPMAP_LEVEL 0x3083
174 #define EGL_RENDER_BUFFER 0x3086
175 #define EGL_VG_COLORSPACE 0x3087
176 #define EGL_VG_ALPHA_FORMAT 0x3088
177 #define EGL_HORIZONTAL_RESOLUTION 0x3090
178 #define EGL_VERTICAL_RESOLUTION 0x3091
179 #define EGL_PIXEL_ASPECT_RATIO 0x3092
180 #define EGL_SWAP_BEHAVIOR 0x3093
181 #define EGL_MULTISAMPLE_RESOLVE 0x3099
182 
183 /* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */
184 #define EGL_BACK_BUFFER 0x3084
185 #define EGL_SINGLE_BUFFER 0x3085
186 
187 /* OpenVG color spaces */
188 #define EGL_VG_COLORSPACE_sRGB 0x3089 /* EGL_VG_COLORSPACE value */
189 #define EGL_VG_COLORSPACE_LINEAR 0x308A /* EGL_VG_COLORSPACE value */
190 
191 /* OpenVG alpha formats */
192 #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */
193 #define EGL_VG_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */
194 
195 /* Constant scale factor by which fractional display resolutions &
196  * aspect ratio are scaled when queried as integer values.
197  */
198 #define EGL_DISPLAY_SCALING 10000
199 
200 /* Unknown display resolution/aspect ratio */
201 #define EGL_UNKNOWN ((EGLint)-1)
202 
203 /* Back buffer swap behaviors */
204 #define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */
205 #define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */
206 
207 /* CreatePbufferFromClientBuffer buffer types */
208 #define EGL_OPENVG_IMAGE 0x3096
209 
210 /* QueryContext targets */
211 #define EGL_CONTEXT_CLIENT_TYPE 0x3097
212 
213 /* CreateContext attributes */
214 #define EGL_CONTEXT_CLIENT_VERSION 0x3098
215 
216 /* Multisample resolution behaviors */
217 #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A /* EGL_MULTISAMPLE_RESOLVE value */
218 #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B /* EGL_MULTISAMPLE_RESOLVE value */
219 
220 /* BindAPI/QueryAPI targets */
221 #define EGL_OPENGL_ES_API 0x30A0
222 #define EGL_OPENVG_API 0x30A1
223 #define EGL_OPENGL_API 0x30A2
224 
225 /* GetCurrentSurface targets */
226 #define EGL_DRAW 0x3059
227 #define EGL_READ 0x305A
228 
229 /* WaitNative engines */
230 #define EGL_CORE_NATIVE_ENGINE 0x305B
231 
232 /* EGL 1.2 tokens renamed for consistency in EGL 1.3 */
233 #define EGL_COLORSPACE EGL_VG_COLORSPACE
234 #define EGL_ALPHA_FORMAT EGL_VG_ALPHA_FORMAT
235 #define EGL_COLORSPACE_sRGB EGL_VG_COLORSPACE_sRGB
236 #define EGL_COLORSPACE_LINEAR EGL_VG_COLORSPACE_LINEAR
237 #define EGL_ALPHA_FORMAT_NONPRE EGL_VG_ALPHA_FORMAT_NONPRE
238 #define EGL_ALPHA_FORMAT_PRE EGL_VG_ALPHA_FORMAT_PRE
239 
240 /* EGL extensions must request enum blocks from the Khronos
241  * API Registrar, who maintains the enumerant registry. Submit
242  * a bug in Khronos Bugzilla against task "Registry".
243  */
244 
245 
246 
247 /* EGL Functions */
248 
250 
251 EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id);
252 EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);
253 EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy);
254 
255 EGLAPI const char * EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name);
256 
257 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs,
258  EGLint config_size, EGLint *num_config);
259 EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list,
260  EGLConfig *configs, EGLint config_size,
261  EGLint *num_config);
262 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config,
264 
265 EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,
266  EGLNativeWindowType win,
267  const EGLint *attrib_list);
268 EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config,
269  const EGLint *attrib_list);
270 EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config,
271  EGLNativePixmapType pixmap,
272  const EGLint *attrib_list);
273 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface);
274 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface,
276 
277 EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api);
278 EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void);
279 
280 EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void);
281 
282 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void);
283 
285  EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer,
286  EGLConfig config, const EGLint *attrib_list);
287 
288 EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface,
290 EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
291 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
292 
293 
294 EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval);
295 
296 
297 EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config,
298  EGLContext share_context,
299  const EGLint *attrib_list);
300 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx);
301 EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw,
302  EGLSurface read, EGLContext ctx);
303 
304 EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext(void);
305 EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw);
306 EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay(void);
307 EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx,
309 
310 EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void);
311 EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine);
312 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface);
313 EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface,
314  EGLNativePixmapType target);
315 
316 /* This is a generic function pointer type, whose name indicates it must
317  * be cast to the proper type *and calling convention* before use.
318  */
320 
321 /* Now, define eglGetProcAddress using the generic function ptr. type */
323  eglGetProcAddress(const char *procname);
324 
325 #ifdef __cplusplus
326 }
327 #endif
328 
329 #endif /* __egl_h_ */
EGLSurface EGLint attribute
Definition: eglext.h:301
EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy)
EGLAPI const char *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
Definition: glew.h:1824
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list)
void * EGLConfig
Definition: egl.h:46
EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void)
EGLSurface surface
Definition: eglext.h:74
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list)
EGLAPI EGLint EGLAPIENTRY eglGetError(void)
EGLImageKHR EGLint * name
Definition: eglext.h:284
khronos_int32_t EGLint
Definition: eglplatform.h:127
EGLSurface const EGLint * attrib_list
Definition: eglext.h:74
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list)
EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value)
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname)
void * EGLDisplay
Definition: egl.h:48
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value)
EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)
unsigned int EGLenum
Definition: egl.h:45
void * EGLSurface
Definition: egl.h:49
unsigned int EGLBoolean
Definition: egl.h:44
EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext(void)
EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config)
EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
EGLContext EGLenum target
Definition: eglext.h:87
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx)
void * EGLContext
Definition: egl.h:47
EGLContext EGLenum EGLClientBuffer buffer
Definition: eglext.h:87
#define EGLAPIENTRY
Definition: eglplatform.h:54
void(* __eglMustCastToProperFunctionPointerType)(void)
Definition: egl.h:319
EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list)
EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay(void)
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config)
EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value)
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value)
EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)
EGLSurface EGLint void ** value
Definition: eglext.h:301
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
EGLConfig struct EGLClientPixmapHI * pixmap
Definition: eglext.h:257
void * EGLClientBuffer
Definition: egl.h:50
EGLConfig config
Definition: eglext.h:257
EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void)
EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void)
EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval)
EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine)
EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw)
EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list)
Display * dpy
EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void)
#define EGLAPI
Definition: eglplatform.h:50
EGLContext ctx
Definition: eglext.h:87