egl.h 20 KB

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