native_audio 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +7 -0
  2. data/assets/include/GL/glew.h +26427 -0
  3. data/assets/include/GLES2/gl2.h +656 -0
  4. data/assets/include/GLES2/gl2ext.h +3949 -0
  5. data/assets/include/GLES2/gl2ext_angle.h +701 -0
  6. data/assets/include/GLES2/gl2platform.h +27 -0
  7. data/assets/include/GLES3/gl3.h +1192 -0
  8. data/assets/include/GLES3/gl31.h +1507 -0
  9. data/assets/include/GLES3/gl32.h +1808 -0
  10. data/assets/include/GLES3/gl3platform.h +27 -0
  11. data/assets/include/KHR/khrplatform.h +290 -0
  12. data/assets/include/SDL2/SDL.h +233 -0
  13. data/assets/include/SDL2/SDL_assert.h +326 -0
  14. data/assets/include/SDL2/SDL_atomic.h +415 -0
  15. data/assets/include/SDL2/SDL_audio.h +1500 -0
  16. data/assets/include/SDL2/SDL_bits.h +126 -0
  17. data/assets/include/SDL2/SDL_blendmode.h +198 -0
  18. data/assets/include/SDL2/SDL_clipboard.h +141 -0
  19. data/assets/include/SDL2/SDL_config.h +61 -0
  20. data/assets/include/SDL2/SDL_config_android.h +194 -0
  21. data/assets/include/SDL2/SDL_config_emscripten.h +218 -0
  22. data/assets/include/SDL2/SDL_config_iphoneos.h +217 -0
  23. data/assets/include/SDL2/SDL_config_macosx.h +277 -0
  24. data/assets/include/SDL2/SDL_config_minimal.h +95 -0
  25. data/assets/include/SDL2/SDL_config_ngage.h +89 -0
  26. data/assets/include/SDL2/SDL_config_os2.h +207 -0
  27. data/assets/include/SDL2/SDL_config_pandora.h +141 -0
  28. data/assets/include/SDL2/SDL_config_windows.h +331 -0
  29. data/assets/include/SDL2/SDL_config_wingdk.h +253 -0
  30. data/assets/include/SDL2/SDL_config_winrt.h +220 -0
  31. data/assets/include/SDL2/SDL_config_xbox.h +235 -0
  32. data/assets/include/SDL2/SDL_copying.h +20 -0
  33. data/assets/include/SDL2/SDL_cpuinfo.h +594 -0
  34. data/assets/include/SDL2/SDL_egl.h +2352 -0
  35. data/assets/include/SDL2/SDL_endian.h +348 -0
  36. data/assets/include/SDL2/SDL_error.h +163 -0
  37. data/assets/include/SDL2/SDL_events.h +1166 -0
  38. data/assets/include/SDL2/SDL_filesystem.h +149 -0
  39. data/assets/include/SDL2/SDL_gamecontroller.h +1074 -0
  40. data/assets/include/SDL2/SDL_gesture.h +117 -0
  41. data/assets/include/SDL2/SDL_guid.h +100 -0
  42. data/assets/include/SDL2/SDL_haptic.h +1341 -0
  43. data/assets/include/SDL2/SDL_hidapi.h +451 -0
  44. data/assets/include/SDL2/SDL_hints.h +2569 -0
  45. data/assets/include/SDL2/SDL_image.h +2173 -0
  46. data/assets/include/SDL2/SDL_joystick.h +1066 -0
  47. data/assets/include/SDL2/SDL_keyboard.h +353 -0
  48. data/assets/include/SDL2/SDL_keycode.h +358 -0
  49. data/assets/include/SDL2/SDL_loadso.h +115 -0
  50. data/assets/include/SDL2/SDL_locale.h +103 -0
  51. data/assets/include/SDL2/SDL_log.h +404 -0
  52. data/assets/include/SDL2/SDL_main.h +275 -0
  53. data/assets/include/SDL2/SDL_messagebox.h +193 -0
  54. data/assets/include/SDL2/SDL_metal.h +113 -0
  55. data/assets/include/SDL2/SDL_misc.h +79 -0
  56. data/assets/include/SDL2/SDL_mixer.h +2784 -0
  57. data/assets/include/SDL2/SDL_mouse.h +465 -0
  58. data/assets/include/SDL2/SDL_mutex.h +471 -0
  59. data/assets/include/SDL2/SDL_name.h +33 -0
  60. data/assets/include/SDL2/SDL_opengl.h +2132 -0
  61. data/assets/include/SDL2/SDL_opengl_glext.h +13209 -0
  62. data/assets/include/SDL2/SDL_opengles.h +39 -0
  63. data/assets/include/SDL2/SDL_opengles2.h +52 -0
  64. data/assets/include/SDL2/SDL_opengles2_gl2.h +656 -0
  65. data/assets/include/SDL2/SDL_opengles2_gl2ext.h +4033 -0
  66. data/assets/include/SDL2/SDL_opengles2_gl2platform.h +27 -0
  67. data/assets/include/SDL2/SDL_opengles2_khrplatform.h +311 -0
  68. data/assets/include/SDL2/SDL_pixels.h +644 -0
  69. data/assets/include/SDL2/SDL_platform.h +261 -0
  70. data/assets/include/SDL2/SDL_power.h +88 -0
  71. data/assets/include/SDL2/SDL_quit.h +58 -0
  72. data/assets/include/SDL2/SDL_rect.h +376 -0
  73. data/assets/include/SDL2/SDL_render.h +1919 -0
  74. data/assets/include/SDL2/SDL_revision.h +6 -0
  75. data/assets/include/SDL2/SDL_rwops.h +841 -0
  76. data/assets/include/SDL2/SDL_scancode.h +438 -0
  77. data/assets/include/SDL2/SDL_sensor.h +322 -0
  78. data/assets/include/SDL2/SDL_shape.h +155 -0
  79. data/assets/include/SDL2/SDL_stdinc.h +830 -0
  80. data/assets/include/SDL2/SDL_surface.h +997 -0
  81. data/assets/include/SDL2/SDL_system.h +623 -0
  82. data/assets/include/SDL2/SDL_syswm.h +386 -0
  83. data/assets/include/SDL2/SDL_test.h +69 -0
  84. data/assets/include/SDL2/SDL_test_assert.h +105 -0
  85. data/assets/include/SDL2/SDL_test_common.h +236 -0
  86. data/assets/include/SDL2/SDL_test_compare.h +69 -0
  87. data/assets/include/SDL2/SDL_test_crc32.h +124 -0
  88. data/assets/include/SDL2/SDL_test_font.h +168 -0
  89. data/assets/include/SDL2/SDL_test_fuzzer.h +386 -0
  90. data/assets/include/SDL2/SDL_test_harness.h +134 -0
  91. data/assets/include/SDL2/SDL_test_images.h +78 -0
  92. data/assets/include/SDL2/SDL_test_log.h +67 -0
  93. data/assets/include/SDL2/SDL_test_md5.h +129 -0
  94. data/assets/include/SDL2/SDL_test_memory.h +63 -0
  95. data/assets/include/SDL2/SDL_test_random.h +115 -0
  96. data/assets/include/SDL2/SDL_thread.h +464 -0
  97. data/assets/include/SDL2/SDL_timer.h +222 -0
  98. data/assets/include/SDL2/SDL_touch.h +150 -0
  99. data/assets/include/SDL2/SDL_ttf.h +2316 -0
  100. data/assets/include/SDL2/SDL_types.h +29 -0
  101. data/assets/include/SDL2/SDL_version.h +204 -0
  102. data/assets/include/SDL2/SDL_video.h +2150 -0
  103. data/assets/include/SDL2/SDL_vulkan.h +215 -0
  104. data/assets/include/SDL2/begin_code.h +187 -0
  105. data/assets/include/SDL2/close_code.h +40 -0
  106. data/assets/macos/universal/lib/libFLAC.a +0 -0
  107. data/assets/macos/universal/lib/libSDL2.a +0 -0
  108. data/assets/macos/universal/lib/libSDL2_image.a +0 -0
  109. data/assets/macos/universal/lib/libSDL2_mixer.a +0 -0
  110. data/assets/macos/universal/lib/libSDL2_ttf.a +0 -0
  111. data/assets/macos/universal/lib/libmodplug.a +0 -0
  112. data/assets/macos/universal/lib/libmpg123.a +0 -0
  113. data/assets/macos/universal/lib/libogg.a +0 -0
  114. data/assets/macos/universal/lib/libvorbis.a +0 -0
  115. data/assets/macos/universal/lib/libvorbisfile.a +0 -0
  116. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libFLAC.a +0 -0
  117. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2.a +0 -0
  118. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_mixer.a +0 -0
  119. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libglew32.a +0 -0
  120. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmodplug.a +0 -0
  121. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmpg123.a +0 -0
  122. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libogg.a +0 -0
  123. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopus.a +0 -0
  124. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopusfile.a +0 -0
  125. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libsndfile.a +0 -0
  126. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libssp.a +1 -0
  127. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libstdc++.a +0 -0
  128. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbis.a +0 -0
  129. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbisfile.a +0 -0
  130. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libz.a +0 -0
  131. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libzstd.a +0 -0
  132. data/assets/windows/mingw-w64-x86_64/lib/libFLAC.a +0 -0
  133. data/assets/windows/mingw-w64-x86_64/lib/libSDL2.a +0 -0
  134. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_mixer.a +0 -0
  135. data/assets/windows/mingw-w64-x86_64/lib/libglew32.a +0 -0
  136. data/assets/windows/mingw-w64-x86_64/lib/libmodplug.a +0 -0
  137. data/assets/windows/mingw-w64-x86_64/lib/libmpg123.a +0 -0
  138. data/assets/windows/mingw-w64-x86_64/lib/libogg.a +0 -0
  139. data/assets/windows/mingw-w64-x86_64/lib/libopus.a +0 -0
  140. data/assets/windows/mingw-w64-x86_64/lib/libopusfile.a +0 -0
  141. data/assets/windows/mingw-w64-x86_64/lib/libsndfile.a +0 -0
  142. data/assets/windows/mingw-w64-x86_64/lib/libssp.a +1 -0
  143. data/assets/windows/mingw-w64-x86_64/lib/libstdc++.a +0 -0
  144. data/assets/windows/mingw-w64-x86_64/lib/libvorbis.a +0 -0
  145. data/assets/windows/mingw-w64-x86_64/lib/libvorbisfile.a +0 -0
  146. data/assets/windows/mingw-w64-x86_64/lib/libz.a +0 -0
  147. data/assets/windows/mingw-w64-x86_64/lib/libzstd.a +0 -0
  148. data/ext/Makefile +270 -0
  149. data/ext/audio.c +80 -0
  150. data/ext/audio.o +0 -0
  151. data/ext/extconf.h +3 -0
  152. data/ext/extconf.rb +177 -0
  153. data/ext/mkmf.log +7 -0
  154. data/lib/audio.bundle +0 -0
  155. data/lib/native_audio.rb +50 -0
  156. metadata +198 -0
@@ -0,0 +1,2352 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+ */
21
+
22
+ /**
23
+ * \file SDL_egl.h
24
+ *
25
+ * This is a simple file to encapsulate the EGL API headers.
26
+ */
27
+ #if !defined(_MSC_VER) && !defined(__ANDROID__) && !defined(SDL_USE_BUILTIN_OPENGL_DEFINITIONS)
28
+
29
+ #if defined(__vita__) || defined(__psp2__)
30
+ #include <psp2/types.h>
31
+ #endif
32
+
33
+ #include <EGL/egl.h>
34
+ #include <EGL/eglext.h>
35
+
36
+ #else /* _MSC_VER */
37
+
38
+ /* EGL headers for Visual Studio */
39
+
40
+ #ifndef __khrplatform_h_
41
+ #define __khrplatform_h_
42
+
43
+ /*
44
+ ** Copyright (c) 2008-2018 The Khronos Group Inc.
45
+ **
46
+ ** Permission is hereby granted, free of charge, to any person obtaining a
47
+ ** copy of this software and/or associated documentation files (the
48
+ ** "Materials"), to deal in the Materials without restriction, including
49
+ ** without limitation the rights to use, copy, modify, merge, publish,
50
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
51
+ ** permit persons to whom the Materials are furnished to do so, subject to
52
+ ** the following conditions:
53
+ **
54
+ ** The above copyright notice and this permission notice shall be included
55
+ ** in all copies or substantial portions of the Materials.
56
+ **
57
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
58
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
59
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
60
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
61
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
62
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
63
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
64
+ */
65
+
66
+ /* Khronos platform-specific types and definitions.
67
+ *
68
+ * The master copy of khrplatform.h is maintained in the Khronos EGL
69
+ * Registry repository at https://github.com/KhronosGroup/EGL-Registry
70
+ * The last semantic modification to khrplatform.h was at commit ID:
71
+ * 67a3e0864c2d75ea5287b9f3d2eb74a745936692
72
+ *
73
+ * Adopters may modify this file to suit their platform. Adopters are
74
+ * encouraged to submit platform specific modifications to the Khronos
75
+ * group so that they can be included in future versions of this file.
76
+ * Please submit changes by filing pull requests or issues on
77
+ * the EGL Registry repository linked above.
78
+ *
79
+ *
80
+ * See the Implementer's Guidelines for information about where this file
81
+ * should be located on your system and for more details of its use:
82
+ * http://www.khronos.org/registry/implementers_guide.pdf
83
+ *
84
+ * This file should be included as
85
+ * #include <KHR/khrplatform.h>
86
+ * by Khronos client API header files that use its types and defines.
87
+ *
88
+ * The types in khrplatform.h should only be used to define API-specific types.
89
+ *
90
+ * Types defined in khrplatform.h:
91
+ * khronos_int8_t signed 8 bit
92
+ * khronos_uint8_t unsigned 8 bit
93
+ * khronos_int16_t signed 16 bit
94
+ * khronos_uint16_t unsigned 16 bit
95
+ * khronos_int32_t signed 32 bit
96
+ * khronos_uint32_t unsigned 32 bit
97
+ * khronos_int64_t signed 64 bit
98
+ * khronos_uint64_t unsigned 64 bit
99
+ * khronos_intptr_t signed same number of bits as a pointer
100
+ * khronos_uintptr_t unsigned same number of bits as a pointer
101
+ * khronos_ssize_t signed size
102
+ * khronos_usize_t unsigned size
103
+ * khronos_float_t signed 32 bit floating point
104
+ * khronos_time_ns_t unsigned 64 bit time in nanoseconds
105
+ * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
106
+ * nanoseconds
107
+ * khronos_stime_nanoseconds_t signed time interval in nanoseconds
108
+ * khronos_boolean_enum_t enumerated boolean type. This should
109
+ * only be used as a base type when a client API's boolean type is
110
+ * an enum. Client APIs which use an integer or other type for
111
+ * booleans cannot use this as the base type for their boolean.
112
+ *
113
+ * Tokens defined in khrplatform.h:
114
+ *
115
+ * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
116
+ *
117
+ * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
118
+ * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
119
+ *
120
+ * Calling convention macros defined in this file:
121
+ * KHRONOS_APICALL
122
+ * KHRONOS_APIENTRY
123
+ * KHRONOS_APIATTRIBUTES
124
+ *
125
+ * These may be used in function prototypes as:
126
+ *
127
+ * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
128
+ * int arg1,
129
+ * int arg2) KHRONOS_APIATTRIBUTES;
130
+ */
131
+
132
+ #if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
133
+ # define KHRONOS_STATIC 1
134
+ #endif
135
+
136
+ /*-------------------------------------------------------------------------
137
+ * Definition of KHRONOS_APICALL
138
+ *-------------------------------------------------------------------------
139
+ * This precedes the return type of the function in the function prototype.
140
+ */
141
+ #if defined(KHRONOS_STATIC)
142
+ /* If the preprocessor constant KHRONOS_STATIC is defined, make the
143
+ * header compatible with static linking. */
144
+ # define KHRONOS_APICALL
145
+ #elif defined(_WIN32)
146
+ # define KHRONOS_APICALL __declspec(dllimport)
147
+ #elif defined (__SYMBIAN32__)
148
+ # define KHRONOS_APICALL IMPORT_C
149
+ #elif defined(__ANDROID__)
150
+ # define KHRONOS_APICALL __attribute__((visibility("default")))
151
+ #else
152
+ # define KHRONOS_APICALL
153
+ #endif
154
+
155
+ /*-------------------------------------------------------------------------
156
+ * Definition of KHRONOS_APIENTRY
157
+ *-------------------------------------------------------------------------
158
+ * This follows the return type of the function and precedes the function
159
+ * name in the function prototype.
160
+ */
161
+ #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
162
+ /* Win32 but not WinCE */
163
+ # define KHRONOS_APIENTRY __stdcall
164
+ #else
165
+ # define KHRONOS_APIENTRY
166
+ #endif
167
+
168
+ /*-------------------------------------------------------------------------
169
+ * Definition of KHRONOS_APIATTRIBUTES
170
+ *-------------------------------------------------------------------------
171
+ * This follows the closing parenthesis of the function prototype arguments.
172
+ */
173
+ #if defined (__ARMCC_2__)
174
+ #define KHRONOS_APIATTRIBUTES __softfp
175
+ #else
176
+ #define KHRONOS_APIATTRIBUTES
177
+ #endif
178
+
179
+ /*-------------------------------------------------------------------------
180
+ * basic type definitions
181
+ *-----------------------------------------------------------------------*/
182
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
183
+
184
+
185
+ /*
186
+ * Using <stdint.h>
187
+ */
188
+ #include <stdint.h>
189
+ typedef int32_t khronos_int32_t;
190
+ typedef uint32_t khronos_uint32_t;
191
+ typedef int64_t khronos_int64_t;
192
+ typedef uint64_t khronos_uint64_t;
193
+ #define KHRONOS_SUPPORT_INT64 1
194
+ #define KHRONOS_SUPPORT_FLOAT 1
195
+ /*
196
+ * To support platform where unsigned long cannot be used interchangeably with
197
+ * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t.
198
+ * Ideally, we could just use (u)intptr_t everywhere, but this could result in
199
+ * ABI breakage if khronos_uintptr_t is changed from unsigned long to
200
+ * unsigned long long or similar (this results in different C++ name mangling).
201
+ * To avoid changes for existing platforms, we restrict usage of intptr_t to
202
+ * platforms where the size of a pointer is larger than the size of long.
203
+ */
204
+ #if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__)
205
+ #if __SIZEOF_POINTER__ > __SIZEOF_LONG__
206
+ #define KHRONOS_USE_INTPTR_T
207
+ #endif
208
+ #endif
209
+
210
+ #elif defined(__VMS ) || defined(__sgi)
211
+
212
+ /*
213
+ * Using <inttypes.h>
214
+ */
215
+ #include <inttypes.h>
216
+ typedef int32_t khronos_int32_t;
217
+ typedef uint32_t khronos_uint32_t;
218
+ typedef int64_t khronos_int64_t;
219
+ typedef uint64_t khronos_uint64_t;
220
+ #define KHRONOS_SUPPORT_INT64 1
221
+ #define KHRONOS_SUPPORT_FLOAT 1
222
+
223
+ #elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
224
+
225
+ /*
226
+ * Win32
227
+ */
228
+ typedef __int32 khronos_int32_t;
229
+ typedef unsigned __int32 khronos_uint32_t;
230
+ typedef __int64 khronos_int64_t;
231
+ typedef unsigned __int64 khronos_uint64_t;
232
+ #define KHRONOS_SUPPORT_INT64 1
233
+ #define KHRONOS_SUPPORT_FLOAT 1
234
+
235
+ #elif defined(__sun__) || defined(__digital__)
236
+
237
+ /*
238
+ * Sun or Digital
239
+ */
240
+ typedef int khronos_int32_t;
241
+ typedef unsigned int khronos_uint32_t;
242
+ #if defined(__arch64__) || defined(_LP64)
243
+ typedef long int khronos_int64_t;
244
+ typedef unsigned long int khronos_uint64_t;
245
+ #else
246
+ typedef long long int khronos_int64_t;
247
+ typedef unsigned long long int khronos_uint64_t;
248
+ #endif /* __arch64__ */
249
+ #define KHRONOS_SUPPORT_INT64 1
250
+ #define KHRONOS_SUPPORT_FLOAT 1
251
+
252
+ #elif 0
253
+
254
+ /*
255
+ * Hypothetical platform with no float or int64 support
256
+ */
257
+ typedef int khronos_int32_t;
258
+ typedef unsigned int khronos_uint32_t;
259
+ #define KHRONOS_SUPPORT_INT64 0
260
+ #define KHRONOS_SUPPORT_FLOAT 0
261
+
262
+ #else
263
+
264
+ /*
265
+ * Generic fallback
266
+ */
267
+ #include <stdint.h>
268
+ typedef int32_t khronos_int32_t;
269
+ typedef uint32_t khronos_uint32_t;
270
+ typedef int64_t khronos_int64_t;
271
+ typedef uint64_t khronos_uint64_t;
272
+ #define KHRONOS_SUPPORT_INT64 1
273
+ #define KHRONOS_SUPPORT_FLOAT 1
274
+
275
+ #endif
276
+
277
+
278
+ /*
279
+ * Types that are (so far) the same on all platforms
280
+ */
281
+ typedef signed char khronos_int8_t;
282
+ typedef unsigned char khronos_uint8_t;
283
+ typedef signed short int khronos_int16_t;
284
+ typedef unsigned short int khronos_uint16_t;
285
+
286
+ /*
287
+ * Types that differ between LLP64 and LP64 architectures - in LLP64,
288
+ * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
289
+ * to be the only LLP64 architecture in current use.
290
+ */
291
+ #ifdef KHRONOS_USE_INTPTR_T
292
+ typedef intptr_t khronos_intptr_t;
293
+ typedef uintptr_t khronos_uintptr_t;
294
+ #elif defined(_WIN64)
295
+ typedef signed long long int khronos_intptr_t;
296
+ typedef unsigned long long int khronos_uintptr_t;
297
+ #else
298
+ typedef signed long int khronos_intptr_t;
299
+ typedef unsigned long int khronos_uintptr_t;
300
+ #endif
301
+
302
+ #if defined(_WIN64)
303
+ typedef signed long long int khronos_ssize_t;
304
+ typedef unsigned long long int khronos_usize_t;
305
+ #else
306
+ typedef signed long int khronos_ssize_t;
307
+ typedef unsigned long int khronos_usize_t;
308
+ #endif
309
+
310
+ #if KHRONOS_SUPPORT_FLOAT
311
+ /*
312
+ * Float type
313
+ */
314
+ typedef float khronos_float_t;
315
+ #endif
316
+
317
+ #if KHRONOS_SUPPORT_INT64
318
+ /* Time types
319
+ *
320
+ * These types can be used to represent a time interval in nanoseconds or
321
+ * an absolute Unadjusted System Time. Unadjusted System Time is the number
322
+ * of nanoseconds since some arbitrary system event (e.g. since the last
323
+ * time the system booted). The Unadjusted System Time is an unsigned
324
+ * 64 bit value that wraps back to 0 every 584 years. Time intervals
325
+ * may be either signed or unsigned.
326
+ */
327
+ typedef khronos_uint64_t khronos_utime_nanoseconds_t;
328
+ typedef khronos_int64_t khronos_stime_nanoseconds_t;
329
+ #endif
330
+
331
+ /*
332
+ * Dummy value used to pad enum types to 32 bits.
333
+ */
334
+ #ifndef KHRONOS_MAX_ENUM
335
+ #define KHRONOS_MAX_ENUM 0x7FFFFFFF
336
+ #endif
337
+
338
+ /*
339
+ * Enumerated boolean type
340
+ *
341
+ * Values other than zero should be considered to be true. Therefore
342
+ * comparisons should not be made against KHRONOS_TRUE.
343
+ */
344
+ typedef enum {
345
+ KHRONOS_FALSE = 0,
346
+ KHRONOS_TRUE = 1,
347
+ KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
348
+ } khronos_boolean_enum_t;
349
+
350
+ #endif /* __khrplatform_h_ */
351
+
352
+
353
+ #ifndef __eglplatform_h_
354
+ #define __eglplatform_h_
355
+
356
+ /*
357
+ ** Copyright 2007-2020 The Khronos Group Inc.
358
+ ** SPDX-License-Identifier: Apache-2.0
359
+ */
360
+
361
+ /* Platform-specific types and definitions for egl.h
362
+ *
363
+ * Adopters may modify khrplatform.h and this file to suit their platform.
364
+ * You are encouraged to submit all modifications to the Khronos group so that
365
+ * they can be included in future versions of this file. Please submit changes
366
+ * by filing an issue or pull request on the public Khronos EGL Registry, at
367
+ * https://www.github.com/KhronosGroup/EGL-Registry/
368
+ */
369
+
370
+ /*#include <KHR/khrplatform.h>*/
371
+
372
+ /* Macros used in EGL function prototype declarations.
373
+ *
374
+ * EGL functions should be prototyped as:
375
+ *
376
+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
377
+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
378
+ *
379
+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
380
+ */
381
+
382
+ #ifndef EGLAPI
383
+ #define EGLAPI KHRONOS_APICALL
384
+ #endif
385
+
386
+ #ifndef EGLAPIENTRY
387
+ #define EGLAPIENTRY KHRONOS_APIENTRY
388
+ #endif
389
+ #define EGLAPIENTRYP EGLAPIENTRY*
390
+
391
+ /* The types NativeDisplayType, NativeWindowType, and NativePixmapType
392
+ * are aliases of window-system-dependent types, such as X Display * or
393
+ * Windows Device Context. They must be defined in platform-specific
394
+ * code below. The EGL-prefixed versions of Native*Type are the same
395
+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
396
+ *
397
+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
398
+ * provided below, since these changes affect both binary and source
399
+ * portability of applications using EGL running on different EGL
400
+ * implementations.
401
+ */
402
+
403
+ #if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
404
+
405
+ typedef void *EGLNativeDisplayType;
406
+ typedef void *EGLNativePixmapType;
407
+ typedef void *EGLNativeWindowType;
408
+
409
+ #elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
410
+ #ifndef WIN32_LEAN_AND_MEAN
411
+ #define WIN32_LEAN_AND_MEAN 1
412
+ #endif
413
+ #include <windows.h>
414
+
415
+ typedef HDC EGLNativeDisplayType;
416
+ typedef HBITMAP EGLNativePixmapType;
417
+ typedef HWND EGLNativeWindowType;
418
+
419
+ #elif defined(__EMSCRIPTEN__)
420
+
421
+ typedef int EGLNativeDisplayType;
422
+ typedef int EGLNativePixmapType;
423
+ typedef int EGLNativeWindowType;
424
+
425
+ #elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
426
+
427
+ typedef int EGLNativeDisplayType;
428
+ typedef void *EGLNativePixmapType;
429
+ typedef void *EGLNativeWindowType;
430
+
431
+ #elif defined(WL_EGL_PLATFORM)
432
+
433
+ typedef struct wl_display *EGLNativeDisplayType;
434
+ typedef struct wl_egl_pixmap *EGLNativePixmapType;
435
+ typedef struct wl_egl_window *EGLNativeWindowType;
436
+
437
+ #elif defined(__GBM__)
438
+
439
+ typedef struct gbm_device *EGLNativeDisplayType;
440
+ typedef struct gbm_bo *EGLNativePixmapType;
441
+ typedef void *EGLNativeWindowType;
442
+
443
+ #elif defined(__ANDROID__) || defined(ANDROID)
444
+
445
+ struct ANativeWindow;
446
+ struct egl_native_pixmap_t;
447
+
448
+ typedef void* EGLNativeDisplayType;
449
+ typedef struct egl_native_pixmap_t* EGLNativePixmapType;
450
+ typedef struct ANativeWindow* EGLNativeWindowType;
451
+
452
+ #elif defined(USE_OZONE)
453
+
454
+ typedef intptr_t EGLNativeDisplayType;
455
+ typedef intptr_t EGLNativePixmapType;
456
+ typedef intptr_t EGLNativeWindowType;
457
+
458
+ #elif defined(USE_X11)
459
+
460
+ /* X11 (tentative) */
461
+ #include <X11/Xlib.h>
462
+ #include <X11/Xutil.h>
463
+
464
+ typedef Display *EGLNativeDisplayType;
465
+ typedef Pixmap EGLNativePixmapType;
466
+ typedef Window EGLNativeWindowType;
467
+
468
+ #elif defined(__unix__)
469
+
470
+ typedef void *EGLNativeDisplayType;
471
+ typedef khronos_uintptr_t EGLNativePixmapType;
472
+ typedef khronos_uintptr_t EGLNativeWindowType;
473
+
474
+ #elif defined(__APPLE__)
475
+
476
+ typedef int EGLNativeDisplayType;
477
+ typedef void *EGLNativePixmapType;
478
+ typedef void *EGLNativeWindowType;
479
+
480
+ #elif defined(__HAIKU__)
481
+
482
+ #include <kernel/image.h>
483
+
484
+ typedef void *EGLNativeDisplayType;
485
+ typedef khronos_uintptr_t EGLNativePixmapType;
486
+ typedef khronos_uintptr_t EGLNativeWindowType;
487
+
488
+ #elif defined(__Fuchsia__)
489
+
490
+ typedef void *EGLNativeDisplayType;
491
+ typedef khronos_uintptr_t EGLNativePixmapType;
492
+ typedef khronos_uintptr_t EGLNativeWindowType;
493
+
494
+ #else
495
+ #error "Platform not recognized"
496
+ #endif
497
+
498
+ /* EGL 1.2 types, renamed for consistency in EGL 1.3 */
499
+ typedef EGLNativeDisplayType NativeDisplayType;
500
+ typedef EGLNativePixmapType NativePixmapType;
501
+ typedef EGLNativeWindowType NativeWindowType;
502
+
503
+
504
+ /* Define EGLint. This must be a signed integral type large enough to contain
505
+ * all legal attribute names and values passed into and out of EGL, whether
506
+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
507
+ * handle, or other. While in general a 32-bit integer will suffice, if
508
+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
509
+ * integer type.
510
+ */
511
+ typedef khronos_int32_t EGLint;
512
+
513
+
514
+ /* C++ / C typecast macros for special EGL handle values */
515
+ #if defined(__cplusplus)
516
+ #define EGL_CAST(type, value) (static_cast<type>(value))
517
+ #else
518
+ #define EGL_CAST(type, value) ((type) (value))
519
+ #endif
520
+
521
+ #endif /* __eglplatform_h */
522
+
523
+
524
+ #ifndef __egl_h_
525
+ #define __egl_h_ 1
526
+
527
+ #ifdef __cplusplus
528
+ extern "C" {
529
+ #endif
530
+
531
+ /*
532
+ ** Copyright 2013-2020 The Khronos Group Inc.
533
+ ** SPDX-License-Identifier: Apache-2.0
534
+ **
535
+ ** This header is generated from the Khronos EGL XML API Registry.
536
+ ** The current version of the Registry, generator scripts
537
+ ** used to make the header, and the header can be found at
538
+ ** http://www.khronos.org/registry/egl
539
+ **
540
+ ** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $
541
+ */
542
+
543
+ /*#include <EGL/eglplatform.h>*/
544
+
545
+ #ifndef EGL_EGL_PROTOTYPES
546
+ #define EGL_EGL_PROTOTYPES 1
547
+ #endif
548
+
549
+ /* Generated on date 20220525 */
550
+
551
+ /* Generated C header for:
552
+ * API: egl
553
+ * Versions considered: .*
554
+ * Versions emitted: .*
555
+ * Default extensions included: None
556
+ * Additional extensions included: _nomatch_^
557
+ * Extensions removed: _nomatch_^
558
+ */
559
+
560
+ #ifndef EGL_VERSION_1_0
561
+ #define EGL_VERSION_1_0 1
562
+ typedef unsigned int EGLBoolean;
563
+ typedef void *EGLDisplay;
564
+ /*#include <KHR/khrplatform.h>*/
565
+ /*#include <EGL/eglplatform.h>*/
566
+ typedef void *EGLConfig;
567
+ typedef void *EGLSurface;
568
+ typedef void *EGLContext;
569
+ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
570
+ #define EGL_ALPHA_SIZE 0x3021
571
+ #define EGL_BAD_ACCESS 0x3002
572
+ #define EGL_BAD_ALLOC 0x3003
573
+ #define EGL_BAD_ATTRIBUTE 0x3004
574
+ #define EGL_BAD_CONFIG 0x3005
575
+ #define EGL_BAD_CONTEXT 0x3006
576
+ #define EGL_BAD_CURRENT_SURFACE 0x3007
577
+ #define EGL_BAD_DISPLAY 0x3008
578
+ #define EGL_BAD_MATCH 0x3009
579
+ #define EGL_BAD_NATIVE_PIXMAP 0x300A
580
+ #define EGL_BAD_NATIVE_WINDOW 0x300B
581
+ #define EGL_BAD_PARAMETER 0x300C
582
+ #define EGL_BAD_SURFACE 0x300D
583
+ #define EGL_BLUE_SIZE 0x3022
584
+ #define EGL_BUFFER_SIZE 0x3020
585
+ #define EGL_CONFIG_CAVEAT 0x3027
586
+ #define EGL_CONFIG_ID 0x3028
587
+ #define EGL_CORE_NATIVE_ENGINE 0x305B
588
+ #define EGL_DEPTH_SIZE 0x3025
589
+ #define EGL_DONT_CARE EGL_CAST(EGLint,-1)
590
+ #define EGL_DRAW 0x3059
591
+ #define EGL_EXTENSIONS 0x3055
592
+ #define EGL_FALSE 0
593
+ #define EGL_GREEN_SIZE 0x3023
594
+ #define EGL_HEIGHT 0x3056
595
+ #define EGL_LARGEST_PBUFFER 0x3058
596
+ #define EGL_LEVEL 0x3029
597
+ #define EGL_MAX_PBUFFER_HEIGHT 0x302A
598
+ #define EGL_MAX_PBUFFER_PIXELS 0x302B
599
+ #define EGL_MAX_PBUFFER_WIDTH 0x302C
600
+ #define EGL_NATIVE_RENDERABLE 0x302D
601
+ #define EGL_NATIVE_VISUAL_ID 0x302E
602
+ #define EGL_NATIVE_VISUAL_TYPE 0x302F
603
+ #define EGL_NONE 0x3038
604
+ #define EGL_NON_CONFORMANT_CONFIG 0x3051
605
+ #define EGL_NOT_INITIALIZED 0x3001
606
+ #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
607
+ #define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
608
+ #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
609
+ #define EGL_PBUFFER_BIT 0x0001
610
+ #define EGL_PIXMAP_BIT 0x0002
611
+ #define EGL_READ 0x305A
612
+ #define EGL_RED_SIZE 0x3024
613
+ #define EGL_SAMPLES 0x3031
614
+ #define EGL_SAMPLE_BUFFERS 0x3032
615
+ #define EGL_SLOW_CONFIG 0x3050
616
+ #define EGL_STENCIL_SIZE 0x3026
617
+ #define EGL_SUCCESS 0x3000
618
+ #define EGL_SURFACE_TYPE 0x3033
619
+ #define EGL_TRANSPARENT_BLUE_VALUE 0x3035
620
+ #define EGL_TRANSPARENT_GREEN_VALUE 0x3036
621
+ #define EGL_TRANSPARENT_RED_VALUE 0x3037
622
+ #define EGL_TRANSPARENT_RGB 0x3052
623
+ #define EGL_TRANSPARENT_TYPE 0x3034
624
+ #define EGL_TRUE 1
625
+ #define EGL_VENDOR 0x3053
626
+ #define EGL_VERSION 0x3054
627
+ #define EGL_WIDTH 0x3057
628
+ #define EGL_WINDOW_BIT 0x0004
629
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
630
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
631
+ typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
632
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
633
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
634
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
635
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
636
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
637
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
638
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
639
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
640
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
641
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
642
+ typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
643
+ typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
644
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
645
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
646
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
647
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
648
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
649
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
650
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
651
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
652
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
653
+ #if EGL_EGL_PROTOTYPES
654
+ EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
655
+ EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
656
+ EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
657
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
658
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
659
+ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
660
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
661
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
662
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
663
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
664
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
665
+ EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
666
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
667
+ EGLAPI EGLint EGLAPIENTRY eglGetError (void);
668
+ EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
669
+ EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
670
+ EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
671
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
672
+ EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
673
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
674
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
675
+ EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
676
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
677
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
678
+ #endif
679
+ #endif /* EGL_VERSION_1_0 */
680
+
681
+ #ifndef EGL_VERSION_1_1
682
+ #define EGL_VERSION_1_1 1
683
+ #define EGL_BACK_BUFFER 0x3084
684
+ #define EGL_BIND_TO_TEXTURE_RGB 0x3039
685
+ #define EGL_BIND_TO_TEXTURE_RGBA 0x303A
686
+ #define EGL_CONTEXT_LOST 0x300E
687
+ #define EGL_MIN_SWAP_INTERVAL 0x303B
688
+ #define EGL_MAX_SWAP_INTERVAL 0x303C
689
+ #define EGL_MIPMAP_TEXTURE 0x3082
690
+ #define EGL_MIPMAP_LEVEL 0x3083
691
+ #define EGL_NO_TEXTURE 0x305C
692
+ #define EGL_TEXTURE_2D 0x305F
693
+ #define EGL_TEXTURE_FORMAT 0x3080
694
+ #define EGL_TEXTURE_RGB 0x305D
695
+ #define EGL_TEXTURE_RGBA 0x305E
696
+ #define EGL_TEXTURE_TARGET 0x3081
697
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
698
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
699
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
700
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
701
+ #if EGL_EGL_PROTOTYPES
702
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
703
+ EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
704
+ EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
705
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
706
+ #endif
707
+ #endif /* EGL_VERSION_1_1 */
708
+
709
+ #ifndef EGL_VERSION_1_2
710
+ #define EGL_VERSION_1_2 1
711
+ typedef unsigned int EGLenum;
712
+ typedef void *EGLClientBuffer;
713
+ #define EGL_ALPHA_FORMAT 0x3088
714
+ #define EGL_ALPHA_FORMAT_NONPRE 0x308B
715
+ #define EGL_ALPHA_FORMAT_PRE 0x308C
716
+ #define EGL_ALPHA_MASK_SIZE 0x303E
717
+ #define EGL_BUFFER_PRESERVED 0x3094
718
+ #define EGL_BUFFER_DESTROYED 0x3095
719
+ #define EGL_CLIENT_APIS 0x308D
720
+ #define EGL_COLORSPACE 0x3087
721
+ #define EGL_COLORSPACE_sRGB 0x3089
722
+ #define EGL_COLORSPACE_LINEAR 0x308A
723
+ #define EGL_COLOR_BUFFER_TYPE 0x303F
724
+ #define EGL_CONTEXT_CLIENT_TYPE 0x3097
725
+ #define EGL_DISPLAY_SCALING 10000
726
+ #define EGL_HORIZONTAL_RESOLUTION 0x3090
727
+ #define EGL_LUMINANCE_BUFFER 0x308F
728
+ #define EGL_LUMINANCE_SIZE 0x303D
729
+ #define EGL_OPENGL_ES_BIT 0x0001
730
+ #define EGL_OPENVG_BIT 0x0002
731
+ #define EGL_OPENGL_ES_API 0x30A0
732
+ #define EGL_OPENVG_API 0x30A1
733
+ #define EGL_OPENVG_IMAGE 0x3096
734
+ #define EGL_PIXEL_ASPECT_RATIO 0x3092
735
+ #define EGL_RENDERABLE_TYPE 0x3040
736
+ #define EGL_RENDER_BUFFER 0x3086
737
+ #define EGL_RGB_BUFFER 0x308E
738
+ #define EGL_SINGLE_BUFFER 0x3085
739
+ #define EGL_SWAP_BEHAVIOR 0x3093
740
+ #define EGL_UNKNOWN EGL_CAST(EGLint,-1)
741
+ #define EGL_VERTICAL_RESOLUTION 0x3091
742
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
743
+ typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
744
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
745
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
746
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
747
+ #if EGL_EGL_PROTOTYPES
748
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
749
+ EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
750
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
751
+ EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
752
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
753
+ #endif
754
+ #endif /* EGL_VERSION_1_2 */
755
+
756
+ #ifndef EGL_VERSION_1_3
757
+ #define EGL_VERSION_1_3 1
758
+ #define EGL_CONFORMANT 0x3042
759
+ #define EGL_CONTEXT_CLIENT_VERSION 0x3098
760
+ #define EGL_MATCH_NATIVE_PIXMAP 0x3041
761
+ #define EGL_OPENGL_ES2_BIT 0x0004
762
+ #define EGL_VG_ALPHA_FORMAT 0x3088
763
+ #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
764
+ #define EGL_VG_ALPHA_FORMAT_PRE 0x308C
765
+ #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
766
+ #define EGL_VG_COLORSPACE 0x3087
767
+ #define EGL_VG_COLORSPACE_sRGB 0x3089
768
+ #define EGL_VG_COLORSPACE_LINEAR 0x308A
769
+ #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
770
+ #endif /* EGL_VERSION_1_3 */
771
+
772
+ #ifndef EGL_VERSION_1_4
773
+ #define EGL_VERSION_1_4 1
774
+ #define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
775
+ #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
776
+ #define EGL_MULTISAMPLE_RESOLVE 0x3099
777
+ #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
778
+ #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
779
+ #define EGL_OPENGL_API 0x30A2
780
+ #define EGL_OPENGL_BIT 0x0008
781
+ #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
782
+ typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
783
+ #if EGL_EGL_PROTOTYPES
784
+ EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
785
+ #endif
786
+ #endif /* EGL_VERSION_1_4 */
787
+
788
+ #ifndef EGL_VERSION_1_5
789
+ #define EGL_VERSION_1_5 1
790
+ typedef void *EGLSync;
791
+ typedef intptr_t EGLAttrib;
792
+ typedef khronos_utime_nanoseconds_t EGLTime;
793
+ typedef void *EGLImage;
794
+ #define EGL_CONTEXT_MAJOR_VERSION 0x3098
795
+ #define EGL_CONTEXT_MINOR_VERSION 0x30FB
796
+ #define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
797
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
798
+ #define EGL_NO_RESET_NOTIFICATION 0x31BE
799
+ #define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
800
+ #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
801
+ #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
802
+ #define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
803
+ #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
804
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
805
+ #define EGL_OPENGL_ES3_BIT 0x00000040
806
+ #define EGL_CL_EVENT_HANDLE 0x309C
807
+ #define EGL_SYNC_CL_EVENT 0x30FE
808
+ #define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
809
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
810
+ #define EGL_SYNC_TYPE 0x30F7
811
+ #define EGL_SYNC_STATUS 0x30F1
812
+ #define EGL_SYNC_CONDITION 0x30F8
813
+ #define EGL_SIGNALED 0x30F2
814
+ #define EGL_UNSIGNALED 0x30F3
815
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
816
+ #define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
817
+ #define EGL_TIMEOUT_EXPIRED 0x30F5
818
+ #define EGL_CONDITION_SATISFIED 0x30F6
819
+ #define EGL_NO_SYNC EGL_CAST(EGLSync,0)
820
+ #define EGL_SYNC_FENCE 0x30F9
821
+ #define EGL_GL_COLORSPACE 0x309D
822
+ #define EGL_GL_COLORSPACE_SRGB 0x3089
823
+ #define EGL_GL_COLORSPACE_LINEAR 0x308A
824
+ #define EGL_GL_RENDERBUFFER 0x30B9
825
+ #define EGL_GL_TEXTURE_2D 0x30B1
826
+ #define EGL_GL_TEXTURE_LEVEL 0x30BC
827
+ #define EGL_GL_TEXTURE_3D 0x30B2
828
+ #define EGL_GL_TEXTURE_ZOFFSET 0x30BD
829
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
830
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
831
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
832
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
833
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
834
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
835
+ #define EGL_IMAGE_PRESERVED 0x30D2
836
+ #define EGL_NO_IMAGE EGL_CAST(EGLImage,0)
837
+ typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
838
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
839
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
840
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
841
+ typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
842
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
843
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
844
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
845
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
846
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
847
+ #if EGL_EGL_PROTOTYPES
848
+ EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
849
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
850
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
851
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
852
+ EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
853
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
854
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
855
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
856
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
857
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
858
+ #endif
859
+ #endif /* EGL_VERSION_1_5 */
860
+
861
+ #ifdef __cplusplus
862
+ }
863
+ #endif
864
+
865
+ #endif /* __egl_h_ */
866
+
867
+
868
+ #ifndef __eglext_h_
869
+ #define __eglext_h_ 1
870
+
871
+ #ifdef __cplusplus
872
+ extern "C" {
873
+ #endif
874
+
875
+ /*
876
+ ** Copyright 2013-2020 The Khronos Group Inc.
877
+ ** SPDX-License-Identifier: Apache-2.0
878
+ **
879
+ ** This header is generated from the Khronos EGL XML API Registry.
880
+ ** The current version of the Registry, generator scripts
881
+ ** used to make the header, and the header can be found at
882
+ ** http://www.khronos.org/registry/egl
883
+ **
884
+ ** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $
885
+ */
886
+
887
+ /*#include <EGL/eglplatform.h>*/
888
+
889
+ #define EGL_EGLEXT_VERSION 20220525
890
+
891
+ /* Generated C header for:
892
+ * API: egl
893
+ * Versions considered: .*
894
+ * Versions emitted: _nomatch_^
895
+ * Default extensions included: egl
896
+ * Additional extensions included: _nomatch_^
897
+ * Extensions removed: _nomatch_^
898
+ */
899
+
900
+ #ifndef EGL_KHR_cl_event
901
+ #define EGL_KHR_cl_event 1
902
+ #define EGL_CL_EVENT_HANDLE_KHR 0x309C
903
+ #define EGL_SYNC_CL_EVENT_KHR 0x30FE
904
+ #define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF
905
+ #endif /* EGL_KHR_cl_event */
906
+
907
+ #ifndef EGL_KHR_cl_event2
908
+ #define EGL_KHR_cl_event2 1
909
+ typedef void *EGLSyncKHR;
910
+ typedef intptr_t EGLAttribKHR;
911
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
912
+ #ifdef EGL_EGLEXT_PROTOTYPES
913
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
914
+ #endif
915
+ #endif /* EGL_KHR_cl_event2 */
916
+
917
+ #ifndef EGL_KHR_client_get_all_proc_addresses
918
+ #define EGL_KHR_client_get_all_proc_addresses 1
919
+ #endif /* EGL_KHR_client_get_all_proc_addresses */
920
+
921
+ #ifndef EGL_KHR_config_attribs
922
+ #define EGL_KHR_config_attribs 1
923
+ #define EGL_CONFORMANT_KHR 0x3042
924
+ #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020
925
+ #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040
926
+ #endif /* EGL_KHR_config_attribs */
927
+
928
+ #ifndef EGL_KHR_context_flush_control
929
+ #define EGL_KHR_context_flush_control 1
930
+ #define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0
931
+ #define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x2097
932
+ #define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098
933
+ #endif /* EGL_KHR_context_flush_control */
934
+
935
+ #ifndef EGL_KHR_create_context
936
+ #define EGL_KHR_create_context 1
937
+ #define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
938
+ #define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
939
+ #define EGL_CONTEXT_FLAGS_KHR 0x30FC
940
+ #define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
941
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
942
+ #define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE
943
+ #define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
944
+ #define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001
945
+ #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
946
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
947
+ #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
948
+ #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
949
+ #define EGL_OPENGL_ES3_BIT_KHR 0x00000040
950
+ #endif /* EGL_KHR_create_context */
951
+
952
+ #ifndef EGL_KHR_create_context_no_error
953
+ #define EGL_KHR_create_context_no_error 1
954
+ #define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3
955
+ #endif /* EGL_KHR_create_context_no_error */
956
+
957
+ #ifndef EGL_KHR_debug
958
+ #define EGL_KHR_debug 1
959
+ typedef void *EGLLabelKHR;
960
+ typedef void *EGLObjectKHR;
961
+ typedef void (EGLAPIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
962
+ #define EGL_OBJECT_THREAD_KHR 0x33B0
963
+ #define EGL_OBJECT_DISPLAY_KHR 0x33B1
964
+ #define EGL_OBJECT_CONTEXT_KHR 0x33B2
965
+ #define EGL_OBJECT_SURFACE_KHR 0x33B3
966
+ #define EGL_OBJECT_IMAGE_KHR 0x33B4
967
+ #define EGL_OBJECT_SYNC_KHR 0x33B5
968
+ #define EGL_OBJECT_STREAM_KHR 0x33B6
969
+ #define EGL_DEBUG_MSG_CRITICAL_KHR 0x33B9
970
+ #define EGL_DEBUG_MSG_ERROR_KHR 0x33BA
971
+ #define EGL_DEBUG_MSG_WARN_KHR 0x33BB
972
+ #define EGL_DEBUG_MSG_INFO_KHR 0x33BC
973
+ #define EGL_DEBUG_CALLBACK_KHR 0x33B8
974
+ typedef EGLint (EGLAPIENTRYP PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
975
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value);
976
+ typedef EGLint (EGLAPIENTRYP PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
977
+ #ifdef EGL_EGLEXT_PROTOTYPES
978
+ EGLAPI EGLint EGLAPIENTRY eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
979
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDebugKHR (EGLint attribute, EGLAttrib *value);
980
+ EGLAPI EGLint EGLAPIENTRY eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
981
+ #endif
982
+ #endif /* EGL_KHR_debug */
983
+
984
+ #ifndef EGL_KHR_display_reference
985
+ #define EGL_KHR_display_reference 1
986
+ #define EGL_TRACK_REFERENCES_KHR 0x3352
987
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value);
988
+ #ifdef EGL_EGLEXT_PROTOTYPES
989
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value);
990
+ #endif
991
+ #endif /* EGL_KHR_display_reference */
992
+
993
+ #ifndef EGL_KHR_fence_sync
994
+ #define EGL_KHR_fence_sync 1
995
+ typedef khronos_utime_nanoseconds_t EGLTimeKHR;
996
+ #ifdef KHRONOS_SUPPORT_INT64
997
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
998
+ #define EGL_SYNC_CONDITION_KHR 0x30F8
999
+ #define EGL_SYNC_FENCE_KHR 0x30F9
1000
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
1001
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1002
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
1003
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
1004
+ #ifdef EGL_EGLEXT_PROTOTYPES
1005
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
1006
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
1007
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
1008
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
1009
+ #endif
1010
+ #endif /* KHRONOS_SUPPORT_INT64 */
1011
+ #endif /* EGL_KHR_fence_sync */
1012
+
1013
+ #ifndef EGL_KHR_get_all_proc_addresses
1014
+ #define EGL_KHR_get_all_proc_addresses 1
1015
+ #endif /* EGL_KHR_get_all_proc_addresses */
1016
+
1017
+ #ifndef EGL_KHR_gl_colorspace
1018
+ #define EGL_KHR_gl_colorspace 1
1019
+ #define EGL_GL_COLORSPACE_KHR 0x309D
1020
+ #define EGL_GL_COLORSPACE_SRGB_KHR 0x3089
1021
+ #define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A
1022
+ #endif /* EGL_KHR_gl_colorspace */
1023
+
1024
+ #ifndef EGL_KHR_gl_renderbuffer_image
1025
+ #define EGL_KHR_gl_renderbuffer_image 1
1026
+ #define EGL_GL_RENDERBUFFER_KHR 0x30B9
1027
+ #endif /* EGL_KHR_gl_renderbuffer_image */
1028
+
1029
+ #ifndef EGL_KHR_gl_texture_2D_image
1030
+ #define EGL_KHR_gl_texture_2D_image 1
1031
+ #define EGL_GL_TEXTURE_2D_KHR 0x30B1
1032
+ #define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC
1033
+ #endif /* EGL_KHR_gl_texture_2D_image */
1034
+
1035
+ #ifndef EGL_KHR_gl_texture_3D_image
1036
+ #define EGL_KHR_gl_texture_3D_image 1
1037
+ #define EGL_GL_TEXTURE_3D_KHR 0x30B2
1038
+ #define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD
1039
+ #endif /* EGL_KHR_gl_texture_3D_image */
1040
+
1041
+ #ifndef EGL_KHR_gl_texture_cubemap_image
1042
+ #define EGL_KHR_gl_texture_cubemap_image 1
1043
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
1044
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
1045
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
1046
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
1047
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
1048
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
1049
+ #endif /* EGL_KHR_gl_texture_cubemap_image */
1050
+
1051
+ #ifndef EGL_KHR_image
1052
+ #define EGL_KHR_image 1
1053
+ typedef void *EGLImageKHR;
1054
+ #define EGL_NATIVE_PIXMAP_KHR 0x30B0
1055
+ #define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0)
1056
+ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
1057
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
1058
+ #ifdef EGL_EGLEXT_PROTOTYPES
1059
+ EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
1060
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
1061
+ #endif
1062
+ #endif /* EGL_KHR_image */
1063
+
1064
+ #ifndef EGL_KHR_image_base
1065
+ #define EGL_KHR_image_base 1
1066
+ #define EGL_IMAGE_PRESERVED_KHR 0x30D2
1067
+ #endif /* EGL_KHR_image_base */
1068
+
1069
+ #ifndef EGL_KHR_image_pixmap
1070
+ #define EGL_KHR_image_pixmap 1
1071
+ #endif /* EGL_KHR_image_pixmap */
1072
+
1073
+ #ifndef EGL_KHR_lock_surface
1074
+ #define EGL_KHR_lock_surface 1
1075
+ #define EGL_READ_SURFACE_BIT_KHR 0x0001
1076
+ #define EGL_WRITE_SURFACE_BIT_KHR 0x0002
1077
+ #define EGL_LOCK_SURFACE_BIT_KHR 0x0080
1078
+ #define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
1079
+ #define EGL_MATCH_FORMAT_KHR 0x3043
1080
+ #define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
1081
+ #define EGL_FORMAT_RGB_565_KHR 0x30C1
1082
+ #define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
1083
+ #define EGL_FORMAT_RGBA_8888_KHR 0x30C3
1084
+ #define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
1085
+ #define EGL_LOCK_USAGE_HINT_KHR 0x30C5
1086
+ #define EGL_BITMAP_POINTER_KHR 0x30C6
1087
+ #define EGL_BITMAP_PITCH_KHR 0x30C7
1088
+ #define EGL_BITMAP_ORIGIN_KHR 0x30C8
1089
+ #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
1090
+ #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
1091
+ #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
1092
+ #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
1093
+ #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
1094
+ #define EGL_LOWER_LEFT_KHR 0x30CE
1095
+ #define EGL_UPPER_LEFT_KHR 0x30CF
1096
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
1097
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
1098
+ #ifdef EGL_EGLEXT_PROTOTYPES
1099
+ EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
1100
+ EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
1101
+ #endif
1102
+ #endif /* EGL_KHR_lock_surface */
1103
+
1104
+ #ifndef EGL_KHR_lock_surface2
1105
+ #define EGL_KHR_lock_surface2 1
1106
+ #define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
1107
+ #endif /* EGL_KHR_lock_surface2 */
1108
+
1109
+ #ifndef EGL_KHR_lock_surface3
1110
+ #define EGL_KHR_lock_surface3 1
1111
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1112
+ #ifdef EGL_EGLEXT_PROTOTYPES
1113
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1114
+ #endif
1115
+ #endif /* EGL_KHR_lock_surface3 */
1116
+
1117
+ #ifndef EGL_KHR_mutable_render_buffer
1118
+ #define EGL_KHR_mutable_render_buffer 1
1119
+ #define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000
1120
+ #endif /* EGL_KHR_mutable_render_buffer */
1121
+
1122
+ #ifndef EGL_KHR_no_config_context
1123
+ #define EGL_KHR_no_config_context 1
1124
+ #define EGL_NO_CONFIG_KHR EGL_CAST(EGLConfig,0)
1125
+ #endif /* EGL_KHR_no_config_context */
1126
+
1127
+ #ifndef EGL_KHR_partial_update
1128
+ #define EGL_KHR_partial_update 1
1129
+ #define EGL_BUFFER_AGE_KHR 0x313D
1130
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1131
+ #ifdef EGL_EGLEXT_PROTOTYPES
1132
+ EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1133
+ #endif
1134
+ #endif /* EGL_KHR_partial_update */
1135
+
1136
+ #ifndef EGL_KHR_platform_android
1137
+ #define EGL_KHR_platform_android 1
1138
+ #define EGL_PLATFORM_ANDROID_KHR 0x3141
1139
+ #endif /* EGL_KHR_platform_android */
1140
+
1141
+ #ifndef EGL_KHR_platform_gbm
1142
+ #define EGL_KHR_platform_gbm 1
1143
+ #define EGL_PLATFORM_GBM_KHR 0x31D7
1144
+ #endif /* EGL_KHR_platform_gbm */
1145
+
1146
+ #ifndef EGL_KHR_platform_wayland
1147
+ #define EGL_KHR_platform_wayland 1
1148
+ #define EGL_PLATFORM_WAYLAND_KHR 0x31D8
1149
+ #endif /* EGL_KHR_platform_wayland */
1150
+
1151
+ #ifndef EGL_KHR_platform_x11
1152
+ #define EGL_KHR_platform_x11 1
1153
+ #define EGL_PLATFORM_X11_KHR 0x31D5
1154
+ #define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6
1155
+ #endif /* EGL_KHR_platform_x11 */
1156
+
1157
+ #ifndef EGL_KHR_reusable_sync
1158
+ #define EGL_KHR_reusable_sync 1
1159
+ #ifdef KHRONOS_SUPPORT_INT64
1160
+ #define EGL_SYNC_STATUS_KHR 0x30F1
1161
+ #define EGL_SIGNALED_KHR 0x30F2
1162
+ #define EGL_UNSIGNALED_KHR 0x30F3
1163
+ #define EGL_TIMEOUT_EXPIRED_KHR 0x30F5
1164
+ #define EGL_CONDITION_SATISFIED_KHR 0x30F6
1165
+ #define EGL_SYNC_TYPE_KHR 0x30F7
1166
+ #define EGL_SYNC_REUSABLE_KHR 0x30FA
1167
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
1168
+ #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
1169
+ #define EGL_NO_SYNC_KHR EGL_CAST(EGLSyncKHR,0)
1170
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1171
+ #ifdef EGL_EGLEXT_PROTOTYPES
1172
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1173
+ #endif
1174
+ #endif /* KHRONOS_SUPPORT_INT64 */
1175
+ #endif /* EGL_KHR_reusable_sync */
1176
+
1177
+ #ifndef EGL_KHR_stream
1178
+ #define EGL_KHR_stream 1
1179
+ typedef void *EGLStreamKHR;
1180
+ typedef khronos_uint64_t EGLuint64KHR;
1181
+ #ifdef KHRONOS_SUPPORT_INT64
1182
+ #define EGL_NO_STREAM_KHR EGL_CAST(EGLStreamKHR,0)
1183
+ #define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210
1184
+ #define EGL_PRODUCER_FRAME_KHR 0x3212
1185
+ #define EGL_CONSUMER_FRAME_KHR 0x3213
1186
+ #define EGL_STREAM_STATE_KHR 0x3214
1187
+ #define EGL_STREAM_STATE_CREATED_KHR 0x3215
1188
+ #define EGL_STREAM_STATE_CONNECTING_KHR 0x3216
1189
+ #define EGL_STREAM_STATE_EMPTY_KHR 0x3217
1190
+ #define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
1191
+ #define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
1192
+ #define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
1193
+ #define EGL_BAD_STREAM_KHR 0x321B
1194
+ #define EGL_BAD_STATE_KHR 0x321C
1195
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1196
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1197
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1198
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1199
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1200
+ #ifdef EGL_EGLEXT_PROTOTYPES
1201
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
1202
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
1203
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1204
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1205
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1206
+ #endif
1207
+ #endif /* KHRONOS_SUPPORT_INT64 */
1208
+ #endif /* EGL_KHR_stream */
1209
+
1210
+ #ifndef EGL_KHR_stream_attrib
1211
+ #define EGL_KHR_stream_attrib 1
1212
+ #ifdef KHRONOS_SUPPORT_INT64
1213
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list);
1214
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
1215
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
1216
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1217
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1218
+ #ifdef EGL_EGLEXT_PROTOTYPES
1219
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list);
1220
+ EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
1221
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
1222
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1223
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1224
+ #endif
1225
+ #endif /* KHRONOS_SUPPORT_INT64 */
1226
+ #endif /* EGL_KHR_stream_attrib */
1227
+
1228
+ #ifndef EGL_KHR_stream_consumer_gltexture
1229
+ #define EGL_KHR_stream_consumer_gltexture 1
1230
+ #ifdef EGL_KHR_stream
1231
+ #define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
1232
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1233
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1234
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1235
+ #ifdef EGL_EGLEXT_PROTOTYPES
1236
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
1237
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
1238
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
1239
+ #endif
1240
+ #endif /* EGL_KHR_stream */
1241
+ #endif /* EGL_KHR_stream_consumer_gltexture */
1242
+
1243
+ #ifndef EGL_KHR_stream_cross_process_fd
1244
+ #define EGL_KHR_stream_cross_process_fd 1
1245
+ typedef int EGLNativeFileDescriptorKHR;
1246
+ #ifdef EGL_KHR_stream
1247
+ #define EGL_NO_FILE_DESCRIPTOR_KHR EGL_CAST(EGLNativeFileDescriptorKHR,-1)
1248
+ typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1249
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1250
+ #ifdef EGL_EGLEXT_PROTOTYPES
1251
+ EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
1252
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1253
+ #endif
1254
+ #endif /* EGL_KHR_stream */
1255
+ #endif /* EGL_KHR_stream_cross_process_fd */
1256
+
1257
+ #ifndef EGL_KHR_stream_fifo
1258
+ #define EGL_KHR_stream_fifo 1
1259
+ #ifdef EGL_KHR_stream
1260
+ #define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC
1261
+ #define EGL_STREAM_TIME_NOW_KHR 0x31FD
1262
+ #define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE
1263
+ #define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF
1264
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1265
+ #ifdef EGL_EGLEXT_PROTOTYPES
1266
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1267
+ #endif
1268
+ #endif /* EGL_KHR_stream */
1269
+ #endif /* EGL_KHR_stream_fifo */
1270
+
1271
+ #ifndef EGL_KHR_stream_producer_aldatalocator
1272
+ #define EGL_KHR_stream_producer_aldatalocator 1
1273
+ #ifdef EGL_KHR_stream
1274
+ #endif /* EGL_KHR_stream */
1275
+ #endif /* EGL_KHR_stream_producer_aldatalocator */
1276
+
1277
+ #ifndef EGL_KHR_stream_producer_eglsurface
1278
+ #define EGL_KHR_stream_producer_eglsurface 1
1279
+ #ifdef EGL_KHR_stream
1280
+ #define EGL_STREAM_BIT_KHR 0x0800
1281
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1282
+ #ifdef EGL_EGLEXT_PROTOTYPES
1283
+ EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1284
+ #endif
1285
+ #endif /* EGL_KHR_stream */
1286
+ #endif /* EGL_KHR_stream_producer_eglsurface */
1287
+
1288
+ #ifndef EGL_KHR_surfaceless_context
1289
+ #define EGL_KHR_surfaceless_context 1
1290
+ #endif /* EGL_KHR_surfaceless_context */
1291
+
1292
+ #ifndef EGL_KHR_swap_buffers_with_damage
1293
+ #define EGL_KHR_swap_buffers_with_damage 1
1294
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1295
+ #ifdef EGL_EGLEXT_PROTOTYPES
1296
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1297
+ #endif
1298
+ #endif /* EGL_KHR_swap_buffers_with_damage */
1299
+
1300
+ #ifndef EGL_KHR_vg_parent_image
1301
+ #define EGL_KHR_vg_parent_image 1
1302
+ #define EGL_VG_PARENT_IMAGE_KHR 0x30BA
1303
+ #endif /* EGL_KHR_vg_parent_image */
1304
+
1305
+ #ifndef EGL_KHR_wait_sync
1306
+ #define EGL_KHR_wait_sync 1
1307
+ typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1308
+ #ifdef EGL_EGLEXT_PROTOTYPES
1309
+ EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1310
+ #endif
1311
+ #endif /* EGL_KHR_wait_sync */
1312
+
1313
+ #ifndef EGL_ANDROID_GLES_layers
1314
+ #define EGL_ANDROID_GLES_layers 1
1315
+ #endif /* EGL_ANDROID_GLES_layers */
1316
+
1317
+ #ifndef EGL_ANDROID_blob_cache
1318
+ #define EGL_ANDROID_blob_cache 1
1319
+ typedef khronos_ssize_t EGLsizeiANDROID;
1320
+ typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
1321
+ typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
1322
+ typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1323
+ #ifdef EGL_EGLEXT_PROTOTYPES
1324
+ EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1325
+ #endif
1326
+ #endif /* EGL_ANDROID_blob_cache */
1327
+
1328
+ #ifndef EGL_ANDROID_create_native_client_buffer
1329
+ #define EGL_ANDROID_create_native_client_buffer 1
1330
+ #define EGL_NATIVE_BUFFER_USAGE_ANDROID 0x3143
1331
+ #define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001
1332
+ #define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002
1333
+ #define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004
1334
+ typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list);
1335
+ #ifdef EGL_EGLEXT_PROTOTYPES
1336
+ EGLAPI EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID (const EGLint *attrib_list);
1337
+ #endif
1338
+ #endif /* EGL_ANDROID_create_native_client_buffer */
1339
+
1340
+ #ifndef EGL_ANDROID_framebuffer_target
1341
+ #define EGL_ANDROID_framebuffer_target 1
1342
+ #define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
1343
+ #endif /* EGL_ANDROID_framebuffer_target */
1344
+
1345
+ #ifndef EGL_ANDROID_front_buffer_auto_refresh
1346
+ #define EGL_ANDROID_front_buffer_auto_refresh 1
1347
+ #define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C
1348
+ #endif /* EGL_ANDROID_front_buffer_auto_refresh */
1349
+
1350
+ #ifndef EGL_ANDROID_get_frame_timestamps
1351
+ #define EGL_ANDROID_get_frame_timestamps 1
1352
+ typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
1353
+ #define EGL_TIMESTAMP_PENDING_ANDROID EGL_CAST(EGLnsecsANDROID,-2)
1354
+ #define EGL_TIMESTAMP_INVALID_ANDROID EGL_CAST(EGLnsecsANDROID,-1)
1355
+ #define EGL_TIMESTAMPS_ANDROID 0x3430
1356
+ #define EGL_COMPOSITE_DEADLINE_ANDROID 0x3431
1357
+ #define EGL_COMPOSITE_INTERVAL_ANDROID 0x3432
1358
+ #define EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433
1359
+ #define EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434
1360
+ #define EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435
1361
+ #define EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436
1362
+ #define EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437
1363
+ #define EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438
1364
+ #define EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439
1365
+ #define EGL_DISPLAY_PRESENT_TIME_ANDROID 0x343A
1366
+ #define EGL_DEQUEUE_READY_TIME_ANDROID 0x343B
1367
+ #define EGL_READS_DONE_TIME_ANDROID 0x343C
1368
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint name);
1369
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values);
1370
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETNEXTFRAMEIDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
1371
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
1372
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values);
1373
+ #ifdef EGL_EGLEXT_PROTOTYPES
1374
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint name);
1375
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values);
1376
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
1377
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
1378
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values);
1379
+ #endif
1380
+ #endif /* EGL_ANDROID_get_frame_timestamps */
1381
+
1382
+ #ifndef EGL_ANDROID_get_native_client_buffer
1383
+ #define EGL_ANDROID_get_native_client_buffer 1
1384
+ struct AHardwareBuffer;
1385
+ typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) (const struct AHardwareBuffer *buffer);
1386
+ #ifdef EGL_EGLEXT_PROTOTYPES
1387
+ EGLAPI EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer);
1388
+ #endif
1389
+ #endif /* EGL_ANDROID_get_native_client_buffer */
1390
+
1391
+ #ifndef EGL_ANDROID_image_native_buffer
1392
+ #define EGL_ANDROID_image_native_buffer 1
1393
+ #define EGL_NATIVE_BUFFER_ANDROID 0x3140
1394
+ #endif /* EGL_ANDROID_image_native_buffer */
1395
+
1396
+ #ifndef EGL_ANDROID_native_fence_sync
1397
+ #define EGL_ANDROID_native_fence_sync 1
1398
+ #define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144
1399
+ #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145
1400
+ #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
1401
+ #define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
1402
+ typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1403
+ #ifdef EGL_EGLEXT_PROTOTYPES
1404
+ EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
1405
+ #endif
1406
+ #endif /* EGL_ANDROID_native_fence_sync */
1407
+
1408
+ #ifndef EGL_ANDROID_presentation_time
1409
+ #define EGL_ANDROID_presentation_time 1
1410
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
1411
+ #ifdef EGL_EGLEXT_PROTOTYPES
1412
+ EGLAPI EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
1413
+ #endif
1414
+ #endif /* EGL_ANDROID_presentation_time */
1415
+
1416
+ #ifndef EGL_ANDROID_recordable
1417
+ #define EGL_ANDROID_recordable 1
1418
+ #define EGL_RECORDABLE_ANDROID 0x3142
1419
+ #endif /* EGL_ANDROID_recordable */
1420
+
1421
+ #ifndef EGL_ANGLE_d3d_share_handle_client_buffer
1422
+ #define EGL_ANGLE_d3d_share_handle_client_buffer 1
1423
+ #define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
1424
+ #endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
1425
+
1426
+ #ifndef EGL_ANGLE_device_d3d
1427
+ #define EGL_ANGLE_device_d3d 1
1428
+ #define EGL_D3D9_DEVICE_ANGLE 0x33A0
1429
+ #define EGL_D3D11_DEVICE_ANGLE 0x33A1
1430
+ #endif /* EGL_ANGLE_device_d3d */
1431
+
1432
+ #ifndef EGL_ANGLE_query_surface_pointer
1433
+ #define EGL_ANGLE_query_surface_pointer 1
1434
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1435
+ #ifdef EGL_EGLEXT_PROTOTYPES
1436
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1437
+ #endif
1438
+ #endif /* EGL_ANGLE_query_surface_pointer */
1439
+
1440
+ #ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
1441
+ #define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
1442
+ #endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
1443
+
1444
+ #ifndef EGL_ANGLE_sync_control_rate
1445
+ #define EGL_ANGLE_sync_control_rate 1
1446
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
1447
+ #ifdef EGL_EGLEXT_PROTOTYPES
1448
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
1449
+ #endif
1450
+ #endif /* EGL_ANGLE_sync_control_rate */
1451
+
1452
+ #ifndef EGL_ANGLE_window_fixed_size
1453
+ #define EGL_ANGLE_window_fixed_size 1
1454
+ #define EGL_FIXED_SIZE_ANGLE 0x3201
1455
+ #endif /* EGL_ANGLE_window_fixed_size */
1456
+
1457
+ #ifndef EGL_ARM_image_format
1458
+ #define EGL_ARM_image_format 1
1459
+ #define EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287
1460
+ #define EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288
1461
+ #endif /* EGL_ARM_image_format */
1462
+
1463
+ #ifndef EGL_ARM_implicit_external_sync
1464
+ #define EGL_ARM_implicit_external_sync 1
1465
+ #define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
1466
+ #endif /* EGL_ARM_implicit_external_sync */
1467
+
1468
+ #ifndef EGL_ARM_pixmap_multisample_discard
1469
+ #define EGL_ARM_pixmap_multisample_discard 1
1470
+ #define EGL_DISCARD_SAMPLES_ARM 0x3286
1471
+ #endif /* EGL_ARM_pixmap_multisample_discard */
1472
+
1473
+ #ifndef EGL_EXT_bind_to_front
1474
+ #define EGL_EXT_bind_to_front 1
1475
+ #define EGL_FRONT_BUFFER_EXT 0x3464
1476
+ #endif /* EGL_EXT_bind_to_front */
1477
+
1478
+ #ifndef EGL_EXT_buffer_age
1479
+ #define EGL_EXT_buffer_age 1
1480
+ #define EGL_BUFFER_AGE_EXT 0x313D
1481
+ #endif /* EGL_EXT_buffer_age */
1482
+
1483
+ #ifndef EGL_EXT_client_extensions
1484
+ #define EGL_EXT_client_extensions 1
1485
+ #endif /* EGL_EXT_client_extensions */
1486
+
1487
+ #ifndef EGL_EXT_client_sync
1488
+ #define EGL_EXT_client_sync 1
1489
+ #define EGL_SYNC_CLIENT_EXT 0x3364
1490
+ #define EGL_SYNC_CLIENT_SIGNAL_EXT 0x3365
1491
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCLIENTSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1492
+ #ifdef EGL_EGLEXT_PROTOTYPES
1493
+ EGLAPI EGLBoolean EGLAPIENTRY eglClientSignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1494
+ #endif
1495
+ #endif /* EGL_EXT_client_sync */
1496
+
1497
+ #ifndef EGL_EXT_compositor
1498
+ #define EGL_EXT_compositor 1
1499
+ #define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT 0x3460
1500
+ #define EGL_EXTERNAL_REF_ID_EXT 0x3461
1501
+ #define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT 0x3462
1502
+ #define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT 0x3463
1503
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries);
1504
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
1505
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
1506
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
1507
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id);
1508
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height);
1509
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy);
1510
+ #ifdef EGL_EGLEXT_PROTOTYPES
1511
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries);
1512
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
1513
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
1514
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
1515
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorBindTexWindowEXT (EGLint external_win_id);
1516
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height);
1517
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy);
1518
+ #endif
1519
+ #endif /* EGL_EXT_compositor */
1520
+
1521
+ #ifndef EGL_EXT_config_select_group
1522
+ #define EGL_EXT_config_select_group 1
1523
+ #define EGL_CONFIG_SELECT_GROUP_EXT 0x34C0
1524
+ #endif /* EGL_EXT_config_select_group */
1525
+
1526
+ #ifndef EGL_EXT_create_context_robustness
1527
+ #define EGL_EXT_create_context_robustness 1
1528
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
1529
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
1530
+ #define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE
1531
+ #define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF
1532
+ #endif /* EGL_EXT_create_context_robustness */
1533
+
1534
+ #ifndef EGL_EXT_device_base
1535
+ #define EGL_EXT_device_base 1
1536
+ typedef void *EGLDeviceEXT;
1537
+ #define EGL_NO_DEVICE_EXT EGL_CAST(EGLDeviceEXT,0)
1538
+ #define EGL_BAD_DEVICE_EXT 0x322B
1539
+ #define EGL_DEVICE_EXT 0x322C
1540
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1541
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
1542
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1543
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1544
+ #ifdef EGL_EGLEXT_PROTOTYPES
1545
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1546
+ EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
1547
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1548
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1549
+ #endif
1550
+ #endif /* EGL_EXT_device_base */
1551
+
1552
+ #ifndef EGL_EXT_device_drm
1553
+ #define EGL_EXT_device_drm 1
1554
+ #define EGL_DRM_DEVICE_FILE_EXT 0x3233
1555
+ #define EGL_DRM_MASTER_FD_EXT 0x333C
1556
+ #endif /* EGL_EXT_device_drm */
1557
+
1558
+ #ifndef EGL_EXT_device_drm_render_node
1559
+ #define EGL_EXT_device_drm_render_node 1
1560
+ #define EGL_DRM_RENDER_NODE_FILE_EXT 0x3377
1561
+ #endif /* EGL_EXT_device_drm_render_node */
1562
+
1563
+ #ifndef EGL_EXT_device_enumeration
1564
+ #define EGL_EXT_device_enumeration 1
1565
+ #endif /* EGL_EXT_device_enumeration */
1566
+
1567
+ #ifndef EGL_EXT_device_openwf
1568
+ #define EGL_EXT_device_openwf 1
1569
+ #define EGL_OPENWF_DEVICE_ID_EXT 0x3237
1570
+ #define EGL_OPENWF_DEVICE_EXT 0x333D
1571
+ #endif /* EGL_EXT_device_openwf */
1572
+
1573
+ #ifndef EGL_EXT_device_persistent_id
1574
+ #define EGL_EXT_device_persistent_id 1
1575
+ #define EGL_DEVICE_UUID_EXT 0x335C
1576
+ #define EGL_DRIVER_UUID_EXT 0x335D
1577
+ #define EGL_DRIVER_NAME_EXT 0x335E
1578
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEBINARYEXTPROC) (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
1579
+ #ifdef EGL_EGLEXT_PROTOTYPES
1580
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
1581
+ #endif
1582
+ #endif /* EGL_EXT_device_persistent_id */
1583
+
1584
+ #ifndef EGL_EXT_device_query
1585
+ #define EGL_EXT_device_query 1
1586
+ #endif /* EGL_EXT_device_query */
1587
+
1588
+ #ifndef EGL_EXT_device_query_name
1589
+ #define EGL_EXT_device_query_name 1
1590
+ #define EGL_RENDERER_EXT 0x335F
1591
+ #endif /* EGL_EXT_device_query_name */
1592
+
1593
+ #ifndef EGL_EXT_explicit_device
1594
+ #define EGL_EXT_explicit_device 1
1595
+ #endif /* EGL_EXT_explicit_device */
1596
+
1597
+ #ifndef EGL_EXT_gl_colorspace_bt2020_linear
1598
+ #define EGL_EXT_gl_colorspace_bt2020_linear 1
1599
+ #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
1600
+ #endif /* EGL_EXT_gl_colorspace_bt2020_linear */
1601
+
1602
+ #ifndef EGL_EXT_gl_colorspace_bt2020_pq
1603
+ #define EGL_EXT_gl_colorspace_bt2020_pq 1
1604
+ #define EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340
1605
+ #endif /* EGL_EXT_gl_colorspace_bt2020_pq */
1606
+
1607
+ #ifndef EGL_EXT_gl_colorspace_display_p3
1608
+ #define EGL_EXT_gl_colorspace_display_p3 1
1609
+ #define EGL_GL_COLORSPACE_DISPLAY_P3_EXT 0x3363
1610
+ #endif /* EGL_EXT_gl_colorspace_display_p3 */
1611
+
1612
+ #ifndef EGL_EXT_gl_colorspace_display_p3_linear
1613
+ #define EGL_EXT_gl_colorspace_display_p3_linear 1
1614
+ #define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
1615
+ #endif /* EGL_EXT_gl_colorspace_display_p3_linear */
1616
+
1617
+ #ifndef EGL_EXT_gl_colorspace_display_p3_passthrough
1618
+ #define EGL_EXT_gl_colorspace_display_p3_passthrough 1
1619
+ #define EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT 0x3490
1620
+ #endif /* EGL_EXT_gl_colorspace_display_p3_passthrough */
1621
+
1622
+ #ifndef EGL_EXT_gl_colorspace_scrgb
1623
+ #define EGL_EXT_gl_colorspace_scrgb 1
1624
+ #define EGL_GL_COLORSPACE_SCRGB_EXT 0x3351
1625
+ #endif /* EGL_EXT_gl_colorspace_scrgb */
1626
+
1627
+ #ifndef EGL_EXT_gl_colorspace_scrgb_linear
1628
+ #define EGL_EXT_gl_colorspace_scrgb_linear 1
1629
+ #define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350
1630
+ #endif /* EGL_EXT_gl_colorspace_scrgb_linear */
1631
+
1632
+ #ifndef EGL_EXT_image_dma_buf_import
1633
+ #define EGL_EXT_image_dma_buf_import 1
1634
+ #define EGL_LINUX_DMA_BUF_EXT 0x3270
1635
+ #define EGL_LINUX_DRM_FOURCC_EXT 0x3271
1636
+ #define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
1637
+ #define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
1638
+ #define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
1639
+ #define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
1640
+ #define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
1641
+ #define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
1642
+ #define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
1643
+ #define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
1644
+ #define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
1645
+ #define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
1646
+ #define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
1647
+ #define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
1648
+ #define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
1649
+ #define EGL_ITU_REC601_EXT 0x327F
1650
+ #define EGL_ITU_REC709_EXT 0x3280
1651
+ #define EGL_ITU_REC2020_EXT 0x3281
1652
+ #define EGL_YUV_FULL_RANGE_EXT 0x3282
1653
+ #define EGL_YUV_NARROW_RANGE_EXT 0x3283
1654
+ #define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
1655
+ #define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
1656
+ #endif /* EGL_EXT_image_dma_buf_import */
1657
+
1658
+ #ifndef EGL_EXT_image_dma_buf_import_modifiers
1659
+ #define EGL_EXT_image_dma_buf_import_modifiers 1
1660
+ #define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
1661
+ #define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
1662
+ #define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
1663
+ #define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
1664
+ #define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
1665
+ #define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
1666
+ #define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
1667
+ #define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
1668
+ #define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
1669
+ #define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
1670
+ #define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
1671
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
1672
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
1673
+ #ifdef EGL_EGLEXT_PROTOTYPES
1674
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
1675
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
1676
+ #endif
1677
+ #endif /* EGL_EXT_image_dma_buf_import_modifiers */
1678
+
1679
+ #ifndef EGL_EXT_image_gl_colorspace
1680
+ #define EGL_EXT_image_gl_colorspace 1
1681
+ #define EGL_GL_COLORSPACE_DEFAULT_EXT 0x314D
1682
+ #endif /* EGL_EXT_image_gl_colorspace */
1683
+
1684
+ #ifndef EGL_EXT_image_implicit_sync_control
1685
+ #define EGL_EXT_image_implicit_sync_control 1
1686
+ #define EGL_IMPORT_SYNC_TYPE_EXT 0x3470
1687
+ #define EGL_IMPORT_IMPLICIT_SYNC_EXT 0x3471
1688
+ #define EGL_IMPORT_EXPLICIT_SYNC_EXT 0x3472
1689
+ #endif /* EGL_EXT_image_implicit_sync_control */
1690
+
1691
+ #ifndef EGL_EXT_multiview_window
1692
+ #define EGL_EXT_multiview_window 1
1693
+ #define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
1694
+ #endif /* EGL_EXT_multiview_window */
1695
+
1696
+ #ifndef EGL_EXT_output_base
1697
+ #define EGL_EXT_output_base 1
1698
+ typedef void *EGLOutputLayerEXT;
1699
+ typedef void *EGLOutputPortEXT;
1700
+ #define EGL_NO_OUTPUT_LAYER_EXT EGL_CAST(EGLOutputLayerEXT,0)
1701
+ #define EGL_NO_OUTPUT_PORT_EXT EGL_CAST(EGLOutputPortEXT,0)
1702
+ #define EGL_BAD_OUTPUT_LAYER_EXT 0x322D
1703
+ #define EGL_BAD_OUTPUT_PORT_EXT 0x322E
1704
+ #define EGL_SWAP_INTERVAL_EXT 0x322F
1705
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1706
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1707
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1708
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1709
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1710
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1711
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1712
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1713
+ #ifdef EGL_EGLEXT_PROTOTYPES
1714
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1715
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1716
+ EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1717
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1718
+ EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1719
+ EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1720
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1721
+ EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1722
+ #endif
1723
+ #endif /* EGL_EXT_output_base */
1724
+
1725
+ #ifndef EGL_EXT_output_drm
1726
+ #define EGL_EXT_output_drm 1
1727
+ #define EGL_DRM_CRTC_EXT 0x3234
1728
+ #define EGL_DRM_PLANE_EXT 0x3235
1729
+ #define EGL_DRM_CONNECTOR_EXT 0x3236
1730
+ #endif /* EGL_EXT_output_drm */
1731
+
1732
+ #ifndef EGL_EXT_output_openwf
1733
+ #define EGL_EXT_output_openwf 1
1734
+ #define EGL_OPENWF_PIPELINE_ID_EXT 0x3238
1735
+ #define EGL_OPENWF_PORT_ID_EXT 0x3239
1736
+ #endif /* EGL_EXT_output_openwf */
1737
+
1738
+ #ifndef EGL_EXT_pixel_format_float
1739
+ #define EGL_EXT_pixel_format_float 1
1740
+ #define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339
1741
+ #define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
1742
+ #define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
1743
+ #endif /* EGL_EXT_pixel_format_float */
1744
+
1745
+ #ifndef EGL_EXT_platform_base
1746
+ #define EGL_EXT_platform_base 1
1747
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
1748
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1749
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1750
+ #ifdef EGL_EGLEXT_PROTOTYPES
1751
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
1752
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1753
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1754
+ #endif
1755
+ #endif /* EGL_EXT_platform_base */
1756
+
1757
+ #ifndef EGL_EXT_platform_device
1758
+ #define EGL_EXT_platform_device 1
1759
+ #define EGL_PLATFORM_DEVICE_EXT 0x313F
1760
+ #endif /* EGL_EXT_platform_device */
1761
+
1762
+ #ifndef EGL_EXT_platform_wayland
1763
+ #define EGL_EXT_platform_wayland 1
1764
+ #define EGL_PLATFORM_WAYLAND_EXT 0x31D8
1765
+ #endif /* EGL_EXT_platform_wayland */
1766
+
1767
+ #ifndef EGL_EXT_platform_x11
1768
+ #define EGL_EXT_platform_x11 1
1769
+ #define EGL_PLATFORM_X11_EXT 0x31D5
1770
+ #define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
1771
+ #endif /* EGL_EXT_platform_x11 */
1772
+
1773
+ #ifndef EGL_EXT_platform_xcb
1774
+ #define EGL_EXT_platform_xcb 1
1775
+ #define EGL_PLATFORM_XCB_EXT 0x31DC
1776
+ #define EGL_PLATFORM_XCB_SCREEN_EXT 0x31DE
1777
+ #endif /* EGL_EXT_platform_xcb */
1778
+
1779
+ #ifndef EGL_EXT_present_opaque
1780
+ #define EGL_EXT_present_opaque 1
1781
+ #define EGL_PRESENT_OPAQUE_EXT 0x31DF
1782
+ #endif /* EGL_EXT_present_opaque */
1783
+
1784
+ #ifndef EGL_EXT_protected_content
1785
+ #define EGL_EXT_protected_content 1
1786
+ #define EGL_PROTECTED_CONTENT_EXT 0x32C0
1787
+ #endif /* EGL_EXT_protected_content */
1788
+
1789
+ #ifndef EGL_EXT_protected_surface
1790
+ #define EGL_EXT_protected_surface 1
1791
+ #endif /* EGL_EXT_protected_surface */
1792
+
1793
+ #ifndef EGL_EXT_stream_consumer_egloutput
1794
+ #define EGL_EXT_stream_consumer_egloutput 1
1795
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1796
+ #ifdef EGL_EGLEXT_PROTOTYPES
1797
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1798
+ #endif
1799
+ #endif /* EGL_EXT_stream_consumer_egloutput */
1800
+
1801
+ #ifndef EGL_EXT_surface_CTA861_3_metadata
1802
+ #define EGL_EXT_surface_CTA861_3_metadata 1
1803
+ #define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT 0x3360
1804
+ #define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361
1805
+ #endif /* EGL_EXT_surface_CTA861_3_metadata */
1806
+
1807
+ #ifndef EGL_EXT_surface_SMPTE2086_metadata
1808
+ #define EGL_EXT_surface_SMPTE2086_metadata 1
1809
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341
1810
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342
1811
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343
1812
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344
1813
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345
1814
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346
1815
+ #define EGL_SMPTE2086_WHITE_POINT_X_EXT 0x3347
1816
+ #define EGL_SMPTE2086_WHITE_POINT_Y_EXT 0x3348
1817
+ #define EGL_SMPTE2086_MAX_LUMINANCE_EXT 0x3349
1818
+ #define EGL_SMPTE2086_MIN_LUMINANCE_EXT 0x334A
1819
+ #define EGL_METADATA_SCALING_EXT 50000
1820
+ #endif /* EGL_EXT_surface_SMPTE2086_metadata */
1821
+
1822
+ #ifndef EGL_EXT_surface_compression
1823
+ #define EGL_EXT_surface_compression 1
1824
+ #define EGL_SURFACE_COMPRESSION_EXT 0x34B0
1825
+ #define EGL_SURFACE_COMPRESSION_PLANE1_EXT 0x328E
1826
+ #define EGL_SURFACE_COMPRESSION_PLANE2_EXT 0x328F
1827
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x34B1
1828
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x34B2
1829
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x34B4
1830
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x34B5
1831
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x34B6
1832
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x34B7
1833
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x34B8
1834
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x34B9
1835
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x34BA
1836
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x34BB
1837
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x34BC
1838
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x34BD
1839
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x34BE
1840
+ #define EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x34BF
1841
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
1842
+ #ifdef EGL_EGLEXT_PROTOTYPES
1843
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
1844
+ #endif
1845
+ #endif /* EGL_EXT_surface_compression */
1846
+
1847
+ #ifndef EGL_EXT_swap_buffers_with_damage
1848
+ #define EGL_EXT_swap_buffers_with_damage 1
1849
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1850
+ #ifdef EGL_EGLEXT_PROTOTYPES
1851
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1852
+ #endif
1853
+ #endif /* EGL_EXT_swap_buffers_with_damage */
1854
+
1855
+ #ifndef EGL_EXT_sync_reuse
1856
+ #define EGL_EXT_sync_reuse 1
1857
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1858
+ #ifdef EGL_EGLEXT_PROTOTYPES
1859
+ EGLAPI EGLBoolean EGLAPIENTRY eglUnsignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1860
+ #endif
1861
+ #endif /* EGL_EXT_sync_reuse */
1862
+
1863
+ #ifndef EGL_EXT_yuv_surface
1864
+ #define EGL_EXT_yuv_surface 1
1865
+ #define EGL_YUV_ORDER_EXT 0x3301
1866
+ #define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311
1867
+ #define EGL_YUV_SUBSAMPLE_EXT 0x3312
1868
+ #define EGL_YUV_DEPTH_RANGE_EXT 0x3317
1869
+ #define EGL_YUV_CSC_STANDARD_EXT 0x330A
1870
+ #define EGL_YUV_PLANE_BPP_EXT 0x331A
1871
+ #define EGL_YUV_BUFFER_EXT 0x3300
1872
+ #define EGL_YUV_ORDER_YUV_EXT 0x3302
1873
+ #define EGL_YUV_ORDER_YVU_EXT 0x3303
1874
+ #define EGL_YUV_ORDER_YUYV_EXT 0x3304
1875
+ #define EGL_YUV_ORDER_UYVY_EXT 0x3305
1876
+ #define EGL_YUV_ORDER_YVYU_EXT 0x3306
1877
+ #define EGL_YUV_ORDER_VYUY_EXT 0x3307
1878
+ #define EGL_YUV_ORDER_AYUV_EXT 0x3308
1879
+ #define EGL_YUV_SUBSAMPLE_4_2_0_EXT 0x3313
1880
+ #define EGL_YUV_SUBSAMPLE_4_2_2_EXT 0x3314
1881
+ #define EGL_YUV_SUBSAMPLE_4_4_4_EXT 0x3315
1882
+ #define EGL_YUV_DEPTH_RANGE_LIMITED_EXT 0x3318
1883
+ #define EGL_YUV_DEPTH_RANGE_FULL_EXT 0x3319
1884
+ #define EGL_YUV_CSC_STANDARD_601_EXT 0x330B
1885
+ #define EGL_YUV_CSC_STANDARD_709_EXT 0x330C
1886
+ #define EGL_YUV_CSC_STANDARD_2020_EXT 0x330D
1887
+ #define EGL_YUV_PLANE_BPP_0_EXT 0x331B
1888
+ #define EGL_YUV_PLANE_BPP_8_EXT 0x331C
1889
+ #define EGL_YUV_PLANE_BPP_10_EXT 0x331D
1890
+ #endif /* EGL_EXT_yuv_surface */
1891
+
1892
+ #ifndef EGL_HI_clientpixmap
1893
+ #define EGL_HI_clientpixmap 1
1894
+ struct EGLClientPixmapHI {
1895
+ void *pData;
1896
+ EGLint iWidth;
1897
+ EGLint iHeight;
1898
+ EGLint iStride;
1899
+ };
1900
+ #define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
1901
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1902
+ #ifdef EGL_EGLEXT_PROTOTYPES
1903
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1904
+ #endif
1905
+ #endif /* EGL_HI_clientpixmap */
1906
+
1907
+ #ifndef EGL_HI_colorformats
1908
+ #define EGL_HI_colorformats 1
1909
+ #define EGL_COLOR_FORMAT_HI 0x8F70
1910
+ #define EGL_COLOR_RGB_HI 0x8F71
1911
+ #define EGL_COLOR_RGBA_HI 0x8F72
1912
+ #define EGL_COLOR_ARGB_HI 0x8F73
1913
+ #endif /* EGL_HI_colorformats */
1914
+
1915
+ #ifndef EGL_IMG_context_priority
1916
+ #define EGL_IMG_context_priority 1
1917
+ #define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100
1918
+ #define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
1919
+ #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102
1920
+ #define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
1921
+ #endif /* EGL_IMG_context_priority */
1922
+
1923
+ #ifndef EGL_IMG_image_plane_attribs
1924
+ #define EGL_IMG_image_plane_attribs 1
1925
+ #define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105
1926
+ #define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106
1927
+ #endif /* EGL_IMG_image_plane_attribs */
1928
+
1929
+ #ifndef EGL_MESA_drm_image
1930
+ #define EGL_MESA_drm_image 1
1931
+ #define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
1932
+ #define EGL_DRM_BUFFER_USE_MESA 0x31D1
1933
+ #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
1934
+ #define EGL_DRM_BUFFER_MESA 0x31D3
1935
+ #define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
1936
+ #define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001
1937
+ #define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002
1938
+ #define EGL_DRM_BUFFER_USE_CURSOR_MESA 0x00000004
1939
+ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1940
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1941
+ #ifdef EGL_EGLEXT_PROTOTYPES
1942
+ EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
1943
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1944
+ #endif
1945
+ #endif /* EGL_MESA_drm_image */
1946
+
1947
+ #ifndef EGL_MESA_image_dma_buf_export
1948
+ #define EGL_MESA_image_dma_buf_export 1
1949
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1950
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1951
+ #ifdef EGL_EGLEXT_PROTOTYPES
1952
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1953
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1954
+ #endif
1955
+ #endif /* EGL_MESA_image_dma_buf_export */
1956
+
1957
+ #ifndef EGL_MESA_platform_gbm
1958
+ #define EGL_MESA_platform_gbm 1
1959
+ #define EGL_PLATFORM_GBM_MESA 0x31D7
1960
+ #endif /* EGL_MESA_platform_gbm */
1961
+
1962
+ #ifndef EGL_MESA_platform_surfaceless
1963
+ #define EGL_MESA_platform_surfaceless 1
1964
+ #define EGL_PLATFORM_SURFACELESS_MESA 0x31DD
1965
+ #endif /* EGL_MESA_platform_surfaceless */
1966
+
1967
+ #ifndef EGL_MESA_query_driver
1968
+ #define EGL_MESA_query_driver 1
1969
+ typedef char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERCONFIGPROC) (EGLDisplay dpy);
1970
+ typedef const char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERNAMEPROC) (EGLDisplay dpy);
1971
+ #ifdef EGL_EGLEXT_PROTOTYPES
1972
+ EGLAPI char *EGLAPIENTRY eglGetDisplayDriverConfig (EGLDisplay dpy);
1973
+ EGLAPI const char *EGLAPIENTRY eglGetDisplayDriverName (EGLDisplay dpy);
1974
+ #endif
1975
+ #endif /* EGL_MESA_query_driver */
1976
+
1977
+ #ifndef EGL_NOK_swap_region
1978
+ #define EGL_NOK_swap_region 1
1979
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1980
+ #ifdef EGL_EGLEXT_PROTOTYPES
1981
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1982
+ #endif
1983
+ #endif /* EGL_NOK_swap_region */
1984
+
1985
+ #ifndef EGL_NOK_swap_region2
1986
+ #define EGL_NOK_swap_region2 1
1987
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1988
+ #ifdef EGL_EGLEXT_PROTOTYPES
1989
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1990
+ #endif
1991
+ #endif /* EGL_NOK_swap_region2 */
1992
+
1993
+ #ifndef EGL_NOK_texture_from_pixmap
1994
+ #define EGL_NOK_texture_from_pixmap 1
1995
+ #define EGL_Y_INVERTED_NOK 0x307F
1996
+ #endif /* EGL_NOK_texture_from_pixmap */
1997
+
1998
+ #ifndef EGL_NV_3dvision_surface
1999
+ #define EGL_NV_3dvision_surface 1
2000
+ #define EGL_AUTO_STEREO_NV 0x3136
2001
+ #endif /* EGL_NV_3dvision_surface */
2002
+
2003
+ #ifndef EGL_NV_context_priority_realtime
2004
+ #define EGL_NV_context_priority_realtime 1
2005
+ #define EGL_CONTEXT_PRIORITY_REALTIME_NV 0x3357
2006
+ #endif /* EGL_NV_context_priority_realtime */
2007
+
2008
+ #ifndef EGL_NV_coverage_sample
2009
+ #define EGL_NV_coverage_sample 1
2010
+ #define EGL_COVERAGE_BUFFERS_NV 0x30E0
2011
+ #define EGL_COVERAGE_SAMPLES_NV 0x30E1
2012
+ #endif /* EGL_NV_coverage_sample */
2013
+
2014
+ #ifndef EGL_NV_coverage_sample_resolve
2015
+ #define EGL_NV_coverage_sample_resolve 1
2016
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
2017
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
2018
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
2019
+ #endif /* EGL_NV_coverage_sample_resolve */
2020
+
2021
+ #ifndef EGL_NV_cuda_event
2022
+ #define EGL_NV_cuda_event 1
2023
+ #define EGL_CUDA_EVENT_HANDLE_NV 0x323B
2024
+ #define EGL_SYNC_CUDA_EVENT_NV 0x323C
2025
+ #define EGL_SYNC_CUDA_EVENT_COMPLETE_NV 0x323D
2026
+ #endif /* EGL_NV_cuda_event */
2027
+
2028
+ #ifndef EGL_NV_depth_nonlinear
2029
+ #define EGL_NV_depth_nonlinear 1
2030
+ #define EGL_DEPTH_ENCODING_NV 0x30E2
2031
+ #define EGL_DEPTH_ENCODING_NONE_NV 0
2032
+ #define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
2033
+ #endif /* EGL_NV_depth_nonlinear */
2034
+
2035
+ #ifndef EGL_NV_device_cuda
2036
+ #define EGL_NV_device_cuda 1
2037
+ #define EGL_CUDA_DEVICE_NV 0x323A
2038
+ #endif /* EGL_NV_device_cuda */
2039
+
2040
+ #ifndef EGL_NV_native_query
2041
+ #define EGL_NV_native_query 1
2042
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
2043
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
2044
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
2045
+ #ifdef EGL_EGLEXT_PROTOTYPES
2046
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
2047
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
2048
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
2049
+ #endif
2050
+ #endif /* EGL_NV_native_query */
2051
+
2052
+ #ifndef EGL_NV_post_convert_rounding
2053
+ #define EGL_NV_post_convert_rounding 1
2054
+ #endif /* EGL_NV_post_convert_rounding */
2055
+
2056
+ #ifndef EGL_NV_post_sub_buffer
2057
+ #define EGL_NV_post_sub_buffer 1
2058
+ #define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
2059
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2060
+ #ifdef EGL_EGLEXT_PROTOTYPES
2061
+ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2062
+ #endif
2063
+ #endif /* EGL_NV_post_sub_buffer */
2064
+
2065
+ #ifndef EGL_NV_quadruple_buffer
2066
+ #define EGL_NV_quadruple_buffer 1
2067
+ #define EGL_QUADRUPLE_BUFFER_NV 0x3231
2068
+ #endif /* EGL_NV_quadruple_buffer */
2069
+
2070
+ #ifndef EGL_NV_robustness_video_memory_purge
2071
+ #define EGL_NV_robustness_video_memory_purge 1
2072
+ #define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C
2073
+ #endif /* EGL_NV_robustness_video_memory_purge */
2074
+
2075
+ #ifndef EGL_NV_stream_consumer_eglimage
2076
+ #define EGL_NV_stream_consumer_eglimage 1
2077
+ #define EGL_STREAM_CONSUMER_IMAGE_NV 0x3373
2078
+ #define EGL_STREAM_IMAGE_ADD_NV 0x3374
2079
+ #define EGL_STREAM_IMAGE_REMOVE_NV 0x3375
2080
+ #define EGL_STREAM_IMAGE_AVAILABLE_NV 0x3376
2081
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
2082
+ typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
2083
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
2084
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
2085
+ #ifdef EGL_EGLEXT_PROTOTYPES
2086
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
2087
+ EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
2088
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
2089
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
2090
+ #endif
2091
+ #endif /* EGL_NV_stream_consumer_eglimage */
2092
+
2093
+ #ifndef EGL_NV_stream_consumer_gltexture_yuv
2094
+ #define EGL_NV_stream_consumer_gltexture_yuv 1
2095
+ #define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C
2096
+ #define EGL_YUV_PLANE1_TEXTURE_UNIT_NV 0x332D
2097
+ #define EGL_YUV_PLANE2_TEXTURE_UNIT_NV 0x332E
2098
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
2099
+ #ifdef EGL_EGLEXT_PROTOTYPES
2100
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
2101
+ #endif
2102
+ #endif /* EGL_NV_stream_consumer_gltexture_yuv */
2103
+
2104
+ #ifndef EGL_NV_stream_cross_display
2105
+ #define EGL_NV_stream_cross_display 1
2106
+ #define EGL_STREAM_CROSS_DISPLAY_NV 0x334E
2107
+ #endif /* EGL_NV_stream_cross_display */
2108
+
2109
+ #ifndef EGL_NV_stream_cross_object
2110
+ #define EGL_NV_stream_cross_object 1
2111
+ #define EGL_STREAM_CROSS_OBJECT_NV 0x334D
2112
+ #endif /* EGL_NV_stream_cross_object */
2113
+
2114
+ #ifndef EGL_NV_stream_cross_partition
2115
+ #define EGL_NV_stream_cross_partition 1
2116
+ #define EGL_STREAM_CROSS_PARTITION_NV 0x323F
2117
+ #endif /* EGL_NV_stream_cross_partition */
2118
+
2119
+ #ifndef EGL_NV_stream_cross_process
2120
+ #define EGL_NV_stream_cross_process 1
2121
+ #define EGL_STREAM_CROSS_PROCESS_NV 0x3245
2122
+ #endif /* EGL_NV_stream_cross_process */
2123
+
2124
+ #ifndef EGL_NV_stream_cross_system
2125
+ #define EGL_NV_stream_cross_system 1
2126
+ #define EGL_STREAM_CROSS_SYSTEM_NV 0x334F
2127
+ #endif /* EGL_NV_stream_cross_system */
2128
+
2129
+ #ifndef EGL_NV_stream_dma
2130
+ #define EGL_NV_stream_dma 1
2131
+ #define EGL_STREAM_DMA_NV 0x3371
2132
+ #define EGL_STREAM_DMA_SERVER_NV 0x3372
2133
+ #endif /* EGL_NV_stream_dma */
2134
+
2135
+ #ifndef EGL_NV_stream_fifo_next
2136
+ #define EGL_NV_stream_fifo_next 1
2137
+ #define EGL_PENDING_FRAME_NV 0x3329
2138
+ #define EGL_STREAM_TIME_PENDING_NV 0x332A
2139
+ #endif /* EGL_NV_stream_fifo_next */
2140
+
2141
+ #ifndef EGL_NV_stream_fifo_synchronous
2142
+ #define EGL_NV_stream_fifo_synchronous 1
2143
+ #define EGL_STREAM_FIFO_SYNCHRONOUS_NV 0x3336
2144
+ #endif /* EGL_NV_stream_fifo_synchronous */
2145
+
2146
+ #ifndef EGL_NV_stream_flush
2147
+ #define EGL_NV_stream_flush 1
2148
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMFLUSHNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
2149
+ #ifdef EGL_EGLEXT_PROTOTYPES
2150
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamFlushNV (EGLDisplay dpy, EGLStreamKHR stream);
2151
+ #endif
2152
+ #endif /* EGL_NV_stream_flush */
2153
+
2154
+ #ifndef EGL_NV_stream_frame_limits
2155
+ #define EGL_NV_stream_frame_limits 1
2156
+ #define EGL_PRODUCER_MAX_FRAME_HINT_NV 0x3337
2157
+ #define EGL_CONSUMER_MAX_FRAME_HINT_NV 0x3338
2158
+ #endif /* EGL_NV_stream_frame_limits */
2159
+
2160
+ #ifndef EGL_NV_stream_metadata
2161
+ #define EGL_NV_stream_metadata 1
2162
+ #define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250
2163
+ #define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251
2164
+ #define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252
2165
+ #define EGL_PRODUCER_METADATA_NV 0x3253
2166
+ #define EGL_CONSUMER_METADATA_NV 0x3254
2167
+ #define EGL_PENDING_METADATA_NV 0x3328
2168
+ #define EGL_METADATA0_SIZE_NV 0x3255
2169
+ #define EGL_METADATA1_SIZE_NV 0x3256
2170
+ #define EGL_METADATA2_SIZE_NV 0x3257
2171
+ #define EGL_METADATA3_SIZE_NV 0x3258
2172
+ #define EGL_METADATA0_TYPE_NV 0x3259
2173
+ #define EGL_METADATA1_TYPE_NV 0x325A
2174
+ #define EGL_METADATA2_TYPE_NV 0x325B
2175
+ #define EGL_METADATA3_TYPE_NV 0x325C
2176
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
2177
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
2178
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
2179
+ #ifdef EGL_EGLEXT_PROTOTYPES
2180
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
2181
+ EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
2182
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
2183
+ #endif
2184
+ #endif /* EGL_NV_stream_metadata */
2185
+
2186
+ #ifndef EGL_NV_stream_origin
2187
+ #define EGL_NV_stream_origin 1
2188
+ #define EGL_STREAM_FRAME_ORIGIN_X_NV 0x3366
2189
+ #define EGL_STREAM_FRAME_ORIGIN_Y_NV 0x3367
2190
+ #define EGL_STREAM_FRAME_MAJOR_AXIS_NV 0x3368
2191
+ #define EGL_CONSUMER_AUTO_ORIENTATION_NV 0x3369
2192
+ #define EGL_PRODUCER_AUTO_ORIENTATION_NV 0x336A
2193
+ #define EGL_LEFT_NV 0x336B
2194
+ #define EGL_RIGHT_NV 0x336C
2195
+ #define EGL_TOP_NV 0x336D
2196
+ #define EGL_BOTTOM_NV 0x336E
2197
+ #define EGL_X_AXIS_NV 0x336F
2198
+ #define EGL_Y_AXIS_NV 0x3370
2199
+ #endif /* EGL_NV_stream_origin */
2200
+
2201
+ #ifndef EGL_NV_stream_remote
2202
+ #define EGL_NV_stream_remote 1
2203
+ #define EGL_STREAM_STATE_INITIALIZING_NV 0x3240
2204
+ #define EGL_STREAM_TYPE_NV 0x3241
2205
+ #define EGL_STREAM_PROTOCOL_NV 0x3242
2206
+ #define EGL_STREAM_ENDPOINT_NV 0x3243
2207
+ #define EGL_STREAM_LOCAL_NV 0x3244
2208
+ #define EGL_STREAM_PRODUCER_NV 0x3247
2209
+ #define EGL_STREAM_CONSUMER_NV 0x3248
2210
+ #define EGL_STREAM_PROTOCOL_FD_NV 0x3246
2211
+ #endif /* EGL_NV_stream_remote */
2212
+
2213
+ #ifndef EGL_NV_stream_reset
2214
+ #define EGL_NV_stream_reset 1
2215
+ #define EGL_SUPPORT_RESET_NV 0x3334
2216
+ #define EGL_SUPPORT_REUSE_NV 0x3335
2217
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
2218
+ #ifdef EGL_EGLEXT_PROTOTYPES
2219
+ EGLAPI EGLBoolean EGLAPIENTRY eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream);
2220
+ #endif
2221
+ #endif /* EGL_NV_stream_reset */
2222
+
2223
+ #ifndef EGL_NV_stream_socket
2224
+ #define EGL_NV_stream_socket 1
2225
+ #define EGL_STREAM_PROTOCOL_SOCKET_NV 0x324B
2226
+ #define EGL_SOCKET_HANDLE_NV 0x324C
2227
+ #define EGL_SOCKET_TYPE_NV 0x324D
2228
+ #endif /* EGL_NV_stream_socket */
2229
+
2230
+ #ifndef EGL_NV_stream_socket_inet
2231
+ #define EGL_NV_stream_socket_inet 1
2232
+ #define EGL_SOCKET_TYPE_INET_NV 0x324F
2233
+ #endif /* EGL_NV_stream_socket_inet */
2234
+
2235
+ #ifndef EGL_NV_stream_socket_unix
2236
+ #define EGL_NV_stream_socket_unix 1
2237
+ #define EGL_SOCKET_TYPE_UNIX_NV 0x324E
2238
+ #endif /* EGL_NV_stream_socket_unix */
2239
+
2240
+ #ifndef EGL_NV_stream_sync
2241
+ #define EGL_NV_stream_sync 1
2242
+ #define EGL_SYNC_NEW_FRAME_NV 0x321F
2243
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
2244
+ #ifdef EGL_EGLEXT_PROTOTYPES
2245
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
2246
+ #endif
2247
+ #endif /* EGL_NV_stream_sync */
2248
+
2249
+ #ifndef EGL_NV_sync
2250
+ #define EGL_NV_sync 1
2251
+ typedef void *EGLSyncNV;
2252
+ typedef khronos_utime_nanoseconds_t EGLTimeNV;
2253
+ #ifdef KHRONOS_SUPPORT_INT64
2254
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
2255
+ #define EGL_SYNC_STATUS_NV 0x30E7
2256
+ #define EGL_SIGNALED_NV 0x30E8
2257
+ #define EGL_UNSIGNALED_NV 0x30E9
2258
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001
2259
+ #define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull
2260
+ #define EGL_ALREADY_SIGNALED_NV 0x30EA
2261
+ #define EGL_TIMEOUT_EXPIRED_NV 0x30EB
2262
+ #define EGL_CONDITION_SATISFIED_NV 0x30EC
2263
+ #define EGL_SYNC_TYPE_NV 0x30ED
2264
+ #define EGL_SYNC_CONDITION_NV 0x30EE
2265
+ #define EGL_SYNC_FENCE_NV 0x30EF
2266
+ #define EGL_NO_SYNC_NV EGL_CAST(EGLSyncNV,0)
2267
+ typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2268
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
2269
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
2270
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2271
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
2272
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
2273
+ #ifdef EGL_EGLEXT_PROTOTYPES
2274
+ EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2275
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
2276
+ EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
2277
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2278
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
2279
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
2280
+ #endif
2281
+ #endif /* KHRONOS_SUPPORT_INT64 */
2282
+ #endif /* EGL_NV_sync */
2283
+
2284
+ #ifndef EGL_NV_system_time
2285
+ #define EGL_NV_system_time 1
2286
+ typedef khronos_utime_nanoseconds_t EGLuint64NV;
2287
+ #ifdef KHRONOS_SUPPORT_INT64
2288
+ typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
2289
+ typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
2290
+ #ifdef EGL_EGLEXT_PROTOTYPES
2291
+ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
2292
+ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
2293
+ #endif
2294
+ #endif /* KHRONOS_SUPPORT_INT64 */
2295
+ #endif /* EGL_NV_system_time */
2296
+
2297
+ #ifndef EGL_NV_triple_buffer
2298
+ #define EGL_NV_triple_buffer 1
2299
+ #define EGL_TRIPLE_BUFFER_NV 0x3230
2300
+ #endif /* EGL_NV_triple_buffer */
2301
+
2302
+ #ifndef EGL_TIZEN_image_native_buffer
2303
+ #define EGL_TIZEN_image_native_buffer 1
2304
+ #define EGL_NATIVE_BUFFER_TIZEN 0x32A0
2305
+ #endif /* EGL_TIZEN_image_native_buffer */
2306
+
2307
+ #ifndef EGL_TIZEN_image_native_surface
2308
+ #define EGL_TIZEN_image_native_surface 1
2309
+ #define EGL_NATIVE_SURFACE_TIZEN 0x32A1
2310
+ #endif /* EGL_TIZEN_image_native_surface */
2311
+
2312
+ #ifndef EGL_WL_bind_wayland_display
2313
+ #define EGL_WL_bind_wayland_display 1
2314
+ #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC
2315
+ #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC
2316
+ #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC
2317
+ struct wl_display;
2318
+ struct wl_resource;
2319
+ #define EGL_WAYLAND_BUFFER_WL 0x31D5
2320
+ #define EGL_WAYLAND_PLANE_WL 0x31D6
2321
+ #define EGL_TEXTURE_Y_U_V_WL 0x31D7
2322
+ #define EGL_TEXTURE_Y_UV_WL 0x31D8
2323
+ #define EGL_TEXTURE_Y_XUXV_WL 0x31D9
2324
+ #define EGL_TEXTURE_EXTERNAL_WL 0x31DA
2325
+ #define EGL_WAYLAND_Y_INVERTED_WL 0x31DB
2326
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
2327
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
2328
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
2329
+ #ifdef EGL_EGLEXT_PROTOTYPES
2330
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
2331
+ EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
2332
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
2333
+ #endif
2334
+ #endif /* EGL_WL_bind_wayland_display */
2335
+
2336
+ #ifndef EGL_WL_create_wayland_buffer_from_image
2337
+ #define EGL_WL_create_wayland_buffer_from_image 1
2338
+ #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC
2339
+ struct wl_buffer;
2340
+ typedef struct wl_buffer *(EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC) (EGLDisplay dpy, EGLImageKHR image);
2341
+ #ifdef EGL_EGLEXT_PROTOTYPES
2342
+ EGLAPI struct wl_buffer *EGLAPIENTRY eglCreateWaylandBufferFromImageWL (EGLDisplay dpy, EGLImageKHR image);
2343
+ #endif
2344
+ #endif /* EGL_WL_create_wayland_buffer_from_image */
2345
+
2346
+ #ifdef __cplusplus
2347
+ }
2348
+ #endif
2349
+
2350
+ #endif /* __eglext_h_ */
2351
+
2352
+ #endif /* _MSC_VER */