gosu 0.15.2 → 1.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/dependencies/SDL/include/SDL.h +138 -0
  3. data/dependencies/SDL/include/SDL_assert.h +293 -0
  4. data/dependencies/SDL/include/SDL_atomic.h +295 -0
  5. data/dependencies/SDL/include/SDL_audio.h +859 -0
  6. data/dependencies/SDL/include/SDL_bits.h +121 -0
  7. data/dependencies/SDL/include/SDL_blendmode.h +123 -0
  8. data/dependencies/SDL/include/SDL_clipboard.h +71 -0
  9. data/dependencies/SDL/include/SDL_config.h +55 -0
  10. data/dependencies/SDL/include/SDL_config_android.h +182 -0
  11. data/dependencies/SDL/include/SDL_config_iphoneos.h +207 -0
  12. data/dependencies/SDL/include/SDL_config_macosx.h +266 -0
  13. data/dependencies/SDL/include/SDL_config_minimal.h +85 -0
  14. data/dependencies/SDL/include/SDL_config_os2.h +188 -0
  15. data/dependencies/SDL/include/SDL_config_pandora.h +135 -0
  16. data/dependencies/SDL/include/SDL_config_psp.h +165 -0
  17. data/dependencies/SDL/include/SDL_config_windows.h +288 -0
  18. data/dependencies/SDL/include/SDL_config_winrt.h +243 -0
  19. data/dependencies/SDL/include/SDL_config_wiz.h +149 -0
  20. data/dependencies/SDL/include/SDL_copying.h +20 -0
  21. data/dependencies/SDL/include/SDL_cpuinfo.h +299 -0
  22. data/dependencies/SDL/include/SDL_egl.h +1676 -0
  23. data/dependencies/SDL/include/SDL_endian.h +263 -0
  24. data/dependencies/SDL/include/SDL_error.h +112 -0
  25. data/dependencies/SDL/include/SDL_events.h +827 -0
  26. data/dependencies/SDL/include/SDL_filesystem.h +136 -0
  27. data/dependencies/SDL/include/SDL_gamecontroller.h +541 -0
  28. data/dependencies/SDL/include/SDL_gesture.h +87 -0
  29. data/dependencies/SDL/include/SDL_haptic.h +1247 -0
  30. data/dependencies/SDL/include/SDL_hints.h +1578 -0
  31. data/dependencies/SDL/include/SDL_joystick.h +499 -0
  32. data/dependencies/SDL/include/SDL_keyboard.h +217 -0
  33. data/dependencies/SDL/include/SDL_keycode.h +351 -0
  34. data/dependencies/SDL/include/SDL_loadso.h +81 -0
  35. data/dependencies/SDL/include/SDL_locale.h +101 -0
  36. data/dependencies/SDL/include/SDL_log.h +211 -0
  37. data/dependencies/SDL/include/SDL_main.h +180 -0
  38. data/dependencies/SDL/include/SDL_messagebox.h +146 -0
  39. data/dependencies/SDL/include/SDL_metal.h +117 -0
  40. data/dependencies/SDL/include/SDL_misc.h +75 -0
  41. data/dependencies/SDL/include/SDL_mouse.h +302 -0
  42. data/dependencies/SDL/include/SDL_mutex.h +251 -0
  43. data/dependencies/SDL/include/SDL_name.h +33 -0
  44. data/dependencies/SDL/include/SDL_opengl.h +2183 -0
  45. data/dependencies/SDL/include/SDL_opengl_glext.h +11180 -0
  46. data/dependencies/SDL/include/SDL_opengles.h +39 -0
  47. data/dependencies/SDL/include/SDL_opengles2.h +52 -0
  48. data/dependencies/SDL/include/SDL_opengles2_gl2.h +621 -0
  49. data/dependencies/SDL/include/SDL_opengles2_gl2ext.h +2050 -0
  50. data/dependencies/SDL/include/SDL_opengles2_gl2platform.h +30 -0
  51. data/dependencies/SDL/include/SDL_opengles2_khrplatform.h +282 -0
  52. data/dependencies/SDL/include/SDL_pixels.h +479 -0
  53. data/dependencies/SDL/include/SDL_platform.h +198 -0
  54. data/dependencies/SDL/include/SDL_power.h +75 -0
  55. data/dependencies/SDL/include/SDL_quit.h +58 -0
  56. data/dependencies/SDL/include/SDL_rect.h +174 -0
  57. data/dependencies/SDL/include/SDL_render.h +1158 -0
  58. data/dependencies/SDL/include/SDL_revision.h +2 -0
  59. data/dependencies/SDL/include/SDL_rwops.h +283 -0
  60. data/dependencies/SDL/include/SDL_scancode.h +413 -0
  61. data/dependencies/SDL/include/SDL_sensor.h +267 -0
  62. data/dependencies/SDL/include/SDL_shape.h +144 -0
  63. data/dependencies/SDL/include/SDL_stdinc.h +647 -0
  64. data/dependencies/SDL/include/SDL_surface.h +563 -0
  65. data/dependencies/SDL/include/SDL_system.h +325 -0
  66. data/dependencies/SDL/include/SDL_syswm.h +354 -0
  67. data/dependencies/SDL/include/SDL_test.h +69 -0
  68. data/dependencies/SDL/include/SDL_test_assert.h +105 -0
  69. data/dependencies/SDL/include/SDL_test_common.h +218 -0
  70. data/dependencies/SDL/include/SDL_test_compare.h +69 -0
  71. data/dependencies/SDL/include/SDL_test_crc32.h +124 -0
  72. data/dependencies/SDL/include/SDL_test_font.h +81 -0
  73. data/dependencies/SDL/include/SDL_test_fuzzer.h +384 -0
  74. data/dependencies/SDL/include/SDL_test_harness.h +134 -0
  75. data/dependencies/SDL/include/SDL_test_images.h +78 -0
  76. data/dependencies/SDL/include/SDL_test_log.h +67 -0
  77. data/dependencies/SDL/include/SDL_test_md5.h +129 -0
  78. data/dependencies/SDL/include/SDL_test_memory.h +63 -0
  79. data/dependencies/SDL/include/SDL_test_random.h +115 -0
  80. data/dependencies/SDL/include/SDL_thread.h +366 -0
  81. data/dependencies/SDL/include/SDL_timer.h +115 -0
  82. data/dependencies/SDL/include/SDL_touch.h +102 -0
  83. data/dependencies/SDL/include/SDL_types.h +29 -0
  84. data/dependencies/SDL/include/SDL_version.h +162 -0
  85. data/dependencies/SDL/include/SDL_video.h +1282 -0
  86. data/dependencies/SDL/include/SDL_vulkan.h +276 -0
  87. data/dependencies/SDL/include/begin_code.h +166 -0
  88. data/dependencies/SDL/include/close_code.h +40 -0
  89. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  90. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  91. data/dependencies/SDL_sound/SDL_sound.c +795 -0
  92. data/dependencies/SDL_sound/SDL_sound.h +725 -0
  93. data/dependencies/SDL_sound/SDL_sound_aiff.c +537 -0
  94. data/dependencies/SDL_sound/SDL_sound_au.c +352 -0
  95. data/dependencies/SDL_sound/SDL_sound_coreaudio.c +747 -0
  96. data/dependencies/SDL_sound/SDL_sound_flac.c +182 -0
  97. data/dependencies/SDL_sound/SDL_sound_internal.h +304 -0
  98. data/dependencies/SDL_sound/SDL_sound_modplug.c +228 -0
  99. data/dependencies/SDL_sound/SDL_sound_mp3.c +184 -0
  100. data/dependencies/SDL_sound/SDL_sound_raw.c +164 -0
  101. data/dependencies/SDL_sound/SDL_sound_shn.c +1309 -0
  102. data/dependencies/SDL_sound/SDL_sound_voc.c +550 -0
  103. data/dependencies/SDL_sound/SDL_sound_vorbis.c +223 -0
  104. data/dependencies/SDL_sound/SDL_sound_wav.c +783 -0
  105. data/dependencies/SDL_sound/dr_flac.h +5906 -0
  106. data/dependencies/SDL_sound/dr_mp3.h +2832 -0
  107. data/dependencies/SDL_sound/libmodplug/fastmix.c +1748 -0
  108. data/dependencies/SDL_sound/libmodplug/libmodplug.h +1001 -0
  109. data/dependencies/SDL_sound/libmodplug/load_669.c +188 -0
  110. data/dependencies/SDL_sound/libmodplug/load_abc.c +4725 -0
  111. data/dependencies/SDL_sound/libmodplug/load_amf.c +403 -0
  112. data/dependencies/SDL_sound/libmodplug/load_ams.c +587 -0
  113. data/dependencies/SDL_sound/libmodplug/load_dbm.c +357 -0
  114. data/dependencies/SDL_sound/libmodplug/load_dmf.c +531 -0
  115. data/dependencies/SDL_sound/libmodplug/load_dsm.c +232 -0
  116. data/dependencies/SDL_sound/libmodplug/load_far.c +253 -0
  117. data/dependencies/SDL_sound/libmodplug/load_it.c +796 -0
  118. data/dependencies/SDL_sound/libmodplug/load_mdl.c +488 -0
  119. data/dependencies/SDL_sound/libmodplug/load_med.c +757 -0
  120. data/dependencies/SDL_sound/libmodplug/load_mid.c +1405 -0
  121. data/dependencies/SDL_sound/libmodplug/load_mod.c +269 -0
  122. data/dependencies/SDL_sound/libmodplug/load_mt2.c +546 -0
  123. data/dependencies/SDL_sound/libmodplug/load_mtm.c +142 -0
  124. data/dependencies/SDL_sound/libmodplug/load_okt.c +192 -0
  125. data/dependencies/SDL_sound/libmodplug/load_pat.c +1143 -0
  126. data/dependencies/SDL_sound/libmodplug/load_pat.h +25 -0
  127. data/dependencies/SDL_sound/libmodplug/load_psm.c +350 -0
  128. data/dependencies/SDL_sound/libmodplug/load_ptm.c +204 -0
  129. data/dependencies/SDL_sound/libmodplug/load_s3m.c +325 -0
  130. data/dependencies/SDL_sound/libmodplug/load_stm.c +180 -0
  131. data/dependencies/SDL_sound/libmodplug/load_ult.c +206 -0
  132. data/dependencies/SDL_sound/libmodplug/load_umx.c +51 -0
  133. data/dependencies/SDL_sound/libmodplug/load_xm.c +554 -0
  134. data/dependencies/SDL_sound/libmodplug/mmcmp.c +382 -0
  135. data/dependencies/SDL_sound/libmodplug/modplug.c +170 -0
  136. data/dependencies/SDL_sound/libmodplug/modplug.h +90 -0
  137. data/dependencies/SDL_sound/libmodplug/snd_dsp.c +301 -0
  138. data/dependencies/SDL_sound/libmodplug/snd_flt.c +63 -0
  139. data/dependencies/SDL_sound/libmodplug/snd_fx.c +2350 -0
  140. data/dependencies/SDL_sound/libmodplug/sndfile.c +1169 -0
  141. data/dependencies/SDL_sound/libmodplug/sndmix.c +1034 -0
  142. data/dependencies/SDL_sound/libmodplug/tables.h +371 -0
  143. data/{src/stb_vorbis.c → dependencies/SDL_sound/stb_vorbis.h} +143 -78
  144. data/dependencies/al_soft/AL/al.h +655 -0
  145. data/dependencies/al_soft/AL/alc.h +270 -0
  146. data/dependencies/al_soft/AL/alext.h +585 -0
  147. data/dependencies/al_soft/AL/efx-creative.h +3 -0
  148. data/dependencies/al_soft/AL/efx-presets.h +402 -0
  149. data/dependencies/al_soft/AL/efx.h +762 -0
  150. data/dependencies/al_soft/x64/libOpenAL32.dll.a +0 -0
  151. data/dependencies/al_soft/x86/libOpenAL32.dll.a +0 -0
  152. data/{src → dependencies/stb}/stb_image.h +330 -127
  153. data/{src → dependencies/stb}/stb_image_write.h +156 -85
  154. data/{src → dependencies/stb}/stb_truetype.h +192 -69
  155. data/{src → dependencies/utf8proc}/utf8proc.c +0 -0
  156. data/{src → dependencies/utf8proc}/utf8proc.h +0 -0
  157. data/{src → dependencies/utf8proc}/utf8proc_data.h +0 -0
  158. data/ext/gosu/extconf.rb +56 -22
  159. data/{Gosu → include/Gosu}/Audio.hpp +6 -8
  160. data/{Gosu → include/Gosu}/AutoLink.hpp +0 -0
  161. data/include/Gosu/Bitmap.hpp +100 -0
  162. data/{Gosu → include/Gosu}/Buttons.hpp +94 -35
  163. data/{Gosu → include/Gosu}/Channel.h +0 -0
  164. data/{Gosu → include/Gosu}/Color.h +0 -0
  165. data/{Gosu → include/Gosu}/Color.hpp +0 -0
  166. data/{Gosu → include/Gosu}/Directories.hpp +0 -0
  167. data/{Gosu → include/Gosu}/Font.h +0 -0
  168. data/{Gosu → include/Gosu}/Font.hpp +0 -0
  169. data/{Gosu → include/Gosu}/Fwd.hpp +0 -0
  170. data/{Gosu → include/Gosu}/Gosu.h +3 -0
  171. data/{Gosu → include/Gosu}/Gosu.hpp +0 -0
  172. data/{Gosu → include/Gosu}/Graphics.hpp +0 -0
  173. data/{Gosu → include/Gosu}/GraphicsBase.hpp +0 -0
  174. data/{Gosu → include/Gosu}/IO.hpp +0 -0
  175. data/{Gosu → include/Gosu}/Image.h +0 -0
  176. data/{Gosu → include/Gosu}/Image.hpp +7 -6
  177. data/{Gosu → include/Gosu}/ImageData.hpp +0 -0
  178. data/{Gosu → include/Gosu}/Input.hpp +30 -15
  179. data/{Gosu → include/Gosu}/Inspection.hpp +0 -0
  180. data/{Gosu → include/Gosu}/Math.hpp +0 -0
  181. data/{Gosu → include/Gosu}/Platform.hpp +0 -0
  182. data/{Gosu → include/Gosu}/Sample.h +0 -0
  183. data/{Gosu → include/Gosu}/Song.h +0 -0
  184. data/{Gosu → include/Gosu}/Text.hpp +0 -0
  185. data/{Gosu → include/Gosu}/TextInput.h +0 -0
  186. data/{Gosu → include/Gosu}/TextInput.hpp +0 -0
  187. data/{Gosu → include/Gosu}/Timing.hpp +0 -0
  188. data/{Gosu → include/Gosu}/Utility.hpp +1 -1
  189. data/{Gosu → include/Gosu}/Version.hpp +0 -0
  190. data/{Gosu → include/Gosu}/Window.h +2 -0
  191. data/{Gosu → include/Gosu}/Window.hpp +21 -13
  192. data/lib/OpenAL32.dll +0 -0
  193. data/lib/SDL2.dll +0 -0
  194. data/lib/gosu.rb +0 -3
  195. data/lib/gosu/patches.rb +0 -9
  196. data/lib/gosu/swig_patches.rb +3 -2
  197. data/lib/libmpg123.dll +0 -0
  198. data/lib/libsndfile.dll +0 -0
  199. data/lib64/OpenAL32.dll +0 -0
  200. data/lib64/SDL2.dll +0 -0
  201. data/lib64/libmpg123.dll +0 -0
  202. data/lib64/libsndfile.dll +0 -0
  203. data/rdoc/gosu.rb +95 -20
  204. data/src/Audio.cpp +50 -224
  205. data/src/AudioFile.hpp +17 -37
  206. data/src/AudioFileAudioToolbox.cpp +237 -0
  207. data/src/AudioFileSDLSound.cpp +147 -0
  208. data/src/AudioImpl.cpp +3 -12
  209. data/src/AudioImpl.hpp +3 -1
  210. data/src/Bitmap.cpp +85 -83
  211. data/src/BitmapIO.cpp +52 -58
  212. data/src/Constants.cpp +80 -33
  213. data/src/Font.cpp +3 -1
  214. data/src/GosuWrapper.cpp +19 -0
  215. data/src/Graphics.cpp +7 -4
  216. data/src/Image.cpp +13 -16
  217. data/src/Input.cpp +408 -159
  218. data/src/LargeImageData.cpp +1 -1
  219. data/src/MarkupParser.cpp +2 -1
  220. data/src/RubyGosu.cxx +349 -83
  221. data/src/RubyGosu.h +4 -2
  222. data/src/TexChunk.cpp +1 -1
  223. data/src/TextBuilder.cpp +3 -1
  224. data/src/Texture.cpp +1 -1
  225. data/src/TrueTypeFont.cpp +1 -1
  226. data/src/Utility.cpp +11 -7
  227. data/src/Window.cpp +30 -39
  228. data/src/WindowWrapper.cpp +28 -0
  229. metadata +207 -52
  230. data/Gosu/Bitmap.hpp +0 -113
  231. data/src/AudioToolboxFile.hpp +0 -210
  232. data/src/OggFile.hpp +0 -92
  233. data/src/SndFile.hpp +0 -174
  234. data/src/WinMain.cpp +0 -64
@@ -0,0 +1,1676 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2020 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__)
28
+
29
+ #include <EGL/egl.h>
30
+ #include <EGL/eglext.h>
31
+
32
+ #else /* _MSC_VER */
33
+
34
+ /* EGL headers for Visual Studio */
35
+
36
+ #ifndef __khrplatform_h_
37
+ #define __khrplatform_h_
38
+
39
+ /*
40
+ ** Copyright (c) 2008-2009 The Khronos Group Inc.
41
+ **
42
+ ** Permission is hereby granted, free of charge, to any person obtaining a
43
+ ** copy of this software and/or associated documentation files (the
44
+ ** "Materials"), to deal in the Materials without restriction, including
45
+ ** without limitation the rights to use, copy, modify, merge, publish,
46
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
47
+ ** permit persons to whom the Materials are furnished to do so, subject to
48
+ ** the following conditions:
49
+ **
50
+ ** The above copyright notice and this permission notice shall be included
51
+ ** in all copies or substantial portions of the Materials.
52
+ **
53
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
54
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
55
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
56
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
57
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
58
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
59
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
60
+ */
61
+
62
+ /* Khronos platform-specific types and definitions.
63
+ *
64
+ * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
65
+ *
66
+ * Adopters may modify this file to suit their platform. Adopters are
67
+ * encouraged to submit platform specific modifications to the Khronos
68
+ * group so that they can be included in future versions of this file.
69
+ * Please submit changes by sending them to the public Khronos Bugzilla
70
+ * (http://khronos.org/bugzilla) by filing a bug against product
71
+ * "Khronos (general)" component "Registry".
72
+ *
73
+ * A predefined template which fills in some of the bug fields can be
74
+ * reached using http://tinyurl.com/khrplatform-h-bugreport, but you
75
+ * must create a Bugzilla login first.
76
+ *
77
+ *
78
+ * See the Implementer's Guidelines for information about where this file
79
+ * should be located on your system and for more details of its use:
80
+ * http://www.khronos.org/registry/implementers_guide.pdf
81
+ *
82
+ * This file should be included as
83
+ * #include <KHR/khrplatform.h>
84
+ * by Khronos client API header files that use its types and defines.
85
+ *
86
+ * The types in khrplatform.h should only be used to define API-specific types.
87
+ *
88
+ * Types defined in khrplatform.h:
89
+ * khronos_int8_t signed 8 bit
90
+ * khronos_uint8_t unsigned 8 bit
91
+ * khronos_int16_t signed 16 bit
92
+ * khronos_uint16_t unsigned 16 bit
93
+ * khronos_int32_t signed 32 bit
94
+ * khronos_uint32_t unsigned 32 bit
95
+ * khronos_int64_t signed 64 bit
96
+ * khronos_uint64_t unsigned 64 bit
97
+ * khronos_intptr_t signed same number of bits as a pointer
98
+ * khronos_uintptr_t unsigned same number of bits as a pointer
99
+ * khronos_ssize_t signed size
100
+ * khronos_usize_t unsigned size
101
+ * khronos_float_t signed 32 bit floating point
102
+ * khronos_time_ns_t unsigned 64 bit time in nanoseconds
103
+ * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
104
+ * nanoseconds
105
+ * khronos_stime_nanoseconds_t signed time interval in nanoseconds
106
+ * khronos_boolean_enum_t enumerated boolean type. This should
107
+ * only be used as a base type when a client API's boolean type is
108
+ * an enum. Client APIs which use an integer or other type for
109
+ * booleans cannot use this as the base type for their boolean.
110
+ *
111
+ * Tokens defined in khrplatform.h:
112
+ *
113
+ * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
114
+ *
115
+ * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
116
+ * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
117
+ *
118
+ * Calling convention macros defined in this file:
119
+ * KHRONOS_APICALL
120
+ * KHRONOS_APIENTRY
121
+ * KHRONOS_APIATTRIBUTES
122
+ *
123
+ * These may be used in function prototypes as:
124
+ *
125
+ * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
126
+ * int arg1,
127
+ * int arg2) KHRONOS_APIATTRIBUTES;
128
+ */
129
+
130
+ /*-------------------------------------------------------------------------
131
+ * Definition of KHRONOS_APICALL
132
+ *-------------------------------------------------------------------------
133
+ * This precedes the return type of the function in the function prototype.
134
+ */
135
+ #if defined(_WIN32) && !defined(__SCITECH_SNAP__) && !defined(SDL_VIDEO_STATIC_ANGLE)
136
+ # define KHRONOS_APICALL __declspec(dllimport)
137
+ #elif defined (__SYMBIAN32__)
138
+ # define KHRONOS_APICALL IMPORT_C
139
+ #else
140
+ # define KHRONOS_APICALL
141
+ #endif
142
+
143
+ /*-------------------------------------------------------------------------
144
+ * Definition of KHRONOS_APIENTRY
145
+ *-------------------------------------------------------------------------
146
+ * This follows the return type of the function and precedes the function
147
+ * name in the function prototype.
148
+ */
149
+ #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
150
+ /* Win32 but not WinCE */
151
+ # define KHRONOS_APIENTRY __stdcall
152
+ #else
153
+ # define KHRONOS_APIENTRY
154
+ #endif
155
+
156
+ /*-------------------------------------------------------------------------
157
+ * Definition of KHRONOS_APIATTRIBUTES
158
+ *-------------------------------------------------------------------------
159
+ * This follows the closing parenthesis of the function prototype arguments.
160
+ */
161
+ #if defined (__ARMCC_2__)
162
+ #define KHRONOS_APIATTRIBUTES __softfp
163
+ #else
164
+ #define KHRONOS_APIATTRIBUTES
165
+ #endif
166
+
167
+ /*-------------------------------------------------------------------------
168
+ * basic type definitions
169
+ *-----------------------------------------------------------------------*/
170
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
171
+
172
+
173
+ /*
174
+ * Using <stdint.h>
175
+ */
176
+ #include <stdint.h>
177
+ typedef int32_t khronos_int32_t;
178
+ typedef uint32_t khronos_uint32_t;
179
+ typedef int64_t khronos_int64_t;
180
+ typedef uint64_t khronos_uint64_t;
181
+ #define KHRONOS_SUPPORT_INT64 1
182
+ #define KHRONOS_SUPPORT_FLOAT 1
183
+
184
+ #elif defined(__VMS ) || defined(__sgi)
185
+
186
+ /*
187
+ * Using <inttypes.h>
188
+ */
189
+ #include <inttypes.h>
190
+ typedef int32_t khronos_int32_t;
191
+ typedef uint32_t khronos_uint32_t;
192
+ typedef int64_t khronos_int64_t;
193
+ typedef uint64_t khronos_uint64_t;
194
+ #define KHRONOS_SUPPORT_INT64 1
195
+ #define KHRONOS_SUPPORT_FLOAT 1
196
+
197
+ #elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
198
+
199
+ /*
200
+ * Win32
201
+ */
202
+ typedef __int32 khronos_int32_t;
203
+ typedef unsigned __int32 khronos_uint32_t;
204
+ typedef __int64 khronos_int64_t;
205
+ typedef unsigned __int64 khronos_uint64_t;
206
+ #define KHRONOS_SUPPORT_INT64 1
207
+ #define KHRONOS_SUPPORT_FLOAT 1
208
+
209
+ #elif defined(__sun__) || defined(__digital__)
210
+
211
+ /*
212
+ * Sun or Digital
213
+ */
214
+ typedef int khronos_int32_t;
215
+ typedef unsigned int khronos_uint32_t;
216
+ #if defined(__arch64__) || defined(_LP64)
217
+ typedef long int khronos_int64_t;
218
+ typedef unsigned long int khronos_uint64_t;
219
+ #else
220
+ typedef long long int khronos_int64_t;
221
+ typedef unsigned long long int khronos_uint64_t;
222
+ #endif /* __arch64__ */
223
+ #define KHRONOS_SUPPORT_INT64 1
224
+ #define KHRONOS_SUPPORT_FLOAT 1
225
+
226
+ #elif 0
227
+
228
+ /*
229
+ * Hypothetical platform with no float or int64 support
230
+ */
231
+ typedef int khronos_int32_t;
232
+ typedef unsigned int khronos_uint32_t;
233
+ #define KHRONOS_SUPPORT_INT64 0
234
+ #define KHRONOS_SUPPORT_FLOAT 0
235
+
236
+ #else
237
+
238
+ /*
239
+ * Generic fallback
240
+ */
241
+ #include <stdint.h>
242
+ typedef int32_t khronos_int32_t;
243
+ typedef uint32_t khronos_uint32_t;
244
+ typedef int64_t khronos_int64_t;
245
+ typedef uint64_t khronos_uint64_t;
246
+ #define KHRONOS_SUPPORT_INT64 1
247
+ #define KHRONOS_SUPPORT_FLOAT 1
248
+
249
+ #endif
250
+
251
+
252
+ /*
253
+ * Types that are (so far) the same on all platforms
254
+ */
255
+ typedef signed char khronos_int8_t;
256
+ typedef unsigned char khronos_uint8_t;
257
+ typedef signed short int khronos_int16_t;
258
+ typedef unsigned short int khronos_uint16_t;
259
+
260
+ /*
261
+ * Types that differ between LLP64 and LP64 architectures - in LLP64,
262
+ * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
263
+ * to be the only LLP64 architecture in current use.
264
+ */
265
+ #ifdef _WIN64
266
+ typedef signed long long int khronos_intptr_t;
267
+ typedef unsigned long long int khronos_uintptr_t;
268
+ typedef signed long long int khronos_ssize_t;
269
+ typedef unsigned long long int khronos_usize_t;
270
+ #else
271
+ typedef signed long int khronos_intptr_t;
272
+ typedef unsigned long int khronos_uintptr_t;
273
+ typedef signed long int khronos_ssize_t;
274
+ typedef unsigned long int khronos_usize_t;
275
+ #endif
276
+
277
+ #if KHRONOS_SUPPORT_FLOAT
278
+ /*
279
+ * Float type
280
+ */
281
+ typedef float khronos_float_t;
282
+ #endif
283
+
284
+ #if KHRONOS_SUPPORT_INT64
285
+ /* Time types
286
+ *
287
+ * These types can be used to represent a time interval in nanoseconds or
288
+ * an absolute Unadjusted System Time. Unadjusted System Time is the number
289
+ * of nanoseconds since some arbitrary system event (e.g. since the last
290
+ * time the system booted). The Unadjusted System Time is an unsigned
291
+ * 64 bit value that wraps back to 0 every 584 years. Time intervals
292
+ * may be either signed or unsigned.
293
+ */
294
+ typedef khronos_uint64_t khronos_utime_nanoseconds_t;
295
+ typedef khronos_int64_t khronos_stime_nanoseconds_t;
296
+ #endif
297
+
298
+ /*
299
+ * Dummy value used to pad enum types to 32 bits.
300
+ */
301
+ #ifndef KHRONOS_MAX_ENUM
302
+ #define KHRONOS_MAX_ENUM 0x7FFFFFFF
303
+ #endif
304
+
305
+ /*
306
+ * Enumerated boolean type
307
+ *
308
+ * Values other than zero should be considered to be true. Therefore
309
+ * comparisons should not be made against KHRONOS_TRUE.
310
+ */
311
+ typedef enum {
312
+ KHRONOS_FALSE = 0,
313
+ KHRONOS_TRUE = 1,
314
+ KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
315
+ } khronos_boolean_enum_t;
316
+
317
+ #endif /* __khrplatform_h_ */
318
+
319
+
320
+ #ifndef __eglplatform_h_
321
+ #define __eglplatform_h_
322
+
323
+ /*
324
+ ** Copyright (c) 2007-2009 The Khronos Group Inc.
325
+ **
326
+ ** Permission is hereby granted, free of charge, to any person obtaining a
327
+ ** copy of this software and/or associated documentation files (the
328
+ ** "Materials"), to deal in the Materials without restriction, including
329
+ ** without limitation the rights to use, copy, modify, merge, publish,
330
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
331
+ ** permit persons to whom the Materials are furnished to do so, subject to
332
+ ** the following conditions:
333
+ **
334
+ ** The above copyright notice and this permission notice shall be included
335
+ ** in all copies or substantial portions of the Materials.
336
+ **
337
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
338
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
339
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
340
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
341
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
342
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
343
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
344
+ */
345
+
346
+ /* Platform-specific types and definitions for egl.h
347
+ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
348
+ *
349
+ * Adopters may modify khrplatform.h and this file to suit their platform.
350
+ * You are encouraged to submit all modifications to the Khronos group so that
351
+ * they can be included in future versions of this file. Please submit changes
352
+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
353
+ * by filing a bug against product "EGL" component "Registry".
354
+ */
355
+
356
+ /*#include <KHR/khrplatform.h>*/
357
+
358
+ /* Macros used in EGL function prototype declarations.
359
+ *
360
+ * EGL functions should be prototyped as:
361
+ *
362
+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
363
+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
364
+ *
365
+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
366
+ */
367
+
368
+ #ifndef EGLAPI
369
+ #define EGLAPI KHRONOS_APICALL
370
+ #endif
371
+
372
+ #ifndef EGLAPIENTRY
373
+ #define EGLAPIENTRY KHRONOS_APIENTRY
374
+ #endif
375
+ #define EGLAPIENTRYP EGLAPIENTRY*
376
+
377
+ /* The types NativeDisplayType, NativeWindowType, and NativePixmapType
378
+ * are aliases of window-system-dependent types, such as X Display * or
379
+ * Windows Device Context. They must be defined in platform-specific
380
+ * code below. The EGL-prefixed versions of Native*Type are the same
381
+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
382
+ *
383
+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
384
+ * provided below, since these changes affect both binary and source
385
+ * portability of applications using EGL running on different EGL
386
+ * implementations.
387
+ */
388
+
389
+ #if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
390
+ #ifndef WIN32_LEAN_AND_MEAN
391
+ #define WIN32_LEAN_AND_MEAN 1
392
+ #endif
393
+ #ifndef NOMINMAX /* don't define min() and max(). */
394
+ #define NOMINMAX
395
+ #endif
396
+ #include <windows.h>
397
+
398
+ #if __WINRT__
399
+ #include <Unknwn.h>
400
+ typedef IUnknown * EGLNativeWindowType;
401
+ typedef IUnknown * EGLNativePixmapType;
402
+ typedef IUnknown * EGLNativeDisplayType;
403
+ #else
404
+ typedef HDC EGLNativeDisplayType;
405
+ typedef HBITMAP EGLNativePixmapType;
406
+ typedef HWND EGLNativeWindowType;
407
+ #endif
408
+
409
+ #elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
410
+
411
+ typedef int EGLNativeDisplayType;
412
+ typedef void *EGLNativeWindowType;
413
+ typedef void *EGLNativePixmapType;
414
+
415
+ #elif defined(WL_EGL_PLATFORM)
416
+
417
+ typedef struct wl_display *EGLNativeDisplayType;
418
+ typedef struct wl_egl_pixmap *EGLNativePixmapType;
419
+ typedef struct wl_egl_window *EGLNativeWindowType;
420
+
421
+ #elif defined(__GBM__)
422
+
423
+ typedef struct gbm_device *EGLNativeDisplayType;
424
+ typedef struct gbm_bo *EGLNativePixmapType;
425
+ typedef void *EGLNativeWindowType;
426
+
427
+ #elif defined(__ANDROID__) /* Android */
428
+
429
+ struct ANativeWindow;
430
+ struct egl_native_pixmap_t;
431
+
432
+ typedef struct ANativeWindow *EGLNativeWindowType;
433
+ typedef struct egl_native_pixmap_t *EGLNativePixmapType;
434
+ typedef void *EGLNativeDisplayType;
435
+
436
+ #elif defined(MIR_EGL_PLATFORM)
437
+
438
+ #include <mir_toolkit/mir_client_library.h>
439
+ typedef MirEGLNativeDisplayType EGLNativeDisplayType;
440
+ typedef void *EGLNativePixmapType;
441
+ typedef MirEGLNativeWindowType EGLNativeWindowType;
442
+
443
+ #elif defined(__unix__)
444
+
445
+ #ifdef MESA_EGL_NO_X11_HEADERS
446
+
447
+ typedef void *EGLNativeDisplayType;
448
+ typedef khronos_uintptr_t EGLNativePixmapType;
449
+ typedef khronos_uintptr_t EGLNativeWindowType;
450
+
451
+ #else
452
+
453
+ /* X11 (tentative) */
454
+ #include <X11/Xlib.h>
455
+ #include <X11/Xutil.h>
456
+
457
+ typedef Display *EGLNativeDisplayType;
458
+ typedef Pixmap EGLNativePixmapType;
459
+ typedef Window EGLNativeWindowType;
460
+
461
+ #endif /* MESA_EGL_NO_X11_HEADERS */
462
+
463
+ #else
464
+ #error "Platform not recognized"
465
+ #endif
466
+
467
+ /* EGL 1.2 types, renamed for consistency in EGL 1.3 */
468
+ typedef EGLNativeDisplayType NativeDisplayType;
469
+ typedef EGLNativePixmapType NativePixmapType;
470
+ typedef EGLNativeWindowType NativeWindowType;
471
+
472
+
473
+ /* Define EGLint. This must be a signed integral type large enough to contain
474
+ * all legal attribute names and values passed into and out of EGL, whether
475
+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
476
+ * handle, or other. While in general a 32-bit integer will suffice, if
477
+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
478
+ * integer type.
479
+ */
480
+ typedef khronos_int32_t EGLint;
481
+
482
+ #endif /* __eglplatform_h */
483
+
484
+ #ifndef __egl_h_
485
+ #define __egl_h_ 1
486
+
487
+ #ifdef __cplusplus
488
+ extern "C" {
489
+ #endif
490
+
491
+ /*
492
+ ** Copyright (c) 2013-2015 The Khronos Group Inc.
493
+ **
494
+ ** Permission is hereby granted, free of charge, to any person obtaining a
495
+ ** copy of this software and/or associated documentation files (the
496
+ ** "Materials"), to deal in the Materials without restriction, including
497
+ ** without limitation the rights to use, copy, modify, merge, publish,
498
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
499
+ ** permit persons to whom the Materials are furnished to do so, subject to
500
+ ** the following conditions:
501
+ **
502
+ ** The above copyright notice and this permission notice shall be included
503
+ ** in all copies or substantial portions of the Materials.
504
+ **
505
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
506
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
507
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
508
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
509
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
510
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
511
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
512
+ */
513
+ /*
514
+ ** This header is generated from the Khronos OpenGL / OpenGL ES XML
515
+ ** API Registry. The current version of the Registry, generator scripts
516
+ ** used to make the header, and the header can be found at
517
+ ** http://www.opengl.org/registry/
518
+ **
519
+ ** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
520
+ */
521
+
522
+ /*#include <EGL/eglplatform.h>*/
523
+
524
+ /* Generated on date 20150623 */
525
+
526
+ /* Generated C header for:
527
+ * API: egl
528
+ * Versions considered: .*
529
+ * Versions emitted: .*
530
+ * Default extensions included: None
531
+ * Additional extensions included: _nomatch_^
532
+ * Extensions removed: _nomatch_^
533
+ */
534
+
535
+ #ifndef EGL_VERSION_1_0
536
+ #define EGL_VERSION_1_0 1
537
+ typedef unsigned int EGLBoolean;
538
+ typedef void *EGLDisplay;
539
+ typedef void *EGLConfig;
540
+ typedef void *EGLSurface;
541
+ typedef void *EGLContext;
542
+ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
543
+ #define EGL_ALPHA_SIZE 0x3021
544
+ #define EGL_BAD_ACCESS 0x3002
545
+ #define EGL_BAD_ALLOC 0x3003
546
+ #define EGL_BAD_ATTRIBUTE 0x3004
547
+ #define EGL_BAD_CONFIG 0x3005
548
+ #define EGL_BAD_CONTEXT 0x3006
549
+ #define EGL_BAD_CURRENT_SURFACE 0x3007
550
+ #define EGL_BAD_DISPLAY 0x3008
551
+ #define EGL_BAD_MATCH 0x3009
552
+ #define EGL_BAD_NATIVE_PIXMAP 0x300A
553
+ #define EGL_BAD_NATIVE_WINDOW 0x300B
554
+ #define EGL_BAD_PARAMETER 0x300C
555
+ #define EGL_BAD_SURFACE 0x300D
556
+ #define EGL_BLUE_SIZE 0x3022
557
+ #define EGL_BUFFER_SIZE 0x3020
558
+ #define EGL_CONFIG_CAVEAT 0x3027
559
+ #define EGL_CONFIG_ID 0x3028
560
+ #define EGL_CORE_NATIVE_ENGINE 0x305B
561
+ #define EGL_DEPTH_SIZE 0x3025
562
+ #define EGL_DONT_CARE ((EGLint)-1)
563
+ #define EGL_DRAW 0x3059
564
+ #define EGL_EXTENSIONS 0x3055
565
+ #define EGL_FALSE 0
566
+ #define EGL_GREEN_SIZE 0x3023
567
+ #define EGL_HEIGHT 0x3056
568
+ #define EGL_LARGEST_PBUFFER 0x3058
569
+ #define EGL_LEVEL 0x3029
570
+ #define EGL_MAX_PBUFFER_HEIGHT 0x302A
571
+ #define EGL_MAX_PBUFFER_PIXELS 0x302B
572
+ #define EGL_MAX_PBUFFER_WIDTH 0x302C
573
+ #define EGL_NATIVE_RENDERABLE 0x302D
574
+ #define EGL_NATIVE_VISUAL_ID 0x302E
575
+ #define EGL_NATIVE_VISUAL_TYPE 0x302F
576
+ #define EGL_NONE 0x3038
577
+ #define EGL_NON_CONFORMANT_CONFIG 0x3051
578
+ #define EGL_NOT_INITIALIZED 0x3001
579
+ #define EGL_NO_CONTEXT ((EGLContext)0)
580
+ #define EGL_NO_DISPLAY ((EGLDisplay)0)
581
+ #define EGL_NO_SURFACE ((EGLSurface)0)
582
+ #define EGL_PBUFFER_BIT 0x0001
583
+ #define EGL_PIXMAP_BIT 0x0002
584
+ #define EGL_READ 0x305A
585
+ #define EGL_RED_SIZE 0x3024
586
+ #define EGL_SAMPLES 0x3031
587
+ #define EGL_SAMPLE_BUFFERS 0x3032
588
+ #define EGL_SLOW_CONFIG 0x3050
589
+ #define EGL_STENCIL_SIZE 0x3026
590
+ #define EGL_SUCCESS 0x3000
591
+ #define EGL_SURFACE_TYPE 0x3033
592
+ #define EGL_TRANSPARENT_BLUE_VALUE 0x3035
593
+ #define EGL_TRANSPARENT_GREEN_VALUE 0x3036
594
+ #define EGL_TRANSPARENT_RED_VALUE 0x3037
595
+ #define EGL_TRANSPARENT_RGB 0x3052
596
+ #define EGL_TRANSPARENT_TYPE 0x3034
597
+ #define EGL_TRUE 1
598
+ #define EGL_VENDOR 0x3053
599
+ #define EGL_VERSION 0x3054
600
+ #define EGL_WIDTH 0x3057
601
+ #define EGL_WINDOW_BIT 0x0004
602
+ EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
603
+ EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
604
+ EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
605
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
606
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
607
+ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
608
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
609
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
610
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
611
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
612
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
613
+ EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
614
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
615
+ EGLAPI EGLint EGLAPIENTRY eglGetError (void);
616
+ EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
617
+ EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
618
+ EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
619
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
620
+ EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
621
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
622
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
623
+ EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
624
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
625
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
626
+ #endif /* EGL_VERSION_1_0 */
627
+
628
+ #ifndef EGL_VERSION_1_1
629
+ #define EGL_VERSION_1_1 1
630
+ #define EGL_BACK_BUFFER 0x3084
631
+ #define EGL_BIND_TO_TEXTURE_RGB 0x3039
632
+ #define EGL_BIND_TO_TEXTURE_RGBA 0x303A
633
+ #define EGL_CONTEXT_LOST 0x300E
634
+ #define EGL_MIN_SWAP_INTERVAL 0x303B
635
+ #define EGL_MAX_SWAP_INTERVAL 0x303C
636
+ #define EGL_MIPMAP_TEXTURE 0x3082
637
+ #define EGL_MIPMAP_LEVEL 0x3083
638
+ #define EGL_NO_TEXTURE 0x305C
639
+ #define EGL_TEXTURE_2D 0x305F
640
+ #define EGL_TEXTURE_FORMAT 0x3080
641
+ #define EGL_TEXTURE_RGB 0x305D
642
+ #define EGL_TEXTURE_RGBA 0x305E
643
+ #define EGL_TEXTURE_TARGET 0x3081
644
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
645
+ EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
646
+ EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
647
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
648
+ #endif /* EGL_VERSION_1_1 */
649
+
650
+ #ifndef EGL_VERSION_1_2
651
+ #define EGL_VERSION_1_2 1
652
+ typedef unsigned int EGLenum;
653
+ typedef void *EGLClientBuffer;
654
+ #define EGL_ALPHA_FORMAT 0x3088
655
+ #define EGL_ALPHA_FORMAT_NONPRE 0x308B
656
+ #define EGL_ALPHA_FORMAT_PRE 0x308C
657
+ #define EGL_ALPHA_MASK_SIZE 0x303E
658
+ #define EGL_BUFFER_PRESERVED 0x3094
659
+ #define EGL_BUFFER_DESTROYED 0x3095
660
+ #define EGL_CLIENT_APIS 0x308D
661
+ #define EGL_COLORSPACE 0x3087
662
+ #define EGL_COLORSPACE_sRGB 0x3089
663
+ #define EGL_COLORSPACE_LINEAR 0x308A
664
+ #define EGL_COLOR_BUFFER_TYPE 0x303F
665
+ #define EGL_CONTEXT_CLIENT_TYPE 0x3097
666
+ #define EGL_DISPLAY_SCALING 10000
667
+ #define EGL_HORIZONTAL_RESOLUTION 0x3090
668
+ #define EGL_LUMINANCE_BUFFER 0x308F
669
+ #define EGL_LUMINANCE_SIZE 0x303D
670
+ #define EGL_OPENGL_ES_BIT 0x0001
671
+ #define EGL_OPENVG_BIT 0x0002
672
+ #define EGL_OPENGL_ES_API 0x30A0
673
+ #define EGL_OPENVG_API 0x30A1
674
+ #define EGL_OPENVG_IMAGE 0x3096
675
+ #define EGL_PIXEL_ASPECT_RATIO 0x3092
676
+ #define EGL_RENDERABLE_TYPE 0x3040
677
+ #define EGL_RENDER_BUFFER 0x3086
678
+ #define EGL_RGB_BUFFER 0x308E
679
+ #define EGL_SINGLE_BUFFER 0x3085
680
+ #define EGL_SWAP_BEHAVIOR 0x3093
681
+ #define EGL_UNKNOWN ((EGLint)-1)
682
+ #define EGL_VERTICAL_RESOLUTION 0x3091
683
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
684
+ EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
685
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
686
+ EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
687
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
688
+ #endif /* EGL_VERSION_1_2 */
689
+
690
+ #ifndef EGL_VERSION_1_3
691
+ #define EGL_VERSION_1_3 1
692
+ #define EGL_CONFORMANT 0x3042
693
+ #define EGL_CONTEXT_CLIENT_VERSION 0x3098
694
+ #define EGL_MATCH_NATIVE_PIXMAP 0x3041
695
+ #define EGL_OPENGL_ES2_BIT 0x0004
696
+ #define EGL_VG_ALPHA_FORMAT 0x3088
697
+ #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
698
+ #define EGL_VG_ALPHA_FORMAT_PRE 0x308C
699
+ #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
700
+ #define EGL_VG_COLORSPACE 0x3087
701
+ #define EGL_VG_COLORSPACE_sRGB 0x3089
702
+ #define EGL_VG_COLORSPACE_LINEAR 0x308A
703
+ #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
704
+ #endif /* EGL_VERSION_1_3 */
705
+
706
+ #ifndef EGL_VERSION_1_4
707
+ #define EGL_VERSION_1_4 1
708
+ #define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
709
+ #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
710
+ #define EGL_MULTISAMPLE_RESOLVE 0x3099
711
+ #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
712
+ #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
713
+ #define EGL_OPENGL_API 0x30A2
714
+ #define EGL_OPENGL_BIT 0x0008
715
+ #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
716
+ EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
717
+ #endif /* EGL_VERSION_1_4 */
718
+
719
+ #ifndef EGL_VERSION_1_5
720
+ #define EGL_VERSION_1_5 1
721
+ typedef void *EGLSync;
722
+ typedef intptr_t EGLAttrib;
723
+ typedef khronos_utime_nanoseconds_t EGLTime;
724
+ typedef void *EGLImage;
725
+ #define EGL_CONTEXT_MAJOR_VERSION 0x3098
726
+ #define EGL_CONTEXT_MINOR_VERSION 0x30FB
727
+ #define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
728
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
729
+ #define EGL_NO_RESET_NOTIFICATION 0x31BE
730
+ #define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
731
+ #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
732
+ #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
733
+ #define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
734
+ #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
735
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
736
+ #define EGL_OPENGL_ES3_BIT 0x00000040
737
+ #define EGL_CL_EVENT_HANDLE 0x309C
738
+ #define EGL_SYNC_CL_EVENT 0x30FE
739
+ #define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
740
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
741
+ #define EGL_SYNC_TYPE 0x30F7
742
+ #define EGL_SYNC_STATUS 0x30F1
743
+ #define EGL_SYNC_CONDITION 0x30F8
744
+ #define EGL_SIGNALED 0x30F2
745
+ #define EGL_UNSIGNALED 0x30F3
746
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
747
+ #define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
748
+ #define EGL_TIMEOUT_EXPIRED 0x30F5
749
+ #define EGL_CONDITION_SATISFIED 0x30F6
750
+ #define EGL_NO_SYNC ((EGLSync)0)
751
+ #define EGL_SYNC_FENCE 0x30F9
752
+ #define EGL_GL_COLORSPACE 0x309D
753
+ #define EGL_GL_COLORSPACE_SRGB 0x3089
754
+ #define EGL_GL_COLORSPACE_LINEAR 0x308A
755
+ #define EGL_GL_RENDERBUFFER 0x30B9
756
+ #define EGL_GL_TEXTURE_2D 0x30B1
757
+ #define EGL_GL_TEXTURE_LEVEL 0x30BC
758
+ #define EGL_GL_TEXTURE_3D 0x30B2
759
+ #define EGL_GL_TEXTURE_ZOFFSET 0x30BD
760
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
761
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
762
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
763
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
764
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
765
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
766
+ #define EGL_IMAGE_PRESERVED 0x30D2
767
+ #define EGL_NO_IMAGE ((EGLImage)0)
768
+ EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
769
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
770
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
771
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
772
+ EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
773
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
774
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
775
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
776
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
777
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
778
+ #endif /* EGL_VERSION_1_5 */
779
+
780
+ #ifdef __cplusplus
781
+ }
782
+ #endif
783
+
784
+ #endif /* __egl_h_ */
785
+
786
+
787
+
788
+ #ifndef __eglext_h_
789
+ #define __eglext_h_ 1
790
+
791
+ #ifdef __cplusplus
792
+ extern "C" {
793
+ #endif
794
+
795
+ /*
796
+ ** Copyright (c) 2013-2015 The Khronos Group Inc.
797
+ **
798
+ ** Permission is hereby granted, free of charge, to any person obtaining a
799
+ ** copy of this software and/or associated documentation files (the
800
+ ** "Materials"), to deal in the Materials without restriction, including
801
+ ** without limitation the rights to use, copy, modify, merge, publish,
802
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
803
+ ** permit persons to whom the Materials are furnished to do so, subject to
804
+ ** the following conditions:
805
+ **
806
+ ** The above copyright notice and this permission notice shall be included
807
+ ** in all copies or substantial portions of the Materials.
808
+ **
809
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
810
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
811
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
812
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
813
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
814
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
815
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
816
+ */
817
+ /*
818
+ ** This header is generated from the Khronos OpenGL / OpenGL ES XML
819
+ ** API Registry. The current version of the Registry, generator scripts
820
+ ** used to make the header, and the header can be found at
821
+ ** http://www.opengl.org/registry/
822
+ **
823
+ ** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
824
+ */
825
+
826
+ /*#include <EGL/eglplatform.h>*/
827
+
828
+ #define EGL_EGLEXT_VERSION 20150623
829
+
830
+ /* Generated C header for:
831
+ * API: egl
832
+ * Versions considered: .*
833
+ * Versions emitted: _nomatch_^
834
+ * Default extensions included: egl
835
+ * Additional extensions included: _nomatch_^
836
+ * Extensions removed: _nomatch_^
837
+ */
838
+
839
+ #ifndef EGL_KHR_cl_event
840
+ #define EGL_KHR_cl_event 1
841
+ #define EGL_CL_EVENT_HANDLE_KHR 0x309C
842
+ #define EGL_SYNC_CL_EVENT_KHR 0x30FE
843
+ #define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF
844
+ #endif /* EGL_KHR_cl_event */
845
+
846
+ #ifndef EGL_KHR_cl_event2
847
+ #define EGL_KHR_cl_event2 1
848
+ typedef void *EGLSyncKHR;
849
+ typedef intptr_t EGLAttribKHR;
850
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
851
+ #ifdef EGL_EGLEXT_PROTOTYPES
852
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
853
+ #endif
854
+ #endif /* EGL_KHR_cl_event2 */
855
+
856
+ #ifndef EGL_KHR_client_get_all_proc_addresses
857
+ #define EGL_KHR_client_get_all_proc_addresses 1
858
+ #endif /* EGL_KHR_client_get_all_proc_addresses */
859
+
860
+ #ifndef EGL_KHR_config_attribs
861
+ #define EGL_KHR_config_attribs 1
862
+ #define EGL_CONFORMANT_KHR 0x3042
863
+ #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020
864
+ #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040
865
+ #endif /* EGL_KHR_config_attribs */
866
+
867
+ #ifndef EGL_KHR_create_context
868
+ #define EGL_KHR_create_context 1
869
+ #define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
870
+ #define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
871
+ #define EGL_CONTEXT_FLAGS_KHR 0x30FC
872
+ #define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
873
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
874
+ #define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE
875
+ #define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
876
+ #define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001
877
+ #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
878
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
879
+ #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
880
+ #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
881
+ #define EGL_OPENGL_ES3_BIT_KHR 0x00000040
882
+ #endif /* EGL_KHR_create_context */
883
+
884
+ #ifndef EGL_KHR_create_context_no_error
885
+ #define EGL_KHR_create_context_no_error 1
886
+ #define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3
887
+ #endif /* EGL_KHR_create_context_no_error */
888
+
889
+ #ifndef EGL_KHR_fence_sync
890
+ #define EGL_KHR_fence_sync 1
891
+ typedef khronos_utime_nanoseconds_t EGLTimeKHR;
892
+ #ifdef KHRONOS_SUPPORT_INT64
893
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
894
+ #define EGL_SYNC_CONDITION_KHR 0x30F8
895
+ #define EGL_SYNC_FENCE_KHR 0x30F9
896
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
897
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
898
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
899
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
900
+ #ifdef EGL_EGLEXT_PROTOTYPES
901
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
902
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
903
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
904
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
905
+ #endif
906
+ #endif /* KHRONOS_SUPPORT_INT64 */
907
+ #endif /* EGL_KHR_fence_sync */
908
+
909
+ #ifndef EGL_KHR_get_all_proc_addresses
910
+ #define EGL_KHR_get_all_proc_addresses 1
911
+ #endif /* EGL_KHR_get_all_proc_addresses */
912
+
913
+ #ifndef EGL_KHR_gl_colorspace
914
+ #define EGL_KHR_gl_colorspace 1
915
+ #define EGL_GL_COLORSPACE_KHR 0x309D
916
+ #define EGL_GL_COLORSPACE_SRGB_KHR 0x3089
917
+ #define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A
918
+ #endif /* EGL_KHR_gl_colorspace */
919
+
920
+ #ifndef EGL_KHR_gl_renderbuffer_image
921
+ #define EGL_KHR_gl_renderbuffer_image 1
922
+ #define EGL_GL_RENDERBUFFER_KHR 0x30B9
923
+ #endif /* EGL_KHR_gl_renderbuffer_image */
924
+
925
+ #ifndef EGL_KHR_gl_texture_2D_image
926
+ #define EGL_KHR_gl_texture_2D_image 1
927
+ #define EGL_GL_TEXTURE_2D_KHR 0x30B1
928
+ #define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC
929
+ #endif /* EGL_KHR_gl_texture_2D_image */
930
+
931
+ #ifndef EGL_KHR_gl_texture_3D_image
932
+ #define EGL_KHR_gl_texture_3D_image 1
933
+ #define EGL_GL_TEXTURE_3D_KHR 0x30B2
934
+ #define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD
935
+ #endif /* EGL_KHR_gl_texture_3D_image */
936
+
937
+ #ifndef EGL_KHR_gl_texture_cubemap_image
938
+ #define EGL_KHR_gl_texture_cubemap_image 1
939
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
940
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
941
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
942
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
943
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
944
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
945
+ #endif /* EGL_KHR_gl_texture_cubemap_image */
946
+
947
+ #ifndef EGL_KHR_image
948
+ #define EGL_KHR_image 1
949
+ typedef void *EGLImageKHR;
950
+ #define EGL_NATIVE_PIXMAP_KHR 0x30B0
951
+ #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0)
952
+ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
953
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
954
+ #ifdef EGL_EGLEXT_PROTOTYPES
955
+ EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
956
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
957
+ #endif
958
+ #endif /* EGL_KHR_image */
959
+
960
+ #ifndef EGL_KHR_image_base
961
+ #define EGL_KHR_image_base 1
962
+ #define EGL_IMAGE_PRESERVED_KHR 0x30D2
963
+ #endif /* EGL_KHR_image_base */
964
+
965
+ #ifndef EGL_KHR_image_pixmap
966
+ #define EGL_KHR_image_pixmap 1
967
+ #endif /* EGL_KHR_image_pixmap */
968
+
969
+ #ifndef EGL_KHR_lock_surface
970
+ #define EGL_KHR_lock_surface 1
971
+ #define EGL_READ_SURFACE_BIT_KHR 0x0001
972
+ #define EGL_WRITE_SURFACE_BIT_KHR 0x0002
973
+ #define EGL_LOCK_SURFACE_BIT_KHR 0x0080
974
+ #define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
975
+ #define EGL_MATCH_FORMAT_KHR 0x3043
976
+ #define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
977
+ #define EGL_FORMAT_RGB_565_KHR 0x30C1
978
+ #define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
979
+ #define EGL_FORMAT_RGBA_8888_KHR 0x30C3
980
+ #define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
981
+ #define EGL_LOCK_USAGE_HINT_KHR 0x30C5
982
+ #define EGL_BITMAP_POINTER_KHR 0x30C6
983
+ #define EGL_BITMAP_PITCH_KHR 0x30C7
984
+ #define EGL_BITMAP_ORIGIN_KHR 0x30C8
985
+ #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
986
+ #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
987
+ #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
988
+ #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
989
+ #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
990
+ #define EGL_LOWER_LEFT_KHR 0x30CE
991
+ #define EGL_UPPER_LEFT_KHR 0x30CF
992
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
993
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
994
+ #ifdef EGL_EGLEXT_PROTOTYPES
995
+ EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
996
+ EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
997
+ #endif
998
+ #endif /* EGL_KHR_lock_surface */
999
+
1000
+ #ifndef EGL_KHR_lock_surface2
1001
+ #define EGL_KHR_lock_surface2 1
1002
+ #define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
1003
+ #endif /* EGL_KHR_lock_surface2 */
1004
+
1005
+ #ifndef EGL_KHR_lock_surface3
1006
+ #define EGL_KHR_lock_surface3 1
1007
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1008
+ #ifdef EGL_EGLEXT_PROTOTYPES
1009
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1010
+ #endif
1011
+ #endif /* EGL_KHR_lock_surface3 */
1012
+
1013
+ #ifndef EGL_KHR_partial_update
1014
+ #define EGL_KHR_partial_update 1
1015
+ #define EGL_BUFFER_AGE_KHR 0x313D
1016
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1017
+ #ifdef EGL_EGLEXT_PROTOTYPES
1018
+ EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1019
+ #endif
1020
+ #endif /* EGL_KHR_partial_update */
1021
+
1022
+ #ifndef EGL_KHR_platform_android
1023
+ #define EGL_KHR_platform_android 1
1024
+ #define EGL_PLATFORM_ANDROID_KHR 0x3141
1025
+ #endif /* EGL_KHR_platform_android */
1026
+
1027
+ #ifndef EGL_KHR_platform_gbm
1028
+ #define EGL_KHR_platform_gbm 1
1029
+ #define EGL_PLATFORM_GBM_KHR 0x31D7
1030
+ #endif /* EGL_KHR_platform_gbm */
1031
+
1032
+ #ifndef EGL_KHR_platform_wayland
1033
+ #define EGL_KHR_platform_wayland 1
1034
+ #define EGL_PLATFORM_WAYLAND_KHR 0x31D8
1035
+ #endif /* EGL_KHR_platform_wayland */
1036
+
1037
+ #ifndef EGL_KHR_platform_x11
1038
+ #define EGL_KHR_platform_x11 1
1039
+ #define EGL_PLATFORM_X11_KHR 0x31D5
1040
+ #define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6
1041
+ #endif /* EGL_KHR_platform_x11 */
1042
+
1043
+ #ifndef EGL_KHR_reusable_sync
1044
+ #define EGL_KHR_reusable_sync 1
1045
+ #ifdef KHRONOS_SUPPORT_INT64
1046
+ #define EGL_SYNC_STATUS_KHR 0x30F1
1047
+ #define EGL_SIGNALED_KHR 0x30F2
1048
+ #define EGL_UNSIGNALED_KHR 0x30F3
1049
+ #define EGL_TIMEOUT_EXPIRED_KHR 0x30F5
1050
+ #define EGL_CONDITION_SATISFIED_KHR 0x30F6
1051
+ #define EGL_SYNC_TYPE_KHR 0x30F7
1052
+ #define EGL_SYNC_REUSABLE_KHR 0x30FA
1053
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
1054
+ #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
1055
+ #define EGL_NO_SYNC_KHR ((EGLSyncKHR)0)
1056
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1057
+ #ifdef EGL_EGLEXT_PROTOTYPES
1058
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1059
+ #endif
1060
+ #endif /* KHRONOS_SUPPORT_INT64 */
1061
+ #endif /* EGL_KHR_reusable_sync */
1062
+
1063
+ #ifndef EGL_KHR_stream
1064
+ #define EGL_KHR_stream 1
1065
+ typedef void *EGLStreamKHR;
1066
+ typedef khronos_uint64_t EGLuint64KHR;
1067
+ #ifdef KHRONOS_SUPPORT_INT64
1068
+ #define EGL_NO_STREAM_KHR ((EGLStreamKHR)0)
1069
+ #define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210
1070
+ #define EGL_PRODUCER_FRAME_KHR 0x3212
1071
+ #define EGL_CONSUMER_FRAME_KHR 0x3213
1072
+ #define EGL_STREAM_STATE_KHR 0x3214
1073
+ #define EGL_STREAM_STATE_CREATED_KHR 0x3215
1074
+ #define EGL_STREAM_STATE_CONNECTING_KHR 0x3216
1075
+ #define EGL_STREAM_STATE_EMPTY_KHR 0x3217
1076
+ #define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
1077
+ #define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
1078
+ #define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
1079
+ #define EGL_BAD_STREAM_KHR 0x321B
1080
+ #define EGL_BAD_STATE_KHR 0x321C
1081
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1082
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1083
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1084
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1085
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1086
+ #ifdef EGL_EGLEXT_PROTOTYPES
1087
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
1088
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
1089
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1090
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1091
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1092
+ #endif
1093
+ #endif /* KHRONOS_SUPPORT_INT64 */
1094
+ #endif /* EGL_KHR_stream */
1095
+
1096
+ #ifndef EGL_KHR_stream_consumer_gltexture
1097
+ #define EGL_KHR_stream_consumer_gltexture 1
1098
+ #ifdef EGL_KHR_stream
1099
+ #define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
1100
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1101
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1102
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1103
+ #ifdef EGL_EGLEXT_PROTOTYPES
1104
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
1105
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
1106
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
1107
+ #endif
1108
+ #endif /* EGL_KHR_stream */
1109
+ #endif /* EGL_KHR_stream_consumer_gltexture */
1110
+
1111
+ #ifndef EGL_KHR_stream_cross_process_fd
1112
+ #define EGL_KHR_stream_cross_process_fd 1
1113
+ typedef int EGLNativeFileDescriptorKHR;
1114
+ #ifdef EGL_KHR_stream
1115
+ #define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1))
1116
+ typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1117
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1118
+ #ifdef EGL_EGLEXT_PROTOTYPES
1119
+ EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
1120
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1121
+ #endif
1122
+ #endif /* EGL_KHR_stream */
1123
+ #endif /* EGL_KHR_stream_cross_process_fd */
1124
+
1125
+ #ifndef EGL_KHR_stream_fifo
1126
+ #define EGL_KHR_stream_fifo 1
1127
+ #ifdef EGL_KHR_stream
1128
+ #define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC
1129
+ #define EGL_STREAM_TIME_NOW_KHR 0x31FD
1130
+ #define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE
1131
+ #define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF
1132
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1133
+ #ifdef EGL_EGLEXT_PROTOTYPES
1134
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1135
+ #endif
1136
+ #endif /* EGL_KHR_stream */
1137
+ #endif /* EGL_KHR_stream_fifo */
1138
+
1139
+ #ifndef EGL_KHR_stream_producer_aldatalocator
1140
+ #define EGL_KHR_stream_producer_aldatalocator 1
1141
+ #ifdef EGL_KHR_stream
1142
+ #endif /* EGL_KHR_stream */
1143
+ #endif /* EGL_KHR_stream_producer_aldatalocator */
1144
+
1145
+ #ifndef EGL_KHR_stream_producer_eglsurface
1146
+ #define EGL_KHR_stream_producer_eglsurface 1
1147
+ #ifdef EGL_KHR_stream
1148
+ #define EGL_STREAM_BIT_KHR 0x0800
1149
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1150
+ #ifdef EGL_EGLEXT_PROTOTYPES
1151
+ EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1152
+ #endif
1153
+ #endif /* EGL_KHR_stream */
1154
+ #endif /* EGL_KHR_stream_producer_eglsurface */
1155
+
1156
+ #ifndef EGL_KHR_surfaceless_context
1157
+ #define EGL_KHR_surfaceless_context 1
1158
+ #endif /* EGL_KHR_surfaceless_context */
1159
+
1160
+ #ifndef EGL_KHR_swap_buffers_with_damage
1161
+ #define EGL_KHR_swap_buffers_with_damage 1
1162
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1163
+ #ifdef EGL_EGLEXT_PROTOTYPES
1164
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1165
+ #endif
1166
+ #endif /* EGL_KHR_swap_buffers_with_damage */
1167
+
1168
+ #ifndef EGL_KHR_vg_parent_image
1169
+ #define EGL_KHR_vg_parent_image 1
1170
+ #define EGL_VG_PARENT_IMAGE_KHR 0x30BA
1171
+ #endif /* EGL_KHR_vg_parent_image */
1172
+
1173
+ #ifndef EGL_KHR_wait_sync
1174
+ #define EGL_KHR_wait_sync 1
1175
+ typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1176
+ #ifdef EGL_EGLEXT_PROTOTYPES
1177
+ EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1178
+ #endif
1179
+ #endif /* EGL_KHR_wait_sync */
1180
+
1181
+ #ifndef EGL_ANDROID_blob_cache
1182
+ #define EGL_ANDROID_blob_cache 1
1183
+ typedef khronos_ssize_t EGLsizeiANDROID;
1184
+ typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
1185
+ typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
1186
+ typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1187
+ #ifdef EGL_EGLEXT_PROTOTYPES
1188
+ EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1189
+ #endif
1190
+ #endif /* EGL_ANDROID_blob_cache */
1191
+
1192
+ #ifndef EGL_ANDROID_framebuffer_target
1193
+ #define EGL_ANDROID_framebuffer_target 1
1194
+ #define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
1195
+ #endif /* EGL_ANDROID_framebuffer_target */
1196
+
1197
+ #ifndef EGL_ANDROID_image_native_buffer
1198
+ #define EGL_ANDROID_image_native_buffer 1
1199
+ #define EGL_NATIVE_BUFFER_ANDROID 0x3140
1200
+ #endif /* EGL_ANDROID_image_native_buffer */
1201
+
1202
+ #ifndef EGL_ANDROID_native_fence_sync
1203
+ #define EGL_ANDROID_native_fence_sync 1
1204
+ #define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144
1205
+ #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145
1206
+ #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
1207
+ #define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
1208
+ typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1209
+ #ifdef EGL_EGLEXT_PROTOTYPES
1210
+ EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
1211
+ #endif
1212
+ #endif /* EGL_ANDROID_native_fence_sync */
1213
+
1214
+ #ifndef EGL_ANDROID_recordable
1215
+ #define EGL_ANDROID_recordable 1
1216
+ #define EGL_RECORDABLE_ANDROID 0x3142
1217
+ #endif /* EGL_ANDROID_recordable */
1218
+
1219
+ #ifndef EGL_ANGLE_d3d_share_handle_client_buffer
1220
+ #define EGL_ANGLE_d3d_share_handle_client_buffer 1
1221
+ #define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
1222
+ #endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
1223
+
1224
+ #ifndef EGL_ANGLE_device_d3d
1225
+ #define EGL_ANGLE_device_d3d 1
1226
+ #define EGL_D3D9_DEVICE_ANGLE 0x33A0
1227
+ #define EGL_D3D11_DEVICE_ANGLE 0x33A1
1228
+ #endif /* EGL_ANGLE_device_d3d */
1229
+
1230
+ #ifndef EGL_ANGLE_query_surface_pointer
1231
+ #define EGL_ANGLE_query_surface_pointer 1
1232
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1233
+ #ifdef EGL_EGLEXT_PROTOTYPES
1234
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1235
+ #endif
1236
+ #endif /* EGL_ANGLE_query_surface_pointer */
1237
+
1238
+ #ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
1239
+ #define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
1240
+ #endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
1241
+
1242
+ #ifndef EGL_ANGLE_window_fixed_size
1243
+ #define EGL_ANGLE_window_fixed_size 1
1244
+ #define EGL_FIXED_SIZE_ANGLE 0x3201
1245
+ #endif /* EGL_ANGLE_window_fixed_size */
1246
+
1247
+ #ifndef EGL_ARM_pixmap_multisample_discard
1248
+ #define EGL_ARM_pixmap_multisample_discard 1
1249
+ #define EGL_DISCARD_SAMPLES_ARM 0x3286
1250
+ #endif /* EGL_ARM_pixmap_multisample_discard */
1251
+
1252
+ #ifndef EGL_EXT_buffer_age
1253
+ #define EGL_EXT_buffer_age 1
1254
+ #define EGL_BUFFER_AGE_EXT 0x313D
1255
+ #endif /* EGL_EXT_buffer_age */
1256
+
1257
+ #ifndef EGL_EXT_client_extensions
1258
+ #define EGL_EXT_client_extensions 1
1259
+ #endif /* EGL_EXT_client_extensions */
1260
+
1261
+ #ifndef EGL_EXT_create_context_robustness
1262
+ #define EGL_EXT_create_context_robustness 1
1263
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
1264
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
1265
+ #define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE
1266
+ #define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF
1267
+ #endif /* EGL_EXT_create_context_robustness */
1268
+
1269
+ #ifndef EGL_EXT_device_base
1270
+ #define EGL_EXT_device_base 1
1271
+ typedef void *EGLDeviceEXT;
1272
+ #define EGL_NO_DEVICE_EXT ((EGLDeviceEXT)(0))
1273
+ #define EGL_BAD_DEVICE_EXT 0x322B
1274
+ #define EGL_DEVICE_EXT 0x322C
1275
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1276
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
1277
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1278
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1279
+ #ifdef EGL_EGLEXT_PROTOTYPES
1280
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1281
+ EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
1282
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1283
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1284
+ #endif
1285
+ #endif /* EGL_EXT_device_base */
1286
+
1287
+ #ifndef EGL_EXT_device_drm
1288
+ #define EGL_EXT_device_drm 1
1289
+ #define EGL_DRM_DEVICE_FILE_EXT 0x3233
1290
+ #endif /* EGL_EXT_device_drm */
1291
+
1292
+ #ifndef EGL_EXT_device_enumeration
1293
+ #define EGL_EXT_device_enumeration 1
1294
+ #endif /* EGL_EXT_device_enumeration */
1295
+
1296
+ #ifndef EGL_EXT_device_openwf
1297
+ #define EGL_EXT_device_openwf 1
1298
+ #define EGL_OPENWF_DEVICE_ID_EXT 0x3237
1299
+ #endif /* EGL_EXT_device_openwf */
1300
+
1301
+ #ifndef EGL_EXT_device_query
1302
+ #define EGL_EXT_device_query 1
1303
+ #endif /* EGL_EXT_device_query */
1304
+
1305
+ #ifndef EGL_EXT_image_dma_buf_import
1306
+ #define EGL_EXT_image_dma_buf_import 1
1307
+ #define EGL_LINUX_DMA_BUF_EXT 0x3270
1308
+ #define EGL_LINUX_DRM_FOURCC_EXT 0x3271
1309
+ #define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
1310
+ #define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
1311
+ #define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
1312
+ #define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
1313
+ #define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
1314
+ #define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
1315
+ #define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
1316
+ #define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
1317
+ #define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
1318
+ #define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
1319
+ #define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
1320
+ #define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
1321
+ #define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
1322
+ #define EGL_ITU_REC601_EXT 0x327F
1323
+ #define EGL_ITU_REC709_EXT 0x3280
1324
+ #define EGL_ITU_REC2020_EXT 0x3281
1325
+ #define EGL_YUV_FULL_RANGE_EXT 0x3282
1326
+ #define EGL_YUV_NARROW_RANGE_EXT 0x3283
1327
+ #define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
1328
+ #define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
1329
+ #endif /* EGL_EXT_image_dma_buf_import */
1330
+
1331
+ #ifndef EGL_EXT_multiview_window
1332
+ #define EGL_EXT_multiview_window 1
1333
+ #define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
1334
+ #endif /* EGL_EXT_multiview_window */
1335
+
1336
+ #ifndef EGL_EXT_output_base
1337
+ #define EGL_EXT_output_base 1
1338
+ typedef void *EGLOutputLayerEXT;
1339
+ typedef void *EGLOutputPortEXT;
1340
+ #define EGL_NO_OUTPUT_LAYER_EXT ((EGLOutputLayerEXT)0)
1341
+ #define EGL_NO_OUTPUT_PORT_EXT ((EGLOutputPortEXT)0)
1342
+ #define EGL_BAD_OUTPUT_LAYER_EXT 0x322D
1343
+ #define EGL_BAD_OUTPUT_PORT_EXT 0x322E
1344
+ #define EGL_SWAP_INTERVAL_EXT 0x322F
1345
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1346
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1347
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1348
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1349
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1350
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1351
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1352
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1353
+ #ifdef EGL_EGLEXT_PROTOTYPES
1354
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1355
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1356
+ EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1357
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1358
+ EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1359
+ EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1360
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1361
+ EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1362
+ #endif
1363
+ #endif /* EGL_EXT_output_base */
1364
+
1365
+ #ifndef EGL_EXT_output_drm
1366
+ #define EGL_EXT_output_drm 1
1367
+ #define EGL_DRM_CRTC_EXT 0x3234
1368
+ #define EGL_DRM_PLANE_EXT 0x3235
1369
+ #define EGL_DRM_CONNECTOR_EXT 0x3236
1370
+ #endif /* EGL_EXT_output_drm */
1371
+
1372
+ #ifndef EGL_EXT_output_openwf
1373
+ #define EGL_EXT_output_openwf 1
1374
+ #define EGL_OPENWF_PIPELINE_ID_EXT 0x3238
1375
+ #define EGL_OPENWF_PORT_ID_EXT 0x3239
1376
+ #endif /* EGL_EXT_output_openwf */
1377
+
1378
+ #ifndef EGL_EXT_platform_base
1379
+ #define EGL_EXT_platform_base 1
1380
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
1381
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1382
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1383
+ #ifdef EGL_EGLEXT_PROTOTYPES
1384
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
1385
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1386
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1387
+ #endif
1388
+ #endif /* EGL_EXT_platform_base */
1389
+
1390
+ #ifndef EGL_EXT_platform_device
1391
+ #define EGL_EXT_platform_device 1
1392
+ #define EGL_PLATFORM_DEVICE_EXT 0x313F
1393
+ #endif /* EGL_EXT_platform_device */
1394
+
1395
+ #ifndef EGL_EXT_platform_wayland
1396
+ #define EGL_EXT_platform_wayland 1
1397
+ #define EGL_PLATFORM_WAYLAND_EXT 0x31D8
1398
+ #endif /* EGL_EXT_platform_wayland */
1399
+
1400
+ #ifndef EGL_EXT_platform_x11
1401
+ #define EGL_EXT_platform_x11 1
1402
+ #define EGL_PLATFORM_X11_EXT 0x31D5
1403
+ #define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
1404
+ #endif /* EGL_EXT_platform_x11 */
1405
+
1406
+ #ifndef EGL_EXT_protected_surface
1407
+ #define EGL_EXT_protected_surface 1
1408
+ #define EGL_PROTECTED_CONTENT_EXT 0x32C0
1409
+ #endif /* EGL_EXT_protected_surface */
1410
+
1411
+ #ifndef EGL_EXT_stream_consumer_egloutput
1412
+ #define EGL_EXT_stream_consumer_egloutput 1
1413
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1414
+ #ifdef EGL_EGLEXT_PROTOTYPES
1415
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1416
+ #endif
1417
+ #endif /* EGL_EXT_stream_consumer_egloutput */
1418
+
1419
+ #ifndef EGL_EXT_swap_buffers_with_damage
1420
+ #define EGL_EXT_swap_buffers_with_damage 1
1421
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1422
+ #ifdef EGL_EGLEXT_PROTOTYPES
1423
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1424
+ #endif
1425
+ #endif /* EGL_EXT_swap_buffers_with_damage */
1426
+
1427
+ #ifndef EGL_EXT_yuv_surface
1428
+ #define EGL_EXT_yuv_surface 1
1429
+ #define EGL_YUV_ORDER_EXT 0x3301
1430
+ #define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311
1431
+ #define EGL_YUV_SUBSAMPLE_EXT 0x3312
1432
+ #define EGL_YUV_DEPTH_RANGE_EXT 0x3317
1433
+ #define EGL_YUV_CSC_STANDARD_EXT 0x330A
1434
+ #define EGL_YUV_PLANE_BPP_EXT 0x331A
1435
+ #define EGL_YUV_BUFFER_EXT 0x3300
1436
+ #define EGL_YUV_ORDER_YUV_EXT 0x3302
1437
+ #define EGL_YUV_ORDER_YVU_EXT 0x3303
1438
+ #define EGL_YUV_ORDER_YUYV_EXT 0x3304
1439
+ #define EGL_YUV_ORDER_UYVY_EXT 0x3305
1440
+ #define EGL_YUV_ORDER_YVYU_EXT 0x3306
1441
+ #define EGL_YUV_ORDER_VYUY_EXT 0x3307
1442
+ #define EGL_YUV_ORDER_AYUV_EXT 0x3308
1443
+ #define EGL_YUV_SUBSAMPLE_4_2_0_EXT 0x3313
1444
+ #define EGL_YUV_SUBSAMPLE_4_2_2_EXT 0x3314
1445
+ #define EGL_YUV_SUBSAMPLE_4_4_4_EXT 0x3315
1446
+ #define EGL_YUV_DEPTH_RANGE_LIMITED_EXT 0x3318
1447
+ #define EGL_YUV_DEPTH_RANGE_FULL_EXT 0x3319
1448
+ #define EGL_YUV_CSC_STANDARD_601_EXT 0x330B
1449
+ #define EGL_YUV_CSC_STANDARD_709_EXT 0x330C
1450
+ #define EGL_YUV_CSC_STANDARD_2020_EXT 0x330D
1451
+ #define EGL_YUV_PLANE_BPP_0_EXT 0x331B
1452
+ #define EGL_YUV_PLANE_BPP_8_EXT 0x331C
1453
+ #define EGL_YUV_PLANE_BPP_10_EXT 0x331D
1454
+ #endif /* EGL_EXT_yuv_surface */
1455
+
1456
+ #ifndef EGL_HI_clientpixmap
1457
+ #define EGL_HI_clientpixmap 1
1458
+ struct EGLClientPixmapHI {
1459
+ void *pData;
1460
+ EGLint iWidth;
1461
+ EGLint iHeight;
1462
+ EGLint iStride;
1463
+ };
1464
+ #define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
1465
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1466
+ #ifdef EGL_EGLEXT_PROTOTYPES
1467
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1468
+ #endif
1469
+ #endif /* EGL_HI_clientpixmap */
1470
+
1471
+ #ifndef EGL_HI_colorformats
1472
+ #define EGL_HI_colorformats 1
1473
+ #define EGL_COLOR_FORMAT_HI 0x8F70
1474
+ #define EGL_COLOR_RGB_HI 0x8F71
1475
+ #define EGL_COLOR_RGBA_HI 0x8F72
1476
+ #define EGL_COLOR_ARGB_HI 0x8F73
1477
+ #endif /* EGL_HI_colorformats */
1478
+
1479
+ #ifndef EGL_IMG_context_priority
1480
+ #define EGL_IMG_context_priority 1
1481
+ #define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100
1482
+ #define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
1483
+ #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102
1484
+ #define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
1485
+ #endif /* EGL_IMG_context_priority */
1486
+
1487
+ #ifndef EGL_MESA_drm_image
1488
+ #define EGL_MESA_drm_image 1
1489
+ #define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
1490
+ #define EGL_DRM_BUFFER_USE_MESA 0x31D1
1491
+ #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
1492
+ #define EGL_DRM_BUFFER_MESA 0x31D3
1493
+ #define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
1494
+ #define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001
1495
+ #define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002
1496
+ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1497
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1498
+ #ifdef EGL_EGLEXT_PROTOTYPES
1499
+ EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
1500
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1501
+ #endif
1502
+ #endif /* EGL_MESA_drm_image */
1503
+
1504
+ #ifndef EGL_MESA_image_dma_buf_export
1505
+ #define EGL_MESA_image_dma_buf_export 1
1506
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1507
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1508
+ #ifdef EGL_EGLEXT_PROTOTYPES
1509
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1510
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1511
+ #endif
1512
+ #endif /* EGL_MESA_image_dma_buf_export */
1513
+
1514
+ #ifndef EGL_MESA_platform_gbm
1515
+ #define EGL_MESA_platform_gbm 1
1516
+ #define EGL_PLATFORM_GBM_MESA 0x31D7
1517
+ #endif /* EGL_MESA_platform_gbm */
1518
+
1519
+ #ifndef EGL_NOK_swap_region
1520
+ #define EGL_NOK_swap_region 1
1521
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1522
+ #ifdef EGL_EGLEXT_PROTOTYPES
1523
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1524
+ #endif
1525
+ #endif /* EGL_NOK_swap_region */
1526
+
1527
+ #ifndef EGL_NOK_swap_region2
1528
+ #define EGL_NOK_swap_region2 1
1529
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1530
+ #ifdef EGL_EGLEXT_PROTOTYPES
1531
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1532
+ #endif
1533
+ #endif /* EGL_NOK_swap_region2 */
1534
+
1535
+ #ifndef EGL_NOK_texture_from_pixmap
1536
+ #define EGL_NOK_texture_from_pixmap 1
1537
+ #define EGL_Y_INVERTED_NOK 0x307F
1538
+ #endif /* EGL_NOK_texture_from_pixmap */
1539
+
1540
+ #ifndef EGL_NV_3dvision_surface
1541
+ #define EGL_NV_3dvision_surface 1
1542
+ #define EGL_AUTO_STEREO_NV 0x3136
1543
+ #endif /* EGL_NV_3dvision_surface */
1544
+
1545
+ #ifndef EGL_NV_coverage_sample
1546
+ #define EGL_NV_coverage_sample 1
1547
+ #define EGL_COVERAGE_BUFFERS_NV 0x30E0
1548
+ #define EGL_COVERAGE_SAMPLES_NV 0x30E1
1549
+ #endif /* EGL_NV_coverage_sample */
1550
+
1551
+ #ifndef EGL_NV_coverage_sample_resolve
1552
+ #define EGL_NV_coverage_sample_resolve 1
1553
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
1554
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
1555
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
1556
+ #endif /* EGL_NV_coverage_sample_resolve */
1557
+
1558
+ #ifndef EGL_NV_cuda_event
1559
+ #define EGL_NV_cuda_event 1
1560
+ #define EGL_CUDA_EVENT_HANDLE_NV 0x323B
1561
+ #define EGL_SYNC_CUDA_EVENT_NV 0x323C
1562
+ #define EGL_SYNC_CUDA_EVENT_COMPLETE_NV 0x323D
1563
+ #endif /* EGL_NV_cuda_event */
1564
+
1565
+ #ifndef EGL_NV_depth_nonlinear
1566
+ #define EGL_NV_depth_nonlinear 1
1567
+ #define EGL_DEPTH_ENCODING_NV 0x30E2
1568
+ #define EGL_DEPTH_ENCODING_NONE_NV 0
1569
+ #define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
1570
+ #endif /* EGL_NV_depth_nonlinear */
1571
+
1572
+ #ifndef EGL_NV_device_cuda
1573
+ #define EGL_NV_device_cuda 1
1574
+ #define EGL_CUDA_DEVICE_NV 0x323A
1575
+ #endif /* EGL_NV_device_cuda */
1576
+
1577
+ #ifndef EGL_NV_native_query
1578
+ #define EGL_NV_native_query 1
1579
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1580
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1581
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1582
+ #ifdef EGL_EGLEXT_PROTOTYPES
1583
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1584
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1585
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1586
+ #endif
1587
+ #endif /* EGL_NV_native_query */
1588
+
1589
+ #ifndef EGL_NV_post_convert_rounding
1590
+ #define EGL_NV_post_convert_rounding 1
1591
+ #endif /* EGL_NV_post_convert_rounding */
1592
+
1593
+ #ifndef EGL_NV_post_sub_buffer
1594
+ #define EGL_NV_post_sub_buffer 1
1595
+ #define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
1596
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1597
+ #ifdef EGL_EGLEXT_PROTOTYPES
1598
+ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1599
+ #endif
1600
+ #endif /* EGL_NV_post_sub_buffer */
1601
+
1602
+ #ifndef EGL_NV_stream_sync
1603
+ #define EGL_NV_stream_sync 1
1604
+ #define EGL_SYNC_NEW_FRAME_NV 0x321F
1605
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1606
+ #ifdef EGL_EGLEXT_PROTOTYPES
1607
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1608
+ #endif
1609
+ #endif /* EGL_NV_stream_sync */
1610
+
1611
+ #ifndef EGL_NV_sync
1612
+ #define EGL_NV_sync 1
1613
+ typedef void *EGLSyncNV;
1614
+ typedef khronos_utime_nanoseconds_t EGLTimeNV;
1615
+ #ifdef KHRONOS_SUPPORT_INT64
1616
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
1617
+ #define EGL_SYNC_STATUS_NV 0x30E7
1618
+ #define EGL_SIGNALED_NV 0x30E8
1619
+ #define EGL_UNSIGNALED_NV 0x30E9
1620
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001
1621
+ #define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull
1622
+ #define EGL_ALREADY_SIGNALED_NV 0x30EA
1623
+ #define EGL_TIMEOUT_EXPIRED_NV 0x30EB
1624
+ #define EGL_CONDITION_SATISFIED_NV 0x30EC
1625
+ #define EGL_SYNC_TYPE_NV 0x30ED
1626
+ #define EGL_SYNC_CONDITION_NV 0x30EE
1627
+ #define EGL_SYNC_FENCE_NV 0x30EF
1628
+ #define EGL_NO_SYNC_NV ((EGLSyncNV)0)
1629
+ typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1630
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
1631
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
1632
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1633
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
1634
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
1635
+ #ifdef EGL_EGLEXT_PROTOTYPES
1636
+ EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1637
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
1638
+ EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
1639
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1640
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
1641
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
1642
+ #endif
1643
+ #endif /* KHRONOS_SUPPORT_INT64 */
1644
+ #endif /* EGL_NV_sync */
1645
+
1646
+ #ifndef EGL_NV_system_time
1647
+ #define EGL_NV_system_time 1
1648
+ typedef khronos_utime_nanoseconds_t EGLuint64NV;
1649
+ #ifdef KHRONOS_SUPPORT_INT64
1650
+ typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
1651
+ typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
1652
+ #ifdef EGL_EGLEXT_PROTOTYPES
1653
+ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
1654
+ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
1655
+ #endif
1656
+ #endif /* KHRONOS_SUPPORT_INT64 */
1657
+ #endif /* EGL_NV_system_time */
1658
+
1659
+ #ifndef EGL_TIZEN_image_native_buffer
1660
+ #define EGL_TIZEN_image_native_buffer 1
1661
+ #define EGL_NATIVE_BUFFER_TIZEN 0x32A0
1662
+ #endif /* EGL_TIZEN_image_native_buffer */
1663
+
1664
+ #ifndef EGL_TIZEN_image_native_surface
1665
+ #define EGL_TIZEN_image_native_surface 1
1666
+ #define EGL_NATIVE_SURFACE_TIZEN 0x32A1
1667
+ #endif /* EGL_TIZEN_image_native_surface */
1668
+
1669
+ #ifdef __cplusplus
1670
+ }
1671
+ #endif
1672
+
1673
+ #endif /* __eglext_h_ */
1674
+
1675
+
1676
+ #endif /* _MSC_VER */