gl_bindings_autogen_egl.h 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883
  1. // Copyright 2016 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. //
  5. // This file is auto-generated from
  6. // ui/gl/generate_bindings.py
  7. // It's formatted by clang-format using chromium coding style:
  8. // clang-format -i -style=chromium filename
  9. // DO NOT EDIT!
  10. #ifndef UI_GL_GL_BINDINGS_AUTOGEN_EGL_H_
  11. #define UI_GL_GL_BINDINGS_AUTOGEN_EGL_H_
  12. #include <string>
  13. namespace gl {
  14. class GLContext;
  15. typedef EGLBoolean(GL_BINDING_CALL* eglBindAPIProc)(EGLenum api);
  16. typedef EGLBoolean(GL_BINDING_CALL* eglBindTexImageProc)(EGLDisplay dpy,
  17. EGLSurface surface,
  18. EGLint buffer);
  19. typedef EGLBoolean(GL_BINDING_CALL* eglChooseConfigProc)(
  20. EGLDisplay dpy,
  21. const EGLint* attrib_list,
  22. EGLConfig* configs,
  23. EGLint config_size,
  24. EGLint* num_config);
  25. typedef EGLint(GL_BINDING_CALL* eglClientWaitSyncKHRProc)(EGLDisplay dpy,
  26. EGLSyncKHR sync,
  27. EGLint flags,
  28. EGLTimeKHR timeout);
  29. typedef EGLBoolean(GL_BINDING_CALL* eglCopyBuffersProc)(
  30. EGLDisplay dpy,
  31. EGLSurface surface,
  32. EGLNativePixmapType target);
  33. typedef EGLContext(GL_BINDING_CALL* eglCreateContextProc)(
  34. EGLDisplay dpy,
  35. EGLConfig config,
  36. EGLContext share_context,
  37. const EGLint* attrib_list);
  38. typedef EGLImageKHR(GL_BINDING_CALL* eglCreateImageKHRProc)(
  39. EGLDisplay dpy,
  40. EGLContext ctx,
  41. EGLenum target,
  42. EGLClientBuffer buffer,
  43. const EGLint* attrib_list);
  44. typedef EGLSurface(GL_BINDING_CALL* eglCreatePbufferFromClientBufferProc)(
  45. EGLDisplay dpy,
  46. EGLenum buftype,
  47. void* buffer,
  48. EGLConfig config,
  49. const EGLint* attrib_list);
  50. typedef EGLSurface(GL_BINDING_CALL* eglCreatePbufferSurfaceProc)(
  51. EGLDisplay dpy,
  52. EGLConfig config,
  53. const EGLint* attrib_list);
  54. typedef EGLSurface(GL_BINDING_CALL* eglCreatePixmapSurfaceProc)(
  55. EGLDisplay dpy,
  56. EGLConfig config,
  57. EGLNativePixmapType pixmap,
  58. const EGLint* attrib_list);
  59. typedef EGLStreamKHR(GL_BINDING_CALL* eglCreateStreamKHRProc)(
  60. EGLDisplay dpy,
  61. const EGLint* attrib_list);
  62. typedef EGLBoolean(GL_BINDING_CALL* eglCreateStreamProducerD3DTextureANGLEProc)(
  63. EGLDisplay dpy,
  64. EGLStreamKHR stream,
  65. EGLAttrib* attrib_list);
  66. typedef EGLSyncKHR(GL_BINDING_CALL* eglCreateSyncKHRProc)(
  67. EGLDisplay dpy,
  68. EGLenum type,
  69. const EGLint* attrib_list);
  70. typedef EGLSurface(GL_BINDING_CALL* eglCreateWindowSurfaceProc)(
  71. EGLDisplay dpy,
  72. EGLConfig config,
  73. EGLNativeWindowType win,
  74. const EGLint* attrib_list);
  75. typedef EGLint(GL_BINDING_CALL* eglDebugMessageControlKHRProc)(
  76. EGLDEBUGPROCKHR callback,
  77. const EGLAttrib* attrib_list);
  78. typedef EGLBoolean(GL_BINDING_CALL* eglDestroyContextProc)(EGLDisplay dpy,
  79. EGLContext ctx);
  80. typedef EGLBoolean(GL_BINDING_CALL* eglDestroyImageKHRProc)(EGLDisplay dpy,
  81. EGLImageKHR image);
  82. typedef EGLBoolean(GL_BINDING_CALL* eglDestroyStreamKHRProc)(
  83. EGLDisplay dpy,
  84. EGLStreamKHR stream);
  85. typedef EGLBoolean(GL_BINDING_CALL* eglDestroySurfaceProc)(EGLDisplay dpy,
  86. EGLSurface surface);
  87. typedef EGLBoolean(GL_BINDING_CALL* eglDestroySyncKHRProc)(EGLDisplay dpy,
  88. EGLSyncKHR sync);
  89. typedef EGLint(GL_BINDING_CALL* eglDupNativeFenceFDANDROIDProc)(
  90. EGLDisplay dpy,
  91. EGLSyncKHR sync);
  92. typedef EGLBoolean(GL_BINDING_CALL* eglExportDMABUFImageMESAProc)(
  93. EGLDisplay dpy,
  94. EGLImageKHR image,
  95. int* fds,
  96. EGLint* strides,
  97. EGLint* offsets);
  98. typedef EGLBoolean(GL_BINDING_CALL* eglExportDMABUFImageQueryMESAProc)(
  99. EGLDisplay dpy,
  100. EGLImageKHR image,
  101. int* fourcc,
  102. int* num_planes,
  103. EGLuint64KHR* modifiers);
  104. typedef EGLBoolean(GL_BINDING_CALL* eglExportVkImageANGLEProc)(
  105. EGLDisplay dpy,
  106. EGLImageKHR image,
  107. void* vk_image,
  108. void* vk_image_create_info);
  109. typedef EGLBoolean(GL_BINDING_CALL* eglGetCompositorTimingANDROIDProc)(
  110. EGLDisplay dpy,
  111. EGLSurface surface,
  112. EGLint numTimestamps,
  113. EGLint* names,
  114. EGLnsecsANDROID* values);
  115. typedef EGLBoolean(GL_BINDING_CALL* eglGetCompositorTimingSupportedANDROIDProc)(
  116. EGLDisplay dpy,
  117. EGLSurface surface,
  118. EGLint timestamp);
  119. typedef EGLBoolean(GL_BINDING_CALL* eglGetConfigAttribProc)(EGLDisplay dpy,
  120. EGLConfig config,
  121. EGLint attribute,
  122. EGLint* value);
  123. typedef EGLBoolean(GL_BINDING_CALL* eglGetConfigsProc)(EGLDisplay dpy,
  124. EGLConfig* configs,
  125. EGLint config_size,
  126. EGLint* num_config);
  127. typedef EGLContext(GL_BINDING_CALL* eglGetCurrentContextProc)(void);
  128. typedef EGLDisplay(GL_BINDING_CALL* eglGetCurrentDisplayProc)(void);
  129. typedef EGLSurface(GL_BINDING_CALL* eglGetCurrentSurfaceProc)(EGLint readdraw);
  130. typedef EGLDisplay(GL_BINDING_CALL* eglGetDisplayProc)(
  131. EGLNativeDisplayType display_id);
  132. typedef EGLint(GL_BINDING_CALL* eglGetErrorProc)(void);
  133. typedef EGLBoolean(GL_BINDING_CALL* eglGetFrameTimestampsANDROIDProc)(
  134. EGLDisplay dpy,
  135. EGLSurface surface,
  136. EGLuint64KHR frameId,
  137. EGLint numTimestamps,
  138. EGLint* timestamps,
  139. EGLnsecsANDROID* values);
  140. typedef EGLBoolean(GL_BINDING_CALL* eglGetFrameTimestampSupportedANDROIDProc)(
  141. EGLDisplay dpy,
  142. EGLSurface surface,
  143. EGLint timestamp);
  144. typedef EGLBoolean(GL_BINDING_CALL* eglGetMscRateANGLEProc)(
  145. EGLDisplay dpy,
  146. EGLSurface surface,
  147. EGLint* numerator,
  148. EGLint* denominator);
  149. typedef EGLClientBuffer(GL_BINDING_CALL* eglGetNativeClientBufferANDROIDProc)(
  150. const struct AHardwareBuffer* ahardwarebuffer);
  151. typedef EGLBoolean(GL_BINDING_CALL* eglGetNextFrameIdANDROIDProc)(
  152. EGLDisplay dpy,
  153. EGLSurface surface,
  154. EGLuint64KHR* frameId);
  155. typedef EGLDisplay(GL_BINDING_CALL* eglGetPlatformDisplayProc)(
  156. EGLenum platform,
  157. void* native_display,
  158. const EGLAttrib* attrib_list);
  159. typedef __eglMustCastToProperFunctionPointerType(
  160. GL_BINDING_CALL* eglGetProcAddressProc)(const char* procname);
  161. typedef EGLBoolean(GL_BINDING_CALL* eglGetSyncAttribKHRProc)(EGLDisplay dpy,
  162. EGLSyncKHR sync,
  163. EGLint attribute,
  164. EGLint* value);
  165. typedef EGLBoolean(GL_BINDING_CALL* eglGetSyncValuesCHROMIUMProc)(
  166. EGLDisplay dpy,
  167. EGLSurface surface,
  168. EGLuint64CHROMIUM* ust,
  169. EGLuint64CHROMIUM* msc,
  170. EGLuint64CHROMIUM* sbc);
  171. typedef void(GL_BINDING_CALL* eglHandleGPUSwitchANGLEProc)(EGLDisplay dpy);
  172. typedef EGLBoolean(GL_BINDING_CALL* eglImageFlushExternalEXTProc)(
  173. EGLDisplay dpy,
  174. EGLImageKHR image,
  175. const EGLAttrib* attrib_list);
  176. typedef EGLBoolean(GL_BINDING_CALL* eglInitializeProc)(EGLDisplay dpy,
  177. EGLint* major,
  178. EGLint* minor);
  179. typedef EGLint(GL_BINDING_CALL* eglLabelObjectKHRProc)(EGLDisplay display,
  180. EGLenum objectType,
  181. EGLObjectKHR object,
  182. EGLLabelKHR label);
  183. typedef EGLBoolean(GL_BINDING_CALL* eglMakeCurrentProc)(EGLDisplay dpy,
  184. EGLSurface draw,
  185. EGLSurface read,
  186. EGLContext ctx);
  187. typedef EGLBoolean(GL_BINDING_CALL* eglPostSubBufferNVProc)(EGLDisplay dpy,
  188. EGLSurface surface,
  189. EGLint x,
  190. EGLint y,
  191. EGLint width,
  192. EGLint height);
  193. typedef EGLenum(GL_BINDING_CALL* eglQueryAPIProc)(void);
  194. typedef EGLBoolean(GL_BINDING_CALL* eglQueryContextProc)(EGLDisplay dpy,
  195. EGLContext ctx,
  196. EGLint attribute,
  197. EGLint* value);
  198. typedef EGLBoolean(GL_BINDING_CALL* eglQueryDebugKHRProc)(EGLint attribute,
  199. EGLAttrib* value);
  200. typedef EGLBoolean(GL_BINDING_CALL* eglQueryDeviceAttribEXTProc)(
  201. EGLDeviceEXT device,
  202. EGLint attribute,
  203. EGLAttrib* value);
  204. typedef EGLBoolean(GL_BINDING_CALL* eglQueryDevicesEXTProc)(
  205. EGLint max_devices,
  206. EGLDeviceEXT* devices,
  207. EGLint* num_devices);
  208. typedef const char*(GL_BINDING_CALL* eglQueryDeviceStringEXTProc)(
  209. EGLDeviceEXT device,
  210. EGLint name);
  211. typedef EGLBoolean(GL_BINDING_CALL* eglQueryDisplayAttribANGLEProc)(
  212. EGLDisplay dpy,
  213. EGLint attribute,
  214. EGLAttrib* value);
  215. typedef EGLBoolean(GL_BINDING_CALL* eglQueryDisplayAttribEXTProc)(
  216. EGLDisplay dpy,
  217. EGLint attribute,
  218. EGLAttrib* value);
  219. typedef EGLBoolean(GL_BINDING_CALL* eglQueryDmaBufFormatsEXTProc)(
  220. EGLDisplay dpy,
  221. EGLint max_formats,
  222. EGLint* formats,
  223. EGLint* num_formats);
  224. typedef EGLBoolean(GL_BINDING_CALL* eglQueryDmaBufModifiersEXTProc)(
  225. EGLDisplay dpy,
  226. EGLint format,
  227. EGLint max_modifiers,
  228. EGLuint64KHR* modifiers,
  229. EGLBoolean* external_only,
  230. EGLint* num_modifiers);
  231. typedef EGLBoolean(GL_BINDING_CALL* eglQueryStreamKHRProc)(EGLDisplay dpy,
  232. EGLStreamKHR stream,
  233. EGLenum attribute,
  234. EGLint* value);
  235. typedef EGLBoolean(GL_BINDING_CALL* eglQueryStreamu64KHRProc)(
  236. EGLDisplay dpy,
  237. EGLStreamKHR stream,
  238. EGLenum attribute,
  239. EGLuint64KHR* value);
  240. typedef const char*(GL_BINDING_CALL* eglQueryStringProc)(EGLDisplay dpy,
  241. EGLint name);
  242. typedef const char*(GL_BINDING_CALL* eglQueryStringiANGLEProc)(EGLDisplay dpy,
  243. EGLint name,
  244. EGLint index);
  245. typedef EGLBoolean(GL_BINDING_CALL* eglQuerySurfaceProc)(EGLDisplay dpy,
  246. EGLSurface surface,
  247. EGLint attribute,
  248. EGLint* value);
  249. typedef EGLBoolean(GL_BINDING_CALL* eglQuerySurfacePointerANGLEProc)(
  250. EGLDisplay dpy,
  251. EGLSurface surface,
  252. EGLint attribute,
  253. void** value);
  254. typedef void(GL_BINDING_CALL* eglReacquireHighPowerGPUANGLEProc)(
  255. EGLDisplay dpy,
  256. EGLContext ctx);
  257. typedef void(GL_BINDING_CALL* eglReleaseHighPowerGPUANGLEProc)(EGLDisplay dpy,
  258. EGLContext ctx);
  259. typedef EGLBoolean(GL_BINDING_CALL* eglReleaseTexImageProc)(EGLDisplay dpy,
  260. EGLSurface surface,
  261. EGLint buffer);
  262. typedef EGLBoolean(GL_BINDING_CALL* eglReleaseThreadProc)(void);
  263. typedef void(GL_BINDING_CALL* eglSetBlobCacheFuncsANDROIDProc)(
  264. EGLDisplay dpy,
  265. EGLSetBlobFuncANDROID set,
  266. EGLGetBlobFuncANDROID get);
  267. typedef EGLBoolean(GL_BINDING_CALL* eglStreamAttribKHRProc)(EGLDisplay dpy,
  268. EGLStreamKHR stream,
  269. EGLenum attribute,
  270. EGLint value);
  271. typedef EGLBoolean(GL_BINDING_CALL* eglStreamConsumerAcquireKHRProc)(
  272. EGLDisplay dpy,
  273. EGLStreamKHR stream);
  274. typedef EGLBoolean(
  275. GL_BINDING_CALL* eglStreamConsumerGLTextureExternalAttribsNVProc)(
  276. EGLDisplay dpy,
  277. EGLStreamKHR stream,
  278. EGLAttrib* attrib_list);
  279. typedef EGLBoolean(GL_BINDING_CALL* eglStreamConsumerGLTextureExternalKHRProc)(
  280. EGLDisplay dpy,
  281. EGLStreamKHR stream);
  282. typedef EGLBoolean(GL_BINDING_CALL* eglStreamConsumerReleaseKHRProc)(
  283. EGLDisplay dpy,
  284. EGLStreamKHR stream);
  285. typedef EGLBoolean(GL_BINDING_CALL* eglStreamPostD3DTextureANGLEProc)(
  286. EGLDisplay dpy,
  287. EGLStreamKHR stream,
  288. void* texture,
  289. const EGLAttrib* attrib_list);
  290. typedef EGLBoolean(GL_BINDING_CALL* eglSurfaceAttribProc)(EGLDisplay dpy,
  291. EGLSurface surface,
  292. EGLint attribute,
  293. EGLint value);
  294. typedef EGLBoolean(GL_BINDING_CALL* eglSwapBuffersProc)(EGLDisplay dpy,
  295. EGLSurface surface);
  296. typedef EGLBoolean(GL_BINDING_CALL* eglSwapBuffersWithDamageKHRProc)(
  297. EGLDisplay dpy,
  298. EGLSurface surface,
  299. EGLint* rects,
  300. EGLint n_rects);
  301. typedef EGLBoolean(GL_BINDING_CALL* eglSwapIntervalProc)(EGLDisplay dpy,
  302. EGLint interval);
  303. typedef EGLBoolean(GL_BINDING_CALL* eglTerminateProc)(EGLDisplay dpy);
  304. typedef EGLBoolean(GL_BINDING_CALL* eglWaitClientProc)(void);
  305. typedef EGLBoolean(GL_BINDING_CALL* eglWaitGLProc)(void);
  306. typedef EGLBoolean(GL_BINDING_CALL* eglWaitNativeProc)(EGLint engine);
  307. typedef EGLint(GL_BINDING_CALL* eglWaitSyncKHRProc)(EGLDisplay dpy,
  308. EGLSyncKHR sync,
  309. EGLint flags);
  310. struct GL_EXPORT ClientExtensionsEGL {
  311. bool b_EGL_ANGLE_display_power_preference;
  312. bool b_EGL_ANGLE_feature_control;
  313. bool b_EGL_ANGLE_platform_angle;
  314. bool b_EGL_ANGLE_platform_angle_d3d;
  315. bool b_EGL_ANGLE_platform_angle_device_id;
  316. bool b_EGL_ANGLE_platform_angle_device_type_egl_angle;
  317. bool b_EGL_ANGLE_platform_angle_device_type_swiftshader;
  318. bool b_EGL_ANGLE_platform_angle_metal;
  319. bool b_EGL_ANGLE_platform_angle_null;
  320. bool b_EGL_ANGLE_platform_angle_opengl;
  321. bool b_EGL_ANGLE_platform_angle_vulkan;
  322. bool b_EGL_EXT_device_base;
  323. bool b_EGL_EXT_device_enumeration;
  324. bool b_EGL_EXT_device_query;
  325. bool b_EGL_EXT_platform_device;
  326. bool b_EGL_KHR_debug;
  327. bool b_EGL_MESA_platform_surfaceless;
  328. void InitializeClientExtensionSettings();
  329. private:
  330. static std::string GetClientExtensions();
  331. };
  332. struct GL_EXPORT DisplayExtensionsEGL {
  333. bool b_EGL_ANDROID_blob_cache;
  334. bool b_EGL_ANDROID_create_native_client_buffer;
  335. bool b_EGL_ANDROID_front_buffer_auto_refresh;
  336. bool b_EGL_ANDROID_get_frame_timestamps;
  337. bool b_EGL_ANDROID_get_native_client_buffer;
  338. bool b_EGL_ANDROID_native_fence_sync;
  339. bool b_EGL_ANGLE_context_virtualization;
  340. bool b_EGL_ANGLE_create_context_backwards_compatible;
  341. bool b_EGL_ANGLE_create_context_client_arrays;
  342. bool b_EGL_ANGLE_create_context_webgl_compatibility;
  343. bool b_EGL_ANGLE_d3d_share_handle_client_buffer;
  344. bool b_EGL_ANGLE_display_semaphore_share_group;
  345. bool b_EGL_ANGLE_display_texture_share_group;
  346. bool b_EGL_ANGLE_external_context_and_surface;
  347. bool b_EGL_ANGLE_keyed_mutex;
  348. bool b_EGL_ANGLE_power_preference;
  349. bool b_EGL_ANGLE_program_cache_control;
  350. bool b_EGL_ANGLE_query_surface_pointer;
  351. bool b_EGL_ANGLE_robust_resource_initialization;
  352. bool b_EGL_ANGLE_stream_producer_d3d_texture;
  353. bool b_EGL_ANGLE_surface_d3d_texture_2d_share_handle;
  354. bool b_EGL_ANGLE_surface_orientation;
  355. bool b_EGL_ANGLE_sync_control_rate;
  356. bool b_EGL_ANGLE_vulkan_image;
  357. bool b_EGL_ANGLE_window_fixed_size;
  358. bool b_EGL_ARM_implicit_external_sync;
  359. bool b_EGL_CHROMIUM_create_context_bind_generates_resource;
  360. bool b_EGL_CHROMIUM_sync_control;
  361. bool b_EGL_EXT_create_context_robustness;
  362. bool b_EGL_EXT_gl_colorspace_display_p3;
  363. bool b_EGL_EXT_gl_colorspace_display_p3_passthrough;
  364. bool b_EGL_EXT_image_dma_buf_import;
  365. bool b_EGL_EXT_image_dma_buf_import_modifiers;
  366. bool b_EGL_EXT_image_flush_external;
  367. bool b_EGL_EXT_pixel_format_float;
  368. bool b_EGL_IMG_context_priority;
  369. bool b_EGL_KHR_create_context;
  370. bool b_EGL_KHR_fence_sync;
  371. bool b_EGL_KHR_gl_colorspace;
  372. bool b_EGL_KHR_gl_texture_2D_image;
  373. bool b_EGL_KHR_image;
  374. bool b_EGL_KHR_image_base;
  375. bool b_EGL_KHR_no_config_context;
  376. bool b_EGL_KHR_stream;
  377. bool b_EGL_KHR_stream_consumer_gltexture;
  378. bool b_EGL_KHR_surfaceless_context;
  379. bool b_EGL_KHR_swap_buffers_with_damage;
  380. bool b_EGL_KHR_wait_sync;
  381. bool b_EGL_MESA_image_dma_buf_export;
  382. bool b_EGL_NOK_texture_from_pixmap;
  383. bool b_EGL_NV_post_sub_buffer;
  384. bool b_EGL_NV_robustness_video_memory_purge;
  385. bool b_EGL_NV_stream_consumer_gltexture_yuv;
  386. bool b_GL_CHROMIUM_egl_android_native_fence_sync_hack;
  387. bool b_GL_CHROMIUM_egl_khr_fence_sync_hack;
  388. void InitializeExtensionSettings(EGLDisplay display);
  389. void UpdateConditionalExtensionSettings(EGLDisplay display);
  390. static std::string GetPlatformExtensions(EGLDisplay display);
  391. };
  392. struct ProcsEGL {
  393. eglBindAPIProc eglBindAPIFn;
  394. eglBindTexImageProc eglBindTexImageFn;
  395. eglChooseConfigProc eglChooseConfigFn;
  396. eglClientWaitSyncKHRProc eglClientWaitSyncKHRFn;
  397. eglCopyBuffersProc eglCopyBuffersFn;
  398. eglCreateContextProc eglCreateContextFn;
  399. eglCreateImageKHRProc eglCreateImageKHRFn;
  400. eglCreatePbufferFromClientBufferProc eglCreatePbufferFromClientBufferFn;
  401. eglCreatePbufferSurfaceProc eglCreatePbufferSurfaceFn;
  402. eglCreatePixmapSurfaceProc eglCreatePixmapSurfaceFn;
  403. eglCreateStreamKHRProc eglCreateStreamKHRFn;
  404. eglCreateStreamProducerD3DTextureANGLEProc
  405. eglCreateStreamProducerD3DTextureANGLEFn;
  406. eglCreateSyncKHRProc eglCreateSyncKHRFn;
  407. eglCreateWindowSurfaceProc eglCreateWindowSurfaceFn;
  408. eglDebugMessageControlKHRProc eglDebugMessageControlKHRFn;
  409. eglDestroyContextProc eglDestroyContextFn;
  410. eglDestroyImageKHRProc eglDestroyImageKHRFn;
  411. eglDestroyStreamKHRProc eglDestroyStreamKHRFn;
  412. eglDestroySurfaceProc eglDestroySurfaceFn;
  413. eglDestroySyncKHRProc eglDestroySyncKHRFn;
  414. eglDupNativeFenceFDANDROIDProc eglDupNativeFenceFDANDROIDFn;
  415. eglExportDMABUFImageMESAProc eglExportDMABUFImageMESAFn;
  416. eglExportDMABUFImageQueryMESAProc eglExportDMABUFImageQueryMESAFn;
  417. eglExportVkImageANGLEProc eglExportVkImageANGLEFn;
  418. eglGetCompositorTimingANDROIDProc eglGetCompositorTimingANDROIDFn;
  419. eglGetCompositorTimingSupportedANDROIDProc
  420. eglGetCompositorTimingSupportedANDROIDFn;
  421. eglGetConfigAttribProc eglGetConfigAttribFn;
  422. eglGetConfigsProc eglGetConfigsFn;
  423. eglGetCurrentContextProc eglGetCurrentContextFn;
  424. eglGetCurrentDisplayProc eglGetCurrentDisplayFn;
  425. eglGetCurrentSurfaceProc eglGetCurrentSurfaceFn;
  426. eglGetDisplayProc eglGetDisplayFn;
  427. eglGetErrorProc eglGetErrorFn;
  428. eglGetFrameTimestampsANDROIDProc eglGetFrameTimestampsANDROIDFn;
  429. eglGetFrameTimestampSupportedANDROIDProc
  430. eglGetFrameTimestampSupportedANDROIDFn;
  431. eglGetMscRateANGLEProc eglGetMscRateANGLEFn;
  432. eglGetNativeClientBufferANDROIDProc eglGetNativeClientBufferANDROIDFn;
  433. eglGetNextFrameIdANDROIDProc eglGetNextFrameIdANDROIDFn;
  434. eglGetPlatformDisplayProc eglGetPlatformDisplayFn;
  435. eglGetProcAddressProc eglGetProcAddressFn;
  436. eglGetSyncAttribKHRProc eglGetSyncAttribKHRFn;
  437. eglGetSyncValuesCHROMIUMProc eglGetSyncValuesCHROMIUMFn;
  438. eglHandleGPUSwitchANGLEProc eglHandleGPUSwitchANGLEFn;
  439. eglImageFlushExternalEXTProc eglImageFlushExternalEXTFn;
  440. eglInitializeProc eglInitializeFn;
  441. eglLabelObjectKHRProc eglLabelObjectKHRFn;
  442. eglMakeCurrentProc eglMakeCurrentFn;
  443. eglPostSubBufferNVProc eglPostSubBufferNVFn;
  444. eglQueryAPIProc eglQueryAPIFn;
  445. eglQueryContextProc eglQueryContextFn;
  446. eglQueryDebugKHRProc eglQueryDebugKHRFn;
  447. eglQueryDeviceAttribEXTProc eglQueryDeviceAttribEXTFn;
  448. eglQueryDevicesEXTProc eglQueryDevicesEXTFn;
  449. eglQueryDeviceStringEXTProc eglQueryDeviceStringEXTFn;
  450. eglQueryDisplayAttribANGLEProc eglQueryDisplayAttribANGLEFn;
  451. eglQueryDisplayAttribEXTProc eglQueryDisplayAttribEXTFn;
  452. eglQueryDmaBufFormatsEXTProc eglQueryDmaBufFormatsEXTFn;
  453. eglQueryDmaBufModifiersEXTProc eglQueryDmaBufModifiersEXTFn;
  454. eglQueryStreamKHRProc eglQueryStreamKHRFn;
  455. eglQueryStreamu64KHRProc eglQueryStreamu64KHRFn;
  456. eglQueryStringProc eglQueryStringFn;
  457. eglQueryStringiANGLEProc eglQueryStringiANGLEFn;
  458. eglQuerySurfaceProc eglQuerySurfaceFn;
  459. eglQuerySurfacePointerANGLEProc eglQuerySurfacePointerANGLEFn;
  460. eglReacquireHighPowerGPUANGLEProc eglReacquireHighPowerGPUANGLEFn;
  461. eglReleaseHighPowerGPUANGLEProc eglReleaseHighPowerGPUANGLEFn;
  462. eglReleaseTexImageProc eglReleaseTexImageFn;
  463. eglReleaseThreadProc eglReleaseThreadFn;
  464. eglSetBlobCacheFuncsANDROIDProc eglSetBlobCacheFuncsANDROIDFn;
  465. eglStreamAttribKHRProc eglStreamAttribKHRFn;
  466. eglStreamConsumerAcquireKHRProc eglStreamConsumerAcquireKHRFn;
  467. eglStreamConsumerGLTextureExternalAttribsNVProc
  468. eglStreamConsumerGLTextureExternalAttribsNVFn;
  469. eglStreamConsumerGLTextureExternalKHRProc
  470. eglStreamConsumerGLTextureExternalKHRFn;
  471. eglStreamConsumerReleaseKHRProc eglStreamConsumerReleaseKHRFn;
  472. eglStreamPostD3DTextureANGLEProc eglStreamPostD3DTextureANGLEFn;
  473. eglSurfaceAttribProc eglSurfaceAttribFn;
  474. eglSwapBuffersProc eglSwapBuffersFn;
  475. eglSwapBuffersWithDamageKHRProc eglSwapBuffersWithDamageKHRFn;
  476. eglSwapIntervalProc eglSwapIntervalFn;
  477. eglTerminateProc eglTerminateFn;
  478. eglWaitClientProc eglWaitClientFn;
  479. eglWaitGLProc eglWaitGLFn;
  480. eglWaitNativeProc eglWaitNativeFn;
  481. eglWaitSyncKHRProc eglWaitSyncKHRFn;
  482. };
  483. class GL_EXPORT EGLApi {
  484. public:
  485. EGLApi();
  486. virtual ~EGLApi();
  487. virtual void SetDisabledExtensions(const std::string& disabled_extensions) {}
  488. virtual EGLBoolean eglBindAPIFn(EGLenum api) = 0;
  489. virtual EGLBoolean eglBindTexImageFn(EGLDisplay dpy,
  490. EGLSurface surface,
  491. EGLint buffer) = 0;
  492. virtual EGLBoolean eglChooseConfigFn(EGLDisplay dpy,
  493. const EGLint* attrib_list,
  494. EGLConfig* configs,
  495. EGLint config_size,
  496. EGLint* num_config) = 0;
  497. virtual EGLint eglClientWaitSyncKHRFn(EGLDisplay dpy,
  498. EGLSyncKHR sync,
  499. EGLint flags,
  500. EGLTimeKHR timeout) = 0;
  501. virtual EGLBoolean eglCopyBuffersFn(EGLDisplay dpy,
  502. EGLSurface surface,
  503. EGLNativePixmapType target) = 0;
  504. virtual EGLContext eglCreateContextFn(EGLDisplay dpy,
  505. EGLConfig config,
  506. EGLContext share_context,
  507. const EGLint* attrib_list) = 0;
  508. virtual EGLImageKHR eglCreateImageKHRFn(EGLDisplay dpy,
  509. EGLContext ctx,
  510. EGLenum target,
  511. EGLClientBuffer buffer,
  512. const EGLint* attrib_list) = 0;
  513. virtual EGLSurface eglCreatePbufferFromClientBufferFn(
  514. EGLDisplay dpy,
  515. EGLenum buftype,
  516. void* buffer,
  517. EGLConfig config,
  518. const EGLint* attrib_list) = 0;
  519. virtual EGLSurface eglCreatePbufferSurfaceFn(EGLDisplay dpy,
  520. EGLConfig config,
  521. const EGLint* attrib_list) = 0;
  522. virtual EGLSurface eglCreatePixmapSurfaceFn(EGLDisplay dpy,
  523. EGLConfig config,
  524. EGLNativePixmapType pixmap,
  525. const EGLint* attrib_list) = 0;
  526. virtual EGLStreamKHR eglCreateStreamKHRFn(EGLDisplay dpy,
  527. const EGLint* attrib_list) = 0;
  528. virtual EGLBoolean eglCreateStreamProducerD3DTextureANGLEFn(
  529. EGLDisplay dpy,
  530. EGLStreamKHR stream,
  531. EGLAttrib* attrib_list) = 0;
  532. virtual EGLSyncKHR eglCreateSyncKHRFn(EGLDisplay dpy,
  533. EGLenum type,
  534. const EGLint* attrib_list) = 0;
  535. virtual EGLSurface eglCreateWindowSurfaceFn(EGLDisplay dpy,
  536. EGLConfig config,
  537. EGLNativeWindowType win,
  538. const EGLint* attrib_list) = 0;
  539. virtual EGLint eglDebugMessageControlKHRFn(EGLDEBUGPROCKHR callback,
  540. const EGLAttrib* attrib_list) = 0;
  541. virtual EGLBoolean eglDestroyContextFn(EGLDisplay dpy, EGLContext ctx) = 0;
  542. virtual EGLBoolean eglDestroyImageKHRFn(EGLDisplay dpy,
  543. EGLImageKHR image) = 0;
  544. virtual EGLBoolean eglDestroyStreamKHRFn(EGLDisplay dpy,
  545. EGLStreamKHR stream) = 0;
  546. virtual EGLBoolean eglDestroySurfaceFn(EGLDisplay dpy,
  547. EGLSurface surface) = 0;
  548. virtual EGLBoolean eglDestroySyncKHRFn(EGLDisplay dpy, EGLSyncKHR sync) = 0;
  549. virtual EGLint eglDupNativeFenceFDANDROIDFn(EGLDisplay dpy,
  550. EGLSyncKHR sync) = 0;
  551. virtual EGLBoolean eglExportDMABUFImageMESAFn(EGLDisplay dpy,
  552. EGLImageKHR image,
  553. int* fds,
  554. EGLint* strides,
  555. EGLint* offsets) = 0;
  556. virtual EGLBoolean eglExportDMABUFImageQueryMESAFn(
  557. EGLDisplay dpy,
  558. EGLImageKHR image,
  559. int* fourcc,
  560. int* num_planes,
  561. EGLuint64KHR* modifiers) = 0;
  562. virtual EGLBoolean eglExportVkImageANGLEFn(EGLDisplay dpy,
  563. EGLImageKHR image,
  564. void* vk_image,
  565. void* vk_image_create_info) = 0;
  566. virtual EGLBoolean eglGetCompositorTimingANDROIDFn(
  567. EGLDisplay dpy,
  568. EGLSurface surface,
  569. EGLint numTimestamps,
  570. EGLint* names,
  571. EGLnsecsANDROID* values) = 0;
  572. virtual EGLBoolean eglGetCompositorTimingSupportedANDROIDFn(
  573. EGLDisplay dpy,
  574. EGLSurface surface,
  575. EGLint timestamp) = 0;
  576. virtual EGLBoolean eglGetConfigAttribFn(EGLDisplay dpy,
  577. EGLConfig config,
  578. EGLint attribute,
  579. EGLint* value) = 0;
  580. virtual EGLBoolean eglGetConfigsFn(EGLDisplay dpy,
  581. EGLConfig* configs,
  582. EGLint config_size,
  583. EGLint* num_config) = 0;
  584. virtual EGLContext eglGetCurrentContextFn(void) = 0;
  585. virtual EGLDisplay eglGetCurrentDisplayFn(void) = 0;
  586. virtual EGLSurface eglGetCurrentSurfaceFn(EGLint readdraw) = 0;
  587. virtual EGLDisplay eglGetDisplayFn(EGLNativeDisplayType display_id) = 0;
  588. virtual EGLint eglGetErrorFn(void) = 0;
  589. virtual EGLBoolean eglGetFrameTimestampsANDROIDFn(
  590. EGLDisplay dpy,
  591. EGLSurface surface,
  592. EGLuint64KHR frameId,
  593. EGLint numTimestamps,
  594. EGLint* timestamps,
  595. EGLnsecsANDROID* values) = 0;
  596. virtual EGLBoolean eglGetFrameTimestampSupportedANDROIDFn(
  597. EGLDisplay dpy,
  598. EGLSurface surface,
  599. EGLint timestamp) = 0;
  600. virtual EGLBoolean eglGetMscRateANGLEFn(EGLDisplay dpy,
  601. EGLSurface surface,
  602. EGLint* numerator,
  603. EGLint* denominator) = 0;
  604. virtual EGLClientBuffer eglGetNativeClientBufferANDROIDFn(
  605. const struct AHardwareBuffer* ahardwarebuffer) = 0;
  606. virtual EGLBoolean eglGetNextFrameIdANDROIDFn(EGLDisplay dpy,
  607. EGLSurface surface,
  608. EGLuint64KHR* frameId) = 0;
  609. virtual EGLDisplay eglGetPlatformDisplayFn(EGLenum platform,
  610. void* native_display,
  611. const EGLAttrib* attrib_list) = 0;
  612. virtual __eglMustCastToProperFunctionPointerType eglGetProcAddressFn(
  613. const char* procname) = 0;
  614. virtual EGLBoolean eglGetSyncAttribKHRFn(EGLDisplay dpy,
  615. EGLSyncKHR sync,
  616. EGLint attribute,
  617. EGLint* value) = 0;
  618. virtual EGLBoolean eglGetSyncValuesCHROMIUMFn(EGLDisplay dpy,
  619. EGLSurface surface,
  620. EGLuint64CHROMIUM* ust,
  621. EGLuint64CHROMIUM* msc,
  622. EGLuint64CHROMIUM* sbc) = 0;
  623. virtual void eglHandleGPUSwitchANGLEFn(EGLDisplay dpy) = 0;
  624. virtual EGLBoolean eglImageFlushExternalEXTFn(
  625. EGLDisplay dpy,
  626. EGLImageKHR image,
  627. const EGLAttrib* attrib_list) = 0;
  628. virtual EGLBoolean eglInitializeFn(EGLDisplay dpy,
  629. EGLint* major,
  630. EGLint* minor) = 0;
  631. virtual EGLint eglLabelObjectKHRFn(EGLDisplay display,
  632. EGLenum objectType,
  633. EGLObjectKHR object,
  634. EGLLabelKHR label) = 0;
  635. virtual EGLBoolean eglMakeCurrentFn(EGLDisplay dpy,
  636. EGLSurface draw,
  637. EGLSurface read,
  638. EGLContext ctx) = 0;
  639. virtual EGLBoolean eglPostSubBufferNVFn(EGLDisplay dpy,
  640. EGLSurface surface,
  641. EGLint x,
  642. EGLint y,
  643. EGLint width,
  644. EGLint height) = 0;
  645. virtual EGLenum eglQueryAPIFn(void) = 0;
  646. virtual EGLBoolean eglQueryContextFn(EGLDisplay dpy,
  647. EGLContext ctx,
  648. EGLint attribute,
  649. EGLint* value) = 0;
  650. virtual EGLBoolean eglQueryDebugKHRFn(EGLint attribute, EGLAttrib* value) = 0;
  651. virtual EGLBoolean eglQueryDeviceAttribEXTFn(EGLDeviceEXT device,
  652. EGLint attribute,
  653. EGLAttrib* value) = 0;
  654. virtual EGLBoolean eglQueryDevicesEXTFn(EGLint max_devices,
  655. EGLDeviceEXT* devices,
  656. EGLint* num_devices) = 0;
  657. virtual const char* eglQueryDeviceStringEXTFn(EGLDeviceEXT device,
  658. EGLint name) = 0;
  659. virtual EGLBoolean eglQueryDisplayAttribANGLEFn(EGLDisplay dpy,
  660. EGLint attribute,
  661. EGLAttrib* value) = 0;
  662. virtual EGLBoolean eglQueryDisplayAttribEXTFn(EGLDisplay dpy,
  663. EGLint attribute,
  664. EGLAttrib* value) = 0;
  665. virtual EGLBoolean eglQueryDmaBufFormatsEXTFn(EGLDisplay dpy,
  666. EGLint max_formats,
  667. EGLint* formats,
  668. EGLint* num_formats) = 0;
  669. virtual EGLBoolean eglQueryDmaBufModifiersEXTFn(EGLDisplay dpy,
  670. EGLint format,
  671. EGLint max_modifiers,
  672. EGLuint64KHR* modifiers,
  673. EGLBoolean* external_only,
  674. EGLint* num_modifiers) = 0;
  675. virtual EGLBoolean eglQueryStreamKHRFn(EGLDisplay dpy,
  676. EGLStreamKHR stream,
  677. EGLenum attribute,
  678. EGLint* value) = 0;
  679. virtual EGLBoolean eglQueryStreamu64KHRFn(EGLDisplay dpy,
  680. EGLStreamKHR stream,
  681. EGLenum attribute,
  682. EGLuint64KHR* value) = 0;
  683. virtual const char* eglQueryStringFn(EGLDisplay dpy, EGLint name) = 0;
  684. virtual const char* eglQueryStringiANGLEFn(EGLDisplay dpy,
  685. EGLint name,
  686. EGLint index) = 0;
  687. virtual EGLBoolean eglQuerySurfaceFn(EGLDisplay dpy,
  688. EGLSurface surface,
  689. EGLint attribute,
  690. EGLint* value) = 0;
  691. virtual EGLBoolean eglQuerySurfacePointerANGLEFn(EGLDisplay dpy,
  692. EGLSurface surface,
  693. EGLint attribute,
  694. void** value) = 0;
  695. virtual void eglReacquireHighPowerGPUANGLEFn(EGLDisplay dpy,
  696. EGLContext ctx) = 0;
  697. virtual void eglReleaseHighPowerGPUANGLEFn(EGLDisplay dpy,
  698. EGLContext ctx) = 0;
  699. virtual EGLBoolean eglReleaseTexImageFn(EGLDisplay dpy,
  700. EGLSurface surface,
  701. EGLint buffer) = 0;
  702. virtual EGLBoolean eglReleaseThreadFn(void) = 0;
  703. virtual void eglSetBlobCacheFuncsANDROIDFn(EGLDisplay dpy,
  704. EGLSetBlobFuncANDROID set,
  705. EGLGetBlobFuncANDROID get) = 0;
  706. virtual EGLBoolean eglStreamAttribKHRFn(EGLDisplay dpy,
  707. EGLStreamKHR stream,
  708. EGLenum attribute,
  709. EGLint value) = 0;
  710. virtual EGLBoolean eglStreamConsumerAcquireKHRFn(EGLDisplay dpy,
  711. EGLStreamKHR stream) = 0;
  712. virtual EGLBoolean eglStreamConsumerGLTextureExternalAttribsNVFn(
  713. EGLDisplay dpy,
  714. EGLStreamKHR stream,
  715. EGLAttrib* attrib_list) = 0;
  716. virtual EGLBoolean eglStreamConsumerGLTextureExternalKHRFn(
  717. EGLDisplay dpy,
  718. EGLStreamKHR stream) = 0;
  719. virtual EGLBoolean eglStreamConsumerReleaseKHRFn(EGLDisplay dpy,
  720. EGLStreamKHR stream) = 0;
  721. virtual EGLBoolean eglStreamPostD3DTextureANGLEFn(
  722. EGLDisplay dpy,
  723. EGLStreamKHR stream,
  724. void* texture,
  725. const EGLAttrib* attrib_list) = 0;
  726. virtual EGLBoolean eglSurfaceAttribFn(EGLDisplay dpy,
  727. EGLSurface surface,
  728. EGLint attribute,
  729. EGLint value) = 0;
  730. virtual EGLBoolean eglSwapBuffersFn(EGLDisplay dpy, EGLSurface surface) = 0;
  731. virtual EGLBoolean eglSwapBuffersWithDamageKHRFn(EGLDisplay dpy,
  732. EGLSurface surface,
  733. EGLint* rects,
  734. EGLint n_rects) = 0;
  735. virtual EGLBoolean eglSwapIntervalFn(EGLDisplay dpy, EGLint interval) = 0;
  736. virtual EGLBoolean eglTerminateFn(EGLDisplay dpy) = 0;
  737. virtual EGLBoolean eglWaitClientFn(void) = 0;
  738. virtual EGLBoolean eglWaitGLFn(void) = 0;
  739. virtual EGLBoolean eglWaitNativeFn(EGLint engine) = 0;
  740. virtual EGLint eglWaitSyncKHRFn(EGLDisplay dpy,
  741. EGLSyncKHR sync,
  742. EGLint flags) = 0;
  743. };
  744. } // namespace gl
  745. #define eglBindAPI ::gl::g_current_egl_context->eglBindAPIFn
  746. #define eglBindTexImage ::gl::g_current_egl_context->eglBindTexImageFn
  747. #define eglChooseConfig ::gl::g_current_egl_context->eglChooseConfigFn
  748. #define eglClientWaitSyncKHR ::gl::g_current_egl_context->eglClientWaitSyncKHRFn
  749. #define eglCopyBuffers ::gl::g_current_egl_context->eglCopyBuffersFn
  750. #define eglCreateContext ::gl::g_current_egl_context->eglCreateContextFn
  751. #define eglCreateImageKHR ::gl::g_current_egl_context->eglCreateImageKHRFn
  752. #define eglCreatePbufferFromClientBuffer \
  753. ::gl::g_current_egl_context->eglCreatePbufferFromClientBufferFn
  754. #define eglCreatePbufferSurface \
  755. ::gl::g_current_egl_context->eglCreatePbufferSurfaceFn
  756. #define eglCreatePixmapSurface \
  757. ::gl::g_current_egl_context->eglCreatePixmapSurfaceFn
  758. #define eglCreateStreamKHR ::gl::g_current_egl_context->eglCreateStreamKHRFn
  759. #define eglCreateStreamProducerD3DTextureANGLE \
  760. ::gl::g_current_egl_context->eglCreateStreamProducerD3DTextureANGLEFn
  761. #define eglCreateSyncKHR ::gl::g_current_egl_context->eglCreateSyncKHRFn
  762. #define eglCreateWindowSurface \
  763. ::gl::g_current_egl_context->eglCreateWindowSurfaceFn
  764. #define eglDebugMessageControlKHR \
  765. ::gl::g_current_egl_context->eglDebugMessageControlKHRFn
  766. #define eglDestroyContext ::gl::g_current_egl_context->eglDestroyContextFn
  767. #define eglDestroyImageKHR ::gl::g_current_egl_context->eglDestroyImageKHRFn
  768. #define eglDestroyStreamKHR ::gl::g_current_egl_context->eglDestroyStreamKHRFn
  769. #define eglDestroySurface ::gl::g_current_egl_context->eglDestroySurfaceFn
  770. #define eglDestroySyncKHR ::gl::g_current_egl_context->eglDestroySyncKHRFn
  771. #define eglDupNativeFenceFDANDROID \
  772. ::gl::g_current_egl_context->eglDupNativeFenceFDANDROIDFn
  773. #define eglExportDMABUFImageMESA \
  774. ::gl::g_current_egl_context->eglExportDMABUFImageMESAFn
  775. #define eglExportDMABUFImageQueryMESA \
  776. ::gl::g_current_egl_context->eglExportDMABUFImageQueryMESAFn
  777. #define eglExportVkImageANGLE \
  778. ::gl::g_current_egl_context->eglExportVkImageANGLEFn
  779. #define eglGetCompositorTimingANDROID \
  780. ::gl::g_current_egl_context->eglGetCompositorTimingANDROIDFn
  781. #define eglGetCompositorTimingSupportedANDROID \
  782. ::gl::g_current_egl_context->eglGetCompositorTimingSupportedANDROIDFn
  783. #define eglGetConfigAttrib ::gl::g_current_egl_context->eglGetConfigAttribFn
  784. #define eglGetConfigs ::gl::g_current_egl_context->eglGetConfigsFn
  785. #define eglGetCurrentContext ::gl::g_current_egl_context->eglGetCurrentContextFn
  786. #define eglGetCurrentDisplay ::gl::g_current_egl_context->eglGetCurrentDisplayFn
  787. #define eglGetCurrentSurface ::gl::g_current_egl_context->eglGetCurrentSurfaceFn
  788. #define eglGetDisplay ::gl::g_current_egl_context->eglGetDisplayFn
  789. #define eglGetError ::gl::g_current_egl_context->eglGetErrorFn
  790. #define eglGetFrameTimestampsANDROID \
  791. ::gl::g_current_egl_context->eglGetFrameTimestampsANDROIDFn
  792. #define eglGetFrameTimestampSupportedANDROID \
  793. ::gl::g_current_egl_context->eglGetFrameTimestampSupportedANDROIDFn
  794. #define eglGetMscRateANGLE ::gl::g_current_egl_context->eglGetMscRateANGLEFn
  795. #define eglGetNativeClientBufferANDROID \
  796. ::gl::g_current_egl_context->eglGetNativeClientBufferANDROIDFn
  797. #define eglGetNextFrameIdANDROID \
  798. ::gl::g_current_egl_context->eglGetNextFrameIdANDROIDFn
  799. #define eglGetPlatformDisplay \
  800. ::gl::g_current_egl_context->eglGetPlatformDisplayFn
  801. #define eglGetProcAddress ::gl::g_current_egl_context->eglGetProcAddressFn
  802. #define eglGetSyncAttribKHR ::gl::g_current_egl_context->eglGetSyncAttribKHRFn
  803. #define eglGetSyncValuesCHROMIUM \
  804. ::gl::g_current_egl_context->eglGetSyncValuesCHROMIUMFn
  805. #define eglHandleGPUSwitchANGLE \
  806. ::gl::g_current_egl_context->eglHandleGPUSwitchANGLEFn
  807. #define eglImageFlushExternalEXT \
  808. ::gl::g_current_egl_context->eglImageFlushExternalEXTFn
  809. #define eglInitialize ::gl::g_current_egl_context->eglInitializeFn
  810. #define eglLabelObjectKHR ::gl::g_current_egl_context->eglLabelObjectKHRFn
  811. #define eglMakeCurrent ::gl::g_current_egl_context->eglMakeCurrentFn
  812. #define eglPostSubBufferNV ::gl::g_current_egl_context->eglPostSubBufferNVFn
  813. #define eglQueryAPI ::gl::g_current_egl_context->eglQueryAPIFn
  814. #define eglQueryContext ::gl::g_current_egl_context->eglQueryContextFn
  815. #define eglQueryDebugKHR ::gl::g_current_egl_context->eglQueryDebugKHRFn
  816. #define eglQueryDeviceAttribEXT \
  817. ::gl::g_current_egl_context->eglQueryDeviceAttribEXTFn
  818. #define eglQueryDevicesEXT ::gl::g_current_egl_context->eglQueryDevicesEXTFn
  819. #define eglQueryDeviceStringEXT \
  820. ::gl::g_current_egl_context->eglQueryDeviceStringEXTFn
  821. #define eglQueryDisplayAttribANGLE \
  822. ::gl::g_current_egl_context->eglQueryDisplayAttribANGLEFn
  823. #define eglQueryDisplayAttribEXT \
  824. ::gl::g_current_egl_context->eglQueryDisplayAttribEXTFn
  825. #define eglQueryDmaBufFormatsEXT \
  826. ::gl::g_current_egl_context->eglQueryDmaBufFormatsEXTFn
  827. #define eglQueryDmaBufModifiersEXT \
  828. ::gl::g_current_egl_context->eglQueryDmaBufModifiersEXTFn
  829. #define eglQueryStreamKHR ::gl::g_current_egl_context->eglQueryStreamKHRFn
  830. #define eglQueryStreamu64KHR ::gl::g_current_egl_context->eglQueryStreamu64KHRFn
  831. #define eglQueryString ::gl::g_current_egl_context->eglQueryStringFn
  832. #define eglQueryStringiANGLE ::gl::g_current_egl_context->eglQueryStringiANGLEFn
  833. #define eglQuerySurface ::gl::g_current_egl_context->eglQuerySurfaceFn
  834. #define eglQuerySurfacePointerANGLE \
  835. ::gl::g_current_egl_context->eglQuerySurfacePointerANGLEFn
  836. #define eglReacquireHighPowerGPUANGLE \
  837. ::gl::g_current_egl_context->eglReacquireHighPowerGPUANGLEFn
  838. #define eglReleaseHighPowerGPUANGLE \
  839. ::gl::g_current_egl_context->eglReleaseHighPowerGPUANGLEFn
  840. #define eglReleaseTexImage ::gl::g_current_egl_context->eglReleaseTexImageFn
  841. #define eglReleaseThread ::gl::g_current_egl_context->eglReleaseThreadFn
  842. #define eglSetBlobCacheFuncsANDROID \
  843. ::gl::g_current_egl_context->eglSetBlobCacheFuncsANDROIDFn
  844. #define eglStreamAttribKHR ::gl::g_current_egl_context->eglStreamAttribKHRFn
  845. #define eglStreamConsumerAcquireKHR \
  846. ::gl::g_current_egl_context->eglStreamConsumerAcquireKHRFn
  847. #define eglStreamConsumerGLTextureExternalAttribsNV \
  848. ::gl::g_current_egl_context->eglStreamConsumerGLTextureExternalAttribsNVFn
  849. #define eglStreamConsumerGLTextureExternalKHR \
  850. ::gl::g_current_egl_context->eglStreamConsumerGLTextureExternalKHRFn
  851. #define eglStreamConsumerReleaseKHR \
  852. ::gl::g_current_egl_context->eglStreamConsumerReleaseKHRFn
  853. #define eglStreamPostD3DTextureANGLE \
  854. ::gl::g_current_egl_context->eglStreamPostD3DTextureANGLEFn
  855. #define eglSurfaceAttrib ::gl::g_current_egl_context->eglSurfaceAttribFn
  856. #define eglSwapBuffers ::gl::g_current_egl_context->eglSwapBuffersFn
  857. #define eglSwapBuffersWithDamageKHR \
  858. ::gl::g_current_egl_context->eglSwapBuffersWithDamageKHRFn
  859. #define eglSwapInterval ::gl::g_current_egl_context->eglSwapIntervalFn
  860. #define eglTerminate ::gl::g_current_egl_context->eglTerminateFn
  861. #define eglWaitClient ::gl::g_current_egl_context->eglWaitClientFn
  862. #define eglWaitGL ::gl::g_current_egl_context->eglWaitGLFn
  863. #define eglWaitNative ::gl::g_current_egl_context->eglWaitNativeFn
  864. #define eglWaitSyncKHR ::gl::g_current_egl_context->eglWaitSyncKHRFn
  865. #endif // UI_GL_GL_BINDINGS_AUTOGEN_EGL_H_