egl.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  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 OpenGL / OpenGL ES XML
  30. ** API Registry. 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: 6480009b57 $ on $Git commit date: 2017-10-11 22:51:16 -0700 $
  35. */
  36. #include <EGL/eglplatform.h>
  37. /* Generated on date 20171013 */
  38. /* Generated C header for:
  39. * API: egl
  40. * Versions considered: .*
  41. * Versions emitted: .*
  42. * Default extensions included: None
  43. * Additional extensions included: _nomatch_^
  44. * Extensions removed: _nomatch_^
  45. */
  46. #ifndef EGL_VERSION_1_0
  47. #define EGL_VERSION_1_0 1
  48. typedef unsigned int EGLBoolean;
  49. typedef void *EGLDisplay;
  50. #include <KHR/khrplatform.h>
  51. #include <EGL/eglplatform.h>
  52. typedef void *EGLConfig;
  53. typedef void *EGLSurface;
  54. typedef void *EGLContext;
  55. typedef void (*__eglMustCastToProperFunctionPointerType)(void);
  56. #define EGL_ALPHA_SIZE 0x3021
  57. #define EGL_BAD_ACCESS 0x3002
  58. #define EGL_BAD_ALLOC 0x3003
  59. #define EGL_BAD_ATTRIBUTE 0x3004
  60. #define EGL_BAD_CONFIG 0x3005
  61. #define EGL_BAD_CONTEXT 0x3006
  62. #define EGL_BAD_CURRENT_SURFACE 0x3007
  63. #define EGL_BAD_DISPLAY 0x3008
  64. #define EGL_BAD_MATCH 0x3009
  65. #define EGL_BAD_NATIVE_PIXMAP 0x300A
  66. #define EGL_BAD_NATIVE_WINDOW 0x300B
  67. #define EGL_BAD_PARAMETER 0x300C
  68. #define EGL_BAD_SURFACE 0x300D
  69. #define EGL_BLUE_SIZE 0x3022
  70. #define EGL_BUFFER_SIZE 0x3020
  71. #define EGL_CONFIG_CAVEAT 0x3027
  72. #define EGL_CONFIG_ID 0x3028
  73. #define EGL_CORE_NATIVE_ENGINE 0x305B
  74. #define EGL_DEPTH_SIZE 0x3025
  75. #define EGL_DONT_CARE EGL_CAST(EGLint,-1)
  76. #define EGL_DRAW 0x3059
  77. #define EGL_EXTENSIONS 0x3055
  78. #define EGL_FALSE 0
  79. #define EGL_GREEN_SIZE 0x3023
  80. #define EGL_HEIGHT 0x3056
  81. #define EGL_LARGEST_PBUFFER 0x3058
  82. #define EGL_LEVEL 0x3029
  83. #define EGL_MAX_PBUFFER_HEIGHT 0x302A
  84. #define EGL_MAX_PBUFFER_PIXELS 0x302B
  85. #define EGL_MAX_PBUFFER_WIDTH 0x302C
  86. #define EGL_NATIVE_RENDERABLE 0x302D
  87. #define EGL_NATIVE_VISUAL_ID 0x302E
  88. #define EGL_NATIVE_VISUAL_TYPE 0x302F
  89. #define EGL_NONE 0x3038
  90. #define EGL_NON_CONFORMANT_CONFIG 0x3051
  91. #define EGL_NOT_INITIALIZED 0x3001
  92. #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
  93. #define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
  94. #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
  95. #define EGL_PBUFFER_BIT 0x0001
  96. #define EGL_PIXMAP_BIT 0x0002
  97. #define EGL_READ 0x305A
  98. #define EGL_RED_SIZE 0x3024
  99. #define EGL_SAMPLES 0x3031
  100. #define EGL_SAMPLE_BUFFERS 0x3032
  101. #define EGL_SLOW_CONFIG 0x3050
  102. #define EGL_STENCIL_SIZE 0x3026
  103. #define EGL_SUCCESS 0x3000
  104. #define EGL_SURFACE_TYPE 0x3033
  105. #define EGL_TRANSPARENT_BLUE_VALUE 0x3035
  106. #define EGL_TRANSPARENT_GREEN_VALUE 0x3036
  107. #define EGL_TRANSPARENT_RED_VALUE 0x3037
  108. #define EGL_TRANSPARENT_RGB 0x3052
  109. #define EGL_TRANSPARENT_TYPE 0x3034
  110. #define EGL_TRUE 1
  111. #define EGL_VENDOR 0x3053
  112. #define EGL_VERSION 0x3054
  113. #define EGL_WIDTH 0x3057
  114. #define EGL_WINDOW_BIT 0x0004
  115. EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
  116. EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
  117. EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
  118. EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
  119. EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
  120. EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
  121. EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
  122. EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
  123. EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
  124. EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
  125. EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
  126. EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
  127. EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
  128. EGLAPI EGLint EGLAPIENTRY eglGetError (void);
  129. EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
  130. EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
  131. EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
  132. EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
  133. EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
  134. EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
  135. EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
  136. EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
  137. EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
  138. EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
  139. #endif /* EGL_VERSION_1_0 */
  140. #ifndef EGL_VERSION_1_1
  141. #define EGL_VERSION_1_1 1
  142. #define EGL_BACK_BUFFER 0x3084
  143. #define EGL_BIND_TO_TEXTURE_RGB 0x3039
  144. #define EGL_BIND_TO_TEXTURE_RGBA 0x303A
  145. #define EGL_CONTEXT_LOST 0x300E
  146. #define EGL_MIN_SWAP_INTERVAL 0x303B
  147. #define EGL_MAX_SWAP_INTERVAL 0x303C
  148. #define EGL_MIPMAP_TEXTURE 0x3082
  149. #define EGL_MIPMAP_LEVEL 0x3083
  150. #define EGL_NO_TEXTURE 0x305C
  151. #define EGL_TEXTURE_2D 0x305F
  152. #define EGL_TEXTURE_FORMAT 0x3080
  153. #define EGL_TEXTURE_RGB 0x305D
  154. #define EGL_TEXTURE_RGBA 0x305E
  155. #define EGL_TEXTURE_TARGET 0x3081
  156. EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
  157. EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
  158. EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
  159. EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
  160. #endif /* EGL_VERSION_1_1 */
  161. #ifndef EGL_VERSION_1_2
  162. #define EGL_VERSION_1_2 1
  163. typedef unsigned int EGLenum;
  164. typedef void *EGLClientBuffer;
  165. #define EGL_ALPHA_FORMAT 0x3088
  166. #define EGL_ALPHA_FORMAT_NONPRE 0x308B
  167. #define EGL_ALPHA_FORMAT_PRE 0x308C
  168. #define EGL_ALPHA_MASK_SIZE 0x303E
  169. #define EGL_BUFFER_PRESERVED 0x3094
  170. #define EGL_BUFFER_DESTROYED 0x3095
  171. #define EGL_CLIENT_APIS 0x308D
  172. #define EGL_COLORSPACE 0x3087
  173. #define EGL_COLORSPACE_sRGB 0x3089
  174. #define EGL_COLORSPACE_LINEAR 0x308A
  175. #define EGL_COLOR_BUFFER_TYPE 0x303F
  176. #define EGL_CONTEXT_CLIENT_TYPE 0x3097
  177. #define EGL_DISPLAY_SCALING 10000
  178. #define EGL_HORIZONTAL_RESOLUTION 0x3090
  179. #define EGL_LUMINANCE_BUFFER 0x308F
  180. #define EGL_LUMINANCE_SIZE 0x303D
  181. #define EGL_OPENGL_ES_BIT 0x0001
  182. #define EGL_OPENVG_BIT 0x0002
  183. #define EGL_OPENGL_ES_API 0x30A0
  184. #define EGL_OPENVG_API 0x30A1
  185. #define EGL_OPENVG_IMAGE 0x3096
  186. #define EGL_PIXEL_ASPECT_RATIO 0x3092
  187. #define EGL_RENDERABLE_TYPE 0x3040
  188. #define EGL_RENDER_BUFFER 0x3086
  189. #define EGL_RGB_BUFFER 0x308E
  190. #define EGL_SINGLE_BUFFER 0x3085
  191. #define EGL_SWAP_BEHAVIOR 0x3093
  192. #define EGL_UNKNOWN EGL_CAST(EGLint,-1)
  193. #define EGL_VERTICAL_RESOLUTION 0x3091
  194. EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
  195. EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
  196. EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
  197. EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
  198. EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
  199. #endif /* EGL_VERSION_1_2 */
  200. #ifndef EGL_VERSION_1_3
  201. #define EGL_VERSION_1_3 1
  202. #define EGL_CONFORMANT 0x3042
  203. #define EGL_CONTEXT_CLIENT_VERSION 0x3098
  204. #define EGL_MATCH_NATIVE_PIXMAP 0x3041
  205. #define EGL_OPENGL_ES2_BIT 0x0004
  206. #define EGL_VG_ALPHA_FORMAT 0x3088
  207. #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
  208. #define EGL_VG_ALPHA_FORMAT_PRE 0x308C
  209. #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
  210. #define EGL_VG_COLORSPACE 0x3087
  211. #define EGL_VG_COLORSPACE_sRGB 0x3089
  212. #define EGL_VG_COLORSPACE_LINEAR 0x308A
  213. #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
  214. #endif /* EGL_VERSION_1_3 */
  215. #ifndef EGL_VERSION_1_4
  216. #define EGL_VERSION_1_4 1
  217. #define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
  218. #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
  219. #define EGL_MULTISAMPLE_RESOLVE 0x3099
  220. #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
  221. #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
  222. #define EGL_OPENGL_API 0x30A2
  223. #define EGL_OPENGL_BIT 0x0008
  224. #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
  225. EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
  226. #endif /* EGL_VERSION_1_4 */
  227. #ifndef EGL_VERSION_1_5
  228. #define EGL_VERSION_1_5 1
  229. typedef void *EGLSync;
  230. typedef intptr_t EGLAttrib;
  231. typedef khronos_utime_nanoseconds_t EGLTime;
  232. typedef void *EGLImage;
  233. #define EGL_CONTEXT_MAJOR_VERSION 0x3098
  234. #define EGL_CONTEXT_MINOR_VERSION 0x30FB
  235. #define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
  236. #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
  237. #define EGL_NO_RESET_NOTIFICATION 0x31BE
  238. #define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
  239. #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
  240. #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
  241. #define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
  242. #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
  243. #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
  244. #define EGL_OPENGL_ES3_BIT 0x00000040
  245. #define EGL_CL_EVENT_HANDLE 0x309C
  246. #define EGL_SYNC_CL_EVENT 0x30FE
  247. #define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
  248. #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
  249. #define EGL_SYNC_TYPE 0x30F7
  250. #define EGL_SYNC_STATUS 0x30F1
  251. #define EGL_SYNC_CONDITION 0x30F8
  252. #define EGL_SIGNALED 0x30F2
  253. #define EGL_UNSIGNALED 0x30F3
  254. #define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
  255. #define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
  256. #define EGL_TIMEOUT_EXPIRED 0x30F5
  257. #define EGL_CONDITION_SATISFIED 0x30F6
  258. #define EGL_NO_SYNC EGL_CAST(EGLSync,0)
  259. #define EGL_SYNC_FENCE 0x30F9
  260. #define EGL_GL_COLORSPACE 0x309D
  261. #define EGL_GL_COLORSPACE_SRGB 0x3089
  262. #define EGL_GL_COLORSPACE_LINEAR 0x308A
  263. #define EGL_GL_RENDERBUFFER 0x30B9
  264. #define EGL_GL_TEXTURE_2D 0x30B1
  265. #define EGL_GL_TEXTURE_LEVEL 0x30BC
  266. #define EGL_GL_TEXTURE_3D 0x30B2
  267. #define EGL_GL_TEXTURE_ZOFFSET 0x30BD
  268. #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
  269. #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
  270. #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
  271. #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
  272. #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
  273. #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
  274. #define EGL_IMAGE_PRESERVED 0x30D2
  275. #define EGL_NO_IMAGE EGL_CAST(EGLImage,0)
  276. EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
  277. EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
  278. EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
  279. EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
  280. EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
  281. EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
  282. EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
  283. EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
  284. EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
  285. EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
  286. #endif /* EGL_VERSION_1_5 */
  287. #ifdef __cplusplus
  288. }
  289. #endif
  290. #endif