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