ruby2d 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/assets/README.md +20 -7
  3. data/assets/include/SDL2/SDL.h +135 -0
  4. data/assets/include/SDL2/SDL_assert.h +291 -0
  5. data/assets/include/SDL2/SDL_atomic.h +277 -0
  6. data/assets/include/SDL2/SDL_audio.h +826 -0
  7. data/assets/include/SDL2/SDL_bits.h +112 -0
  8. data/assets/include/SDL2/SDL_blendmode.h +120 -0
  9. data/assets/include/SDL2/SDL_clipboard.h +71 -0
  10. data/assets/include/SDL2/SDL_config.h +421 -0
  11. data/assets/include/SDL2/SDL_cpuinfo.h +188 -0
  12. data/assets/include/SDL2/SDL_egl.h +1673 -0
  13. data/assets/include/SDL2/SDL_endian.h +260 -0
  14. data/assets/include/SDL2/SDL_error.h +76 -0
  15. data/assets/include/SDL2/SDL_events.h +788 -0
  16. data/assets/include/SDL2/SDL_filesystem.h +136 -0
  17. data/assets/include/SDL2/SDL_gamecontroller.h +390 -0
  18. data/assets/include/SDL2/SDL_gesture.h +87 -0
  19. data/assets/include/SDL2/SDL_haptic.h +1238 -0
  20. data/assets/include/SDL2/SDL_hints.h +1135 -0
  21. data/assets/include/SDL2/SDL_image.h +161 -0
  22. data/assets/include/SDL2/SDL_joystick.h +408 -0
  23. data/assets/include/SDL2/SDL_keyboard.h +217 -0
  24. data/assets/include/SDL2/SDL_keycode.h +349 -0
  25. data/assets/include/SDL2/SDL_loadso.h +81 -0
  26. data/assets/include/SDL2/SDL_log.h +211 -0
  27. data/assets/include/SDL2/SDL_main.h +168 -0
  28. data/assets/include/SDL2/SDL_messagebox.h +144 -0
  29. data/assets/include/SDL2/SDL_mixer.h +651 -0
  30. data/assets/include/SDL2/SDL_mouse.h +302 -0
  31. data/assets/include/SDL2/SDL_mutex.h +251 -0
  32. data/assets/include/SDL2/SDL_name.h +33 -0
  33. data/assets/include/SDL2/SDL_opengl.h +2183 -0
  34. data/assets/include/SDL2/SDL_opengl_glext.h +11177 -0
  35. data/assets/include/SDL2/SDL_opengles.h +39 -0
  36. data/assets/include/SDL2/SDL_opengles2.h +52 -0
  37. data/assets/include/SDL2/SDL_opengles2_gl2.h +621 -0
  38. data/assets/include/SDL2/SDL_opengles2_gl2ext.h +2050 -0
  39. data/assets/include/SDL2/SDL_opengles2_gl2platform.h +30 -0
  40. data/assets/include/SDL2/SDL_opengles2_khrplatform.h +282 -0
  41. data/assets/include/SDL2/SDL_pixels.h +470 -0
  42. data/assets/include/SDL2/SDL_platform.h +198 -0
  43. data/assets/include/SDL2/SDL_power.h +75 -0
  44. data/assets/include/SDL2/SDL_quit.h +58 -0
  45. data/assets/include/SDL2/SDL_rect.h +148 -0
  46. data/assets/include/SDL2/SDL_render.h +931 -0
  47. data/assets/include/SDL2/SDL_revision.h +2 -0
  48. data/assets/include/SDL2/SDL_rwops.h +254 -0
  49. data/assets/include/SDL2/SDL_scancode.h +413 -0
  50. data/assets/include/SDL2/SDL_sensor.h +251 -0
  51. data/assets/include/SDL2/SDL_shape.h +144 -0
  52. data/assets/include/SDL2/SDL_stdinc.h +607 -0
  53. data/assets/include/SDL2/SDL_surface.h +553 -0
  54. data/assets/include/SDL2/SDL_system.h +279 -0
  55. data/assets/include/SDL2/SDL_syswm.h +324 -0
  56. data/assets/include/SDL2/SDL_test.h +69 -0
  57. data/assets/include/SDL2/SDL_test_assert.h +105 -0
  58. data/assets/include/SDL2/SDL_test_common.h +188 -0
  59. data/assets/include/SDL2/SDL_test_compare.h +69 -0
  60. data/assets/include/SDL2/SDL_test_crc32.h +124 -0
  61. data/assets/include/SDL2/SDL_test_font.h +81 -0
  62. data/assets/include/SDL2/SDL_test_fuzzer.h +384 -0
  63. data/assets/include/SDL2/SDL_test_harness.h +134 -0
  64. data/assets/include/SDL2/SDL_test_images.h +78 -0
  65. data/assets/include/SDL2/SDL_test_log.h +67 -0
  66. data/assets/include/SDL2/SDL_test_md5.h +129 -0
  67. data/assets/include/SDL2/SDL_test_memory.h +63 -0
  68. data/assets/include/SDL2/SDL_test_random.h +115 -0
  69. data/assets/include/SDL2/SDL_thread.h +343 -0
  70. data/assets/include/SDL2/SDL_timer.h +115 -0
  71. data/assets/include/SDL2/SDL_touch.h +86 -0
  72. data/assets/include/SDL2/SDL_ttf.h +294 -0
  73. data/assets/include/SDL2/SDL_types.h +29 -0
  74. data/assets/include/SDL2/SDL_version.h +162 -0
  75. data/assets/include/SDL2/SDL_video.h +1276 -0
  76. data/assets/include/SDL2/SDL_vulkan.h +278 -0
  77. data/assets/include/SDL2/begin_code.h +167 -0
  78. data/assets/include/SDL2/close_code.h +37 -0
  79. data/assets/include/glew.h +23686 -0
  80. data/assets/include/simple2d.h +735 -0
  81. data/assets/ios/MRuby.framework/Headers/mrbconf.h +3 -5
  82. data/assets/ios/MRuby.framework/Headers/mruby.h +35 -32
  83. data/assets/ios/MRuby.framework/Headers/mruby/array.h +1 -0
  84. data/assets/ios/MRuby.framework/Headers/mruby/boxing_word.h +9 -1
  85. data/assets/ios/MRuby.framework/Headers/mruby/class.h +14 -11
  86. data/assets/ios/MRuby.framework/Headers/mruby/common.h +5 -0
  87. data/assets/ios/MRuby.framework/Headers/mruby/compile.h +4 -3
  88. data/assets/ios/MRuby.framework/Headers/mruby/debug.h +3 -2
  89. data/assets/ios/MRuby.framework/Headers/mruby/dump.h +2 -2
  90. data/assets/ios/MRuby.framework/Headers/mruby/hash.h +38 -5
  91. data/assets/ios/MRuby.framework/Headers/mruby/irep.h +17 -4
  92. data/assets/ios/MRuby.framework/Headers/mruby/object.h +4 -5
  93. data/assets/ios/MRuby.framework/Headers/mruby/opcode.h +47 -139
  94. data/assets/ios/MRuby.framework/Headers/mruby/ops.h +117 -0
  95. data/assets/ios/MRuby.framework/Headers/mruby/proc.h +4 -4
  96. data/assets/ios/MRuby.framework/Headers/mruby/string.h +11 -7
  97. data/assets/ios/MRuby.framework/Headers/mruby/throw.h +4 -4
  98. data/assets/ios/MRuby.framework/Headers/mruby/variable.h +2 -4
  99. data/assets/ios/MRuby.framework/Headers/mruby/version.h +6 -6
  100. data/assets/ios/MRuby.framework/MRuby +0 -0
  101. data/assets/ios/MyApp.xcodeproj/project.pbxproj +24 -18
  102. data/assets/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  103. data/assets/ios/main.c +1 -1
  104. data/assets/macos/lib/libFLAC.a +0 -0
  105. data/assets/macos/lib/libSDL2.a +0 -0
  106. data/assets/macos/lib/libSDL2_image.a +0 -0
  107. data/assets/macos/lib/libSDL2_mixer.a +0 -0
  108. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  109. data/assets/macos/lib/libfreetype.a +0 -0
  110. data/assets/macos/lib/libjpeg.a +0 -0
  111. data/assets/macos/lib/libmpg123.a +0 -0
  112. data/assets/macos/lib/libogg.a +0 -0
  113. data/assets/macos/lib/libpng16.a +0 -0
  114. data/assets/macos/lib/libsimple2d.a +0 -0
  115. data/assets/macos/lib/libtiff.a +0 -0
  116. data/assets/macos/lib/libvorbis.a +0 -0
  117. data/assets/macos/lib/libvorbisfile.a +0 -0
  118. data/assets/macos/lib/libwebp.a +0 -0
  119. data/assets/mingw/bin/SDL2.dll +0 -0
  120. data/assets/mingw/bin/SDL2_image.dll +0 -0
  121. data/assets/mingw/bin/SDL2_mixer.dll +0 -0
  122. data/assets/mingw/bin/SDL2_ttf.dll +0 -0
  123. data/assets/mingw/bin/glew32.dll +0 -0
  124. data/assets/mingw/bin/libFLAC-8.dll +0 -0
  125. data/assets/mingw/bin/libfreetype-6.dll +0 -0
  126. data/assets/mingw/bin/libjpeg-9.dll +0 -0
  127. data/assets/mingw/bin/libmodplug-1.dll +0 -0
  128. data/assets/mingw/bin/libmpg123-0.dll +0 -0
  129. data/assets/mingw/bin/libogg-0.dll +0 -0
  130. data/assets/mingw/bin/libopus-0.dll +0 -0
  131. data/assets/mingw/bin/libopusfile-0.dll +0 -0
  132. data/assets/mingw/bin/libpng16-16.dll +0 -0
  133. data/assets/mingw/bin/libtiff-5.dll +0 -0
  134. data/assets/mingw/bin/libvorbis-0.dll +0 -0
  135. data/assets/mingw/bin/libvorbisfile-3.dll +0 -0
  136. data/assets/mingw/bin/libwebp-7.dll +0 -0
  137. data/assets/mingw/bin/zlib1.dll +0 -0
  138. data/assets/mingw/lib/libSDL2.a +0 -0
  139. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  140. data/assets/mingw/lib/libSDL2_image.a +0 -0
  141. data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
  142. data/assets/mingw/lib/libSDL2_mixer.a +0 -0
  143. data/assets/mingw/lib/libSDL2_mixer.dll.a +0 -0
  144. data/assets/mingw/lib/libSDL2_test.a +0 -0
  145. data/assets/mingw/lib/libSDL2_ttf.a +0 -0
  146. data/assets/mingw/lib/libSDL2_ttf.dll.a +0 -0
  147. data/assets/mingw/lib/libSDL2main.a +0 -0
  148. data/assets/mingw/lib/libglew32.a +0 -0
  149. data/assets/mingw/lib/libglew32.dll.a +0 -0
  150. data/assets/mingw/lib/libsimple2d.a +0 -0
  151. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +4 -0
  152. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +4 -0
  153. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +4 -0
  154. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +4 -0
  155. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +4 -0
  156. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +4 -0
  157. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +4 -0
  158. data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +4 -0
  159. data/assets/tvos/Assets.xcassets/LaunchImage.launchimage/Contents.json +7 -0
  160. data/assets/tvos/MRuby.framework/Headers/mrbconf.h +3 -5
  161. data/assets/tvos/MRuby.framework/Headers/mruby.h +35 -32
  162. data/assets/tvos/MRuby.framework/Headers/mruby/array.h +1 -0
  163. data/assets/tvos/MRuby.framework/Headers/mruby/boxing_word.h +9 -1
  164. data/assets/tvos/MRuby.framework/Headers/mruby/class.h +14 -11
  165. data/assets/tvos/MRuby.framework/Headers/mruby/common.h +5 -0
  166. data/assets/tvos/MRuby.framework/Headers/mruby/compile.h +4 -3
  167. data/assets/tvos/MRuby.framework/Headers/mruby/debug.h +3 -2
  168. data/assets/tvos/MRuby.framework/Headers/mruby/dump.h +2 -2
  169. data/assets/tvos/MRuby.framework/Headers/mruby/hash.h +38 -5
  170. data/assets/tvos/MRuby.framework/Headers/mruby/irep.h +17 -4
  171. data/assets/tvos/MRuby.framework/Headers/mruby/object.h +4 -5
  172. data/assets/tvos/MRuby.framework/Headers/mruby/opcode.h +47 -139
  173. data/assets/tvos/MRuby.framework/Headers/mruby/ops.h +117 -0
  174. data/assets/tvos/MRuby.framework/Headers/mruby/proc.h +4 -4
  175. data/assets/tvos/MRuby.framework/Headers/mruby/string.h +11 -7
  176. data/assets/tvos/MRuby.framework/Headers/mruby/throw.h +4 -4
  177. data/assets/tvos/MRuby.framework/Headers/mruby/variable.h +2 -4
  178. data/assets/tvos/MRuby.framework/Headers/mruby/version.h +6 -6
  179. data/assets/tvos/MRuby.framework/MRuby +0 -0
  180. data/assets/tvos/MyApp.xcodeproj/project.pbxproj +25 -19
  181. data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  182. data/assets/tvos/main.c +1 -1
  183. data/ext/ruby2d/extconf.rb +59 -50
  184. data/ext/ruby2d/ruby2d.c +0 -1
  185. data/lib/ruby2d.rb +1 -7
  186. data/lib/ruby2d/cli/launch.rb +1 -1
  187. data/lib/ruby2d/font.rb +32 -7
  188. data/lib/ruby2d/version.rb +1 -1
  189. metadata +132 -6
  190. data/assets/opal.js +0 -21637
  191. data/assets/simple2d.js +0 -1379
  192. data/assets/template.html +0 -18
@@ -0,0 +1,188 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2018 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_cpuinfo.h
24
+ *
25
+ * CPU feature detection for SDL.
26
+ */
27
+
28
+ #ifndef SDL_cpuinfo_h_
29
+ #define SDL_cpuinfo_h_
30
+
31
+ #include "SDL_stdinc.h"
32
+
33
+ /* Need to do this here because intrin.h has C++ code in it */
34
+ /* Visual Studio 2005 has a bug where intrin.h conflicts with winnt.h */
35
+ #if defined(_MSC_VER) && (_MSC_VER >= 1500) && (defined(_M_IX86) || defined(_M_X64))
36
+ #ifdef __clang__
37
+ /* Many of the intrinsics SDL uses are not implemented by clang with Visual Studio */
38
+ #undef __MMX__
39
+ #undef __SSE__
40
+ #undef __SSE2__
41
+ #else
42
+ #include <intrin.h>
43
+ #ifndef _WIN64
44
+ #define __MMX__
45
+ #define __3dNOW__
46
+ #endif
47
+ #define __SSE__
48
+ #define __SSE2__
49
+ #endif /* __clang__ */
50
+ #elif defined(__MINGW64_VERSION_MAJOR)
51
+ #include <intrin.h>
52
+ #else
53
+ #ifdef __ALTIVEC__
54
+ #if defined(HAVE_ALTIVEC_H) && !defined(__APPLE_ALTIVEC__) && !defined(SDL_DISABLE_ALTIVEC_H)
55
+ #include <altivec.h>
56
+ #undef pixel
57
+ #undef bool
58
+ #endif
59
+ #endif
60
+ #if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H)
61
+ #include <arm_neon.h>
62
+ #endif
63
+ #if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H)
64
+ #include <mm3dnow.h>
65
+ #endif
66
+ #if defined(HAVE_IMMINTRIN_H) && !defined(SDL_DISABLE_IMMINTRIN_H)
67
+ #include <immintrin.h>
68
+ #else
69
+ #if defined(__MMX__) && !defined(SDL_DISABLE_MMINTRIN_H)
70
+ #include <mmintrin.h>
71
+ #endif
72
+ #if defined(__SSE__) && !defined(SDL_DISABLE_XMMINTRIN_H)
73
+ #include <xmmintrin.h>
74
+ #endif
75
+ #if defined(__SSE2__) && !defined(SDL_DISABLE_EMMINTRIN_H)
76
+ #include <emmintrin.h>
77
+ #endif
78
+ #if defined(__SSE3__) && !defined(SDL_DISABLE_PMMINTRIN_H)
79
+ #include <pmmintrin.h>
80
+ #endif
81
+ #endif /* HAVE_IMMINTRIN_H */
82
+ #endif /* compiler version */
83
+
84
+ #include "begin_code.h"
85
+ /* Set up for C function definitions, even when using C++ */
86
+ #ifdef __cplusplus
87
+ extern "C" {
88
+ #endif
89
+
90
+ /* This is a guess for the cacheline size used for padding.
91
+ * Most x86 processors have a 64 byte cache line.
92
+ * The 64-bit PowerPC processors have a 128 byte cache line.
93
+ * We'll use the larger value to be generally safe.
94
+ */
95
+ #define SDL_CACHELINE_SIZE 128
96
+
97
+ /**
98
+ * This function returns the number of CPU cores available.
99
+ */
100
+ extern DECLSPEC int SDLCALL SDL_GetCPUCount(void);
101
+
102
+ /**
103
+ * This function returns the L1 cache line size of the CPU
104
+ *
105
+ * This is useful for determining multi-threaded structure padding
106
+ * or SIMD prefetch sizes.
107
+ */
108
+ extern DECLSPEC int SDLCALL SDL_GetCPUCacheLineSize(void);
109
+
110
+ /**
111
+ * This function returns true if the CPU has the RDTSC instruction.
112
+ */
113
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void);
114
+
115
+ /**
116
+ * This function returns true if the CPU has AltiVec features.
117
+ */
118
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasAltiVec(void);
119
+
120
+ /**
121
+ * This function returns true if the CPU has MMX features.
122
+ */
123
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void);
124
+
125
+ /**
126
+ * This function returns true if the CPU has 3DNow! features.
127
+ */
128
+ extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNow(void);
129
+
130
+ /**
131
+ * This function returns true if the CPU has SSE features.
132
+ */
133
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE(void);
134
+
135
+ /**
136
+ * This function returns true if the CPU has SSE2 features.
137
+ */
138
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE2(void);
139
+
140
+ /**
141
+ * This function returns true if the CPU has SSE3 features.
142
+ */
143
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE3(void);
144
+
145
+ /**
146
+ * This function returns true if the CPU has SSE4.1 features.
147
+ */
148
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE41(void);
149
+
150
+ /**
151
+ * This function returns true if the CPU has SSE4.2 features.
152
+ */
153
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE42(void);
154
+
155
+ /**
156
+ * This function returns true if the CPU has AVX features.
157
+ */
158
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasAVX(void);
159
+
160
+ /**
161
+ * This function returns true if the CPU has AVX2 features.
162
+ */
163
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasAVX2(void);
164
+
165
+ /**
166
+ * This function returns true if the CPU has AVX-512F (foundation) features.
167
+ */
168
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasAVX512F(void);
169
+
170
+ /**
171
+ * This function returns true if the CPU has NEON (ARM SIMD) features.
172
+ */
173
+ extern DECLSPEC SDL_bool SDLCALL SDL_HasNEON(void);
174
+
175
+ /**
176
+ * This function returns the amount of RAM configured in the system, in MB.
177
+ */
178
+ extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
179
+
180
+ /* Ends C function definitions when using C++ */
181
+ #ifdef __cplusplus
182
+ }
183
+ #endif
184
+ #include "close_code.h"
185
+
186
+ #endif /* SDL_cpuinfo_h_ */
187
+
188
+ /* vi: set ts=4 sw=4 expandtab: */
@@ -0,0 +1,1673 @@
1
+ /*
2
+ Simple DirectMedia Layer
3
+ Copyright (C) 1997-2018 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
+ #include <windows.h>
394
+
395
+ #if __WINRT__
396
+ #include <Unknwn.h>
397
+ typedef IUnknown * EGLNativeWindowType;
398
+ typedef IUnknown * EGLNativePixmapType;
399
+ typedef IUnknown * EGLNativeDisplayType;
400
+ #else
401
+ typedef HDC EGLNativeDisplayType;
402
+ typedef HBITMAP EGLNativePixmapType;
403
+ typedef HWND EGLNativeWindowType;
404
+ #endif
405
+
406
+ #elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
407
+
408
+ typedef int EGLNativeDisplayType;
409
+ typedef void *EGLNativeWindowType;
410
+ typedef void *EGLNativePixmapType;
411
+
412
+ #elif defined(WL_EGL_PLATFORM)
413
+
414
+ typedef struct wl_display *EGLNativeDisplayType;
415
+ typedef struct wl_egl_pixmap *EGLNativePixmapType;
416
+ typedef struct wl_egl_window *EGLNativeWindowType;
417
+
418
+ #elif defined(__GBM__)
419
+
420
+ typedef struct gbm_device *EGLNativeDisplayType;
421
+ typedef struct gbm_bo *EGLNativePixmapType;
422
+ typedef void *EGLNativeWindowType;
423
+
424
+ #elif defined(__ANDROID__) /* Android */
425
+
426
+ struct ANativeWindow;
427
+ struct egl_native_pixmap_t;
428
+
429
+ typedef struct ANativeWindow *EGLNativeWindowType;
430
+ typedef struct egl_native_pixmap_t *EGLNativePixmapType;
431
+ typedef void *EGLNativeDisplayType;
432
+
433
+ #elif defined(MIR_EGL_PLATFORM)
434
+
435
+ #include <mir_toolkit/mir_client_library.h>
436
+ typedef MirEGLNativeDisplayType EGLNativeDisplayType;
437
+ typedef void *EGLNativePixmapType;
438
+ typedef MirEGLNativeWindowType EGLNativeWindowType;
439
+
440
+ #elif defined(__unix__)
441
+
442
+ #ifdef MESA_EGL_NO_X11_HEADERS
443
+
444
+ typedef void *EGLNativeDisplayType;
445
+ typedef khronos_uintptr_t EGLNativePixmapType;
446
+ typedef khronos_uintptr_t EGLNativeWindowType;
447
+
448
+ #else
449
+
450
+ /* X11 (tentative) */
451
+ #include <X11/Xlib.h>
452
+ #include <X11/Xutil.h>
453
+
454
+ typedef Display *EGLNativeDisplayType;
455
+ typedef Pixmap EGLNativePixmapType;
456
+ typedef Window EGLNativeWindowType;
457
+
458
+ #endif /* MESA_EGL_NO_X11_HEADERS */
459
+
460
+ #else
461
+ #error "Platform not recognized"
462
+ #endif
463
+
464
+ /* EGL 1.2 types, renamed for consistency in EGL 1.3 */
465
+ typedef EGLNativeDisplayType NativeDisplayType;
466
+ typedef EGLNativePixmapType NativePixmapType;
467
+ typedef EGLNativeWindowType NativeWindowType;
468
+
469
+
470
+ /* Define EGLint. This must be a signed integral type large enough to contain
471
+ * all legal attribute names and values passed into and out of EGL, whether
472
+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
473
+ * handle, or other. While in general a 32-bit integer will suffice, if
474
+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
475
+ * integer type.
476
+ */
477
+ typedef khronos_int32_t EGLint;
478
+
479
+ #endif /* __eglplatform_h */
480
+
481
+ #ifndef __egl_h_
482
+ #define __egl_h_ 1
483
+
484
+ #ifdef __cplusplus
485
+ extern "C" {
486
+ #endif
487
+
488
+ /*
489
+ ** Copyright (c) 2013-2015 The Khronos Group Inc.
490
+ **
491
+ ** Permission is hereby granted, free of charge, to any person obtaining a
492
+ ** copy of this software and/or associated documentation files (the
493
+ ** "Materials"), to deal in the Materials without restriction, including
494
+ ** without limitation the rights to use, copy, modify, merge, publish,
495
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
496
+ ** permit persons to whom the Materials are furnished to do so, subject to
497
+ ** the following conditions:
498
+ **
499
+ ** The above copyright notice and this permission notice shall be included
500
+ ** in all copies or substantial portions of the Materials.
501
+ **
502
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
503
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
504
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
505
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
506
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
507
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
508
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
509
+ */
510
+ /*
511
+ ** This header is generated from the Khronos OpenGL / OpenGL ES XML
512
+ ** API Registry. The current version of the Registry, generator scripts
513
+ ** used to make the header, and the header can be found at
514
+ ** http://www.opengl.org/registry/
515
+ **
516
+ ** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
517
+ */
518
+
519
+ /*#include <EGL/eglplatform.h>*/
520
+
521
+ /* Generated on date 20150623 */
522
+
523
+ /* Generated C header for:
524
+ * API: egl
525
+ * Versions considered: .*
526
+ * Versions emitted: .*
527
+ * Default extensions included: None
528
+ * Additional extensions included: _nomatch_^
529
+ * Extensions removed: _nomatch_^
530
+ */
531
+
532
+ #ifndef EGL_VERSION_1_0
533
+ #define EGL_VERSION_1_0 1
534
+ typedef unsigned int EGLBoolean;
535
+ typedef void *EGLDisplay;
536
+ typedef void *EGLConfig;
537
+ typedef void *EGLSurface;
538
+ typedef void *EGLContext;
539
+ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
540
+ #define EGL_ALPHA_SIZE 0x3021
541
+ #define EGL_BAD_ACCESS 0x3002
542
+ #define EGL_BAD_ALLOC 0x3003
543
+ #define EGL_BAD_ATTRIBUTE 0x3004
544
+ #define EGL_BAD_CONFIG 0x3005
545
+ #define EGL_BAD_CONTEXT 0x3006
546
+ #define EGL_BAD_CURRENT_SURFACE 0x3007
547
+ #define EGL_BAD_DISPLAY 0x3008
548
+ #define EGL_BAD_MATCH 0x3009
549
+ #define EGL_BAD_NATIVE_PIXMAP 0x300A
550
+ #define EGL_BAD_NATIVE_WINDOW 0x300B
551
+ #define EGL_BAD_PARAMETER 0x300C
552
+ #define EGL_BAD_SURFACE 0x300D
553
+ #define EGL_BLUE_SIZE 0x3022
554
+ #define EGL_BUFFER_SIZE 0x3020
555
+ #define EGL_CONFIG_CAVEAT 0x3027
556
+ #define EGL_CONFIG_ID 0x3028
557
+ #define EGL_CORE_NATIVE_ENGINE 0x305B
558
+ #define EGL_DEPTH_SIZE 0x3025
559
+ #define EGL_DONT_CARE ((EGLint)-1)
560
+ #define EGL_DRAW 0x3059
561
+ #define EGL_EXTENSIONS 0x3055
562
+ #define EGL_FALSE 0
563
+ #define EGL_GREEN_SIZE 0x3023
564
+ #define EGL_HEIGHT 0x3056
565
+ #define EGL_LARGEST_PBUFFER 0x3058
566
+ #define EGL_LEVEL 0x3029
567
+ #define EGL_MAX_PBUFFER_HEIGHT 0x302A
568
+ #define EGL_MAX_PBUFFER_PIXELS 0x302B
569
+ #define EGL_MAX_PBUFFER_WIDTH 0x302C
570
+ #define EGL_NATIVE_RENDERABLE 0x302D
571
+ #define EGL_NATIVE_VISUAL_ID 0x302E
572
+ #define EGL_NATIVE_VISUAL_TYPE 0x302F
573
+ #define EGL_NONE 0x3038
574
+ #define EGL_NON_CONFORMANT_CONFIG 0x3051
575
+ #define EGL_NOT_INITIALIZED 0x3001
576
+ #define EGL_NO_CONTEXT ((EGLContext)0)
577
+ #define EGL_NO_DISPLAY ((EGLDisplay)0)
578
+ #define EGL_NO_SURFACE ((EGLSurface)0)
579
+ #define EGL_PBUFFER_BIT 0x0001
580
+ #define EGL_PIXMAP_BIT 0x0002
581
+ #define EGL_READ 0x305A
582
+ #define EGL_RED_SIZE 0x3024
583
+ #define EGL_SAMPLES 0x3031
584
+ #define EGL_SAMPLE_BUFFERS 0x3032
585
+ #define EGL_SLOW_CONFIG 0x3050
586
+ #define EGL_STENCIL_SIZE 0x3026
587
+ #define EGL_SUCCESS 0x3000
588
+ #define EGL_SURFACE_TYPE 0x3033
589
+ #define EGL_TRANSPARENT_BLUE_VALUE 0x3035
590
+ #define EGL_TRANSPARENT_GREEN_VALUE 0x3036
591
+ #define EGL_TRANSPARENT_RED_VALUE 0x3037
592
+ #define EGL_TRANSPARENT_RGB 0x3052
593
+ #define EGL_TRANSPARENT_TYPE 0x3034
594
+ #define EGL_TRUE 1
595
+ #define EGL_VENDOR 0x3053
596
+ #define EGL_VERSION 0x3054
597
+ #define EGL_WIDTH 0x3057
598
+ #define EGL_WINDOW_BIT 0x0004
599
+ EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
600
+ EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
601
+ EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
602
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
603
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
604
+ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
605
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
606
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
607
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
608
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
609
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
610
+ EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
611
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
612
+ EGLAPI EGLint EGLAPIENTRY eglGetError (void);
613
+ EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
614
+ EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
615
+ EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
616
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
617
+ EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
618
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
619
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
620
+ EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
621
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
622
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
623
+ #endif /* EGL_VERSION_1_0 */
624
+
625
+ #ifndef EGL_VERSION_1_1
626
+ #define EGL_VERSION_1_1 1
627
+ #define EGL_BACK_BUFFER 0x3084
628
+ #define EGL_BIND_TO_TEXTURE_RGB 0x3039
629
+ #define EGL_BIND_TO_TEXTURE_RGBA 0x303A
630
+ #define EGL_CONTEXT_LOST 0x300E
631
+ #define EGL_MIN_SWAP_INTERVAL 0x303B
632
+ #define EGL_MAX_SWAP_INTERVAL 0x303C
633
+ #define EGL_MIPMAP_TEXTURE 0x3082
634
+ #define EGL_MIPMAP_LEVEL 0x3083
635
+ #define EGL_NO_TEXTURE 0x305C
636
+ #define EGL_TEXTURE_2D 0x305F
637
+ #define EGL_TEXTURE_FORMAT 0x3080
638
+ #define EGL_TEXTURE_RGB 0x305D
639
+ #define EGL_TEXTURE_RGBA 0x305E
640
+ #define EGL_TEXTURE_TARGET 0x3081
641
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
642
+ EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
643
+ EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
644
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
645
+ #endif /* EGL_VERSION_1_1 */
646
+
647
+ #ifndef EGL_VERSION_1_2
648
+ #define EGL_VERSION_1_2 1
649
+ typedef unsigned int EGLenum;
650
+ typedef void *EGLClientBuffer;
651
+ #define EGL_ALPHA_FORMAT 0x3088
652
+ #define EGL_ALPHA_FORMAT_NONPRE 0x308B
653
+ #define EGL_ALPHA_FORMAT_PRE 0x308C
654
+ #define EGL_ALPHA_MASK_SIZE 0x303E
655
+ #define EGL_BUFFER_PRESERVED 0x3094
656
+ #define EGL_BUFFER_DESTROYED 0x3095
657
+ #define EGL_CLIENT_APIS 0x308D
658
+ #define EGL_COLORSPACE 0x3087
659
+ #define EGL_COLORSPACE_sRGB 0x3089
660
+ #define EGL_COLORSPACE_LINEAR 0x308A
661
+ #define EGL_COLOR_BUFFER_TYPE 0x303F
662
+ #define EGL_CONTEXT_CLIENT_TYPE 0x3097
663
+ #define EGL_DISPLAY_SCALING 10000
664
+ #define EGL_HORIZONTAL_RESOLUTION 0x3090
665
+ #define EGL_LUMINANCE_BUFFER 0x308F
666
+ #define EGL_LUMINANCE_SIZE 0x303D
667
+ #define EGL_OPENGL_ES_BIT 0x0001
668
+ #define EGL_OPENVG_BIT 0x0002
669
+ #define EGL_OPENGL_ES_API 0x30A0
670
+ #define EGL_OPENVG_API 0x30A1
671
+ #define EGL_OPENVG_IMAGE 0x3096
672
+ #define EGL_PIXEL_ASPECT_RATIO 0x3092
673
+ #define EGL_RENDERABLE_TYPE 0x3040
674
+ #define EGL_RENDER_BUFFER 0x3086
675
+ #define EGL_RGB_BUFFER 0x308E
676
+ #define EGL_SINGLE_BUFFER 0x3085
677
+ #define EGL_SWAP_BEHAVIOR 0x3093
678
+ #define EGL_UNKNOWN ((EGLint)-1)
679
+ #define EGL_VERTICAL_RESOLUTION 0x3091
680
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
681
+ EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
682
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
683
+ EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
684
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
685
+ #endif /* EGL_VERSION_1_2 */
686
+
687
+ #ifndef EGL_VERSION_1_3
688
+ #define EGL_VERSION_1_3 1
689
+ #define EGL_CONFORMANT 0x3042
690
+ #define EGL_CONTEXT_CLIENT_VERSION 0x3098
691
+ #define EGL_MATCH_NATIVE_PIXMAP 0x3041
692
+ #define EGL_OPENGL_ES2_BIT 0x0004
693
+ #define EGL_VG_ALPHA_FORMAT 0x3088
694
+ #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
695
+ #define EGL_VG_ALPHA_FORMAT_PRE 0x308C
696
+ #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
697
+ #define EGL_VG_COLORSPACE 0x3087
698
+ #define EGL_VG_COLORSPACE_sRGB 0x3089
699
+ #define EGL_VG_COLORSPACE_LINEAR 0x308A
700
+ #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
701
+ #endif /* EGL_VERSION_1_3 */
702
+
703
+ #ifndef EGL_VERSION_1_4
704
+ #define EGL_VERSION_1_4 1
705
+ #define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
706
+ #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
707
+ #define EGL_MULTISAMPLE_RESOLVE 0x3099
708
+ #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
709
+ #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
710
+ #define EGL_OPENGL_API 0x30A2
711
+ #define EGL_OPENGL_BIT 0x0008
712
+ #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
713
+ EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
714
+ #endif /* EGL_VERSION_1_4 */
715
+
716
+ #ifndef EGL_VERSION_1_5
717
+ #define EGL_VERSION_1_5 1
718
+ typedef void *EGLSync;
719
+ typedef intptr_t EGLAttrib;
720
+ typedef khronos_utime_nanoseconds_t EGLTime;
721
+ typedef void *EGLImage;
722
+ #define EGL_CONTEXT_MAJOR_VERSION 0x3098
723
+ #define EGL_CONTEXT_MINOR_VERSION 0x30FB
724
+ #define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
725
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
726
+ #define EGL_NO_RESET_NOTIFICATION 0x31BE
727
+ #define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
728
+ #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
729
+ #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
730
+ #define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
731
+ #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
732
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
733
+ #define EGL_OPENGL_ES3_BIT 0x00000040
734
+ #define EGL_CL_EVENT_HANDLE 0x309C
735
+ #define EGL_SYNC_CL_EVENT 0x30FE
736
+ #define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
737
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
738
+ #define EGL_SYNC_TYPE 0x30F7
739
+ #define EGL_SYNC_STATUS 0x30F1
740
+ #define EGL_SYNC_CONDITION 0x30F8
741
+ #define EGL_SIGNALED 0x30F2
742
+ #define EGL_UNSIGNALED 0x30F3
743
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
744
+ #define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
745
+ #define EGL_TIMEOUT_EXPIRED 0x30F5
746
+ #define EGL_CONDITION_SATISFIED 0x30F6
747
+ #define EGL_NO_SYNC ((EGLSync)0)
748
+ #define EGL_SYNC_FENCE 0x30F9
749
+ #define EGL_GL_COLORSPACE 0x309D
750
+ #define EGL_GL_COLORSPACE_SRGB 0x3089
751
+ #define EGL_GL_COLORSPACE_LINEAR 0x308A
752
+ #define EGL_GL_RENDERBUFFER 0x30B9
753
+ #define EGL_GL_TEXTURE_2D 0x30B1
754
+ #define EGL_GL_TEXTURE_LEVEL 0x30BC
755
+ #define EGL_GL_TEXTURE_3D 0x30B2
756
+ #define EGL_GL_TEXTURE_ZOFFSET 0x30BD
757
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
758
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
759
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
760
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
761
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
762
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
763
+ #define EGL_IMAGE_PRESERVED 0x30D2
764
+ #define EGL_NO_IMAGE ((EGLImage)0)
765
+ EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
766
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
767
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
768
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
769
+ EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
770
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
771
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
772
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
773
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
774
+ EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
775
+ #endif /* EGL_VERSION_1_5 */
776
+
777
+ #ifdef __cplusplus
778
+ }
779
+ #endif
780
+
781
+ #endif /* __egl_h_ */
782
+
783
+
784
+
785
+ #ifndef __eglext_h_
786
+ #define __eglext_h_ 1
787
+
788
+ #ifdef __cplusplus
789
+ extern "C" {
790
+ #endif
791
+
792
+ /*
793
+ ** Copyright (c) 2013-2015 The Khronos Group Inc.
794
+ **
795
+ ** Permission is hereby granted, free of charge, to any person obtaining a
796
+ ** copy of this software and/or associated documentation files (the
797
+ ** "Materials"), to deal in the Materials without restriction, including
798
+ ** without limitation the rights to use, copy, modify, merge, publish,
799
+ ** distribute, sublicense, and/or sell copies of the Materials, and to
800
+ ** permit persons to whom the Materials are furnished to do so, subject to
801
+ ** the following conditions:
802
+ **
803
+ ** The above copyright notice and this permission notice shall be included
804
+ ** in all copies or substantial portions of the Materials.
805
+ **
806
+ ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
807
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
808
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
809
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
810
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
811
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
812
+ ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
813
+ */
814
+ /*
815
+ ** This header is generated from the Khronos OpenGL / OpenGL ES XML
816
+ ** API Registry. The current version of the Registry, generator scripts
817
+ ** used to make the header, and the header can be found at
818
+ ** http://www.opengl.org/registry/
819
+ **
820
+ ** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
821
+ */
822
+
823
+ /*#include <EGL/eglplatform.h>*/
824
+
825
+ #define EGL_EGLEXT_VERSION 20150623
826
+
827
+ /* Generated C header for:
828
+ * API: egl
829
+ * Versions considered: .*
830
+ * Versions emitted: _nomatch_^
831
+ * Default extensions included: egl
832
+ * Additional extensions included: _nomatch_^
833
+ * Extensions removed: _nomatch_^
834
+ */
835
+
836
+ #ifndef EGL_KHR_cl_event
837
+ #define EGL_KHR_cl_event 1
838
+ #define EGL_CL_EVENT_HANDLE_KHR 0x309C
839
+ #define EGL_SYNC_CL_EVENT_KHR 0x30FE
840
+ #define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF
841
+ #endif /* EGL_KHR_cl_event */
842
+
843
+ #ifndef EGL_KHR_cl_event2
844
+ #define EGL_KHR_cl_event2 1
845
+ typedef void *EGLSyncKHR;
846
+ typedef intptr_t EGLAttribKHR;
847
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
848
+ #ifdef EGL_EGLEXT_PROTOTYPES
849
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
850
+ #endif
851
+ #endif /* EGL_KHR_cl_event2 */
852
+
853
+ #ifndef EGL_KHR_client_get_all_proc_addresses
854
+ #define EGL_KHR_client_get_all_proc_addresses 1
855
+ #endif /* EGL_KHR_client_get_all_proc_addresses */
856
+
857
+ #ifndef EGL_KHR_config_attribs
858
+ #define EGL_KHR_config_attribs 1
859
+ #define EGL_CONFORMANT_KHR 0x3042
860
+ #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020
861
+ #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040
862
+ #endif /* EGL_KHR_config_attribs */
863
+
864
+ #ifndef EGL_KHR_create_context
865
+ #define EGL_KHR_create_context 1
866
+ #define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
867
+ #define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
868
+ #define EGL_CONTEXT_FLAGS_KHR 0x30FC
869
+ #define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
870
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
871
+ #define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE
872
+ #define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
873
+ #define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001
874
+ #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
875
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
876
+ #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
877
+ #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
878
+ #define EGL_OPENGL_ES3_BIT_KHR 0x00000040
879
+ #endif /* EGL_KHR_create_context */
880
+
881
+ #ifndef EGL_KHR_create_context_no_error
882
+ #define EGL_KHR_create_context_no_error 1
883
+ #define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3
884
+ #endif /* EGL_KHR_create_context_no_error */
885
+
886
+ #ifndef EGL_KHR_fence_sync
887
+ #define EGL_KHR_fence_sync 1
888
+ typedef khronos_utime_nanoseconds_t EGLTimeKHR;
889
+ #ifdef KHRONOS_SUPPORT_INT64
890
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
891
+ #define EGL_SYNC_CONDITION_KHR 0x30F8
892
+ #define EGL_SYNC_FENCE_KHR 0x30F9
893
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
894
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
895
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
896
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
897
+ #ifdef EGL_EGLEXT_PROTOTYPES
898
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
899
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
900
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
901
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
902
+ #endif
903
+ #endif /* KHRONOS_SUPPORT_INT64 */
904
+ #endif /* EGL_KHR_fence_sync */
905
+
906
+ #ifndef EGL_KHR_get_all_proc_addresses
907
+ #define EGL_KHR_get_all_proc_addresses 1
908
+ #endif /* EGL_KHR_get_all_proc_addresses */
909
+
910
+ #ifndef EGL_KHR_gl_colorspace
911
+ #define EGL_KHR_gl_colorspace 1
912
+ #define EGL_GL_COLORSPACE_KHR 0x309D
913
+ #define EGL_GL_COLORSPACE_SRGB_KHR 0x3089
914
+ #define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A
915
+ #endif /* EGL_KHR_gl_colorspace */
916
+
917
+ #ifndef EGL_KHR_gl_renderbuffer_image
918
+ #define EGL_KHR_gl_renderbuffer_image 1
919
+ #define EGL_GL_RENDERBUFFER_KHR 0x30B9
920
+ #endif /* EGL_KHR_gl_renderbuffer_image */
921
+
922
+ #ifndef EGL_KHR_gl_texture_2D_image
923
+ #define EGL_KHR_gl_texture_2D_image 1
924
+ #define EGL_GL_TEXTURE_2D_KHR 0x30B1
925
+ #define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC
926
+ #endif /* EGL_KHR_gl_texture_2D_image */
927
+
928
+ #ifndef EGL_KHR_gl_texture_3D_image
929
+ #define EGL_KHR_gl_texture_3D_image 1
930
+ #define EGL_GL_TEXTURE_3D_KHR 0x30B2
931
+ #define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD
932
+ #endif /* EGL_KHR_gl_texture_3D_image */
933
+
934
+ #ifndef EGL_KHR_gl_texture_cubemap_image
935
+ #define EGL_KHR_gl_texture_cubemap_image 1
936
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
937
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
938
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
939
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
940
+ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
941
+ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
942
+ #endif /* EGL_KHR_gl_texture_cubemap_image */
943
+
944
+ #ifndef EGL_KHR_image
945
+ #define EGL_KHR_image 1
946
+ typedef void *EGLImageKHR;
947
+ #define EGL_NATIVE_PIXMAP_KHR 0x30B0
948
+ #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0)
949
+ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
950
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
951
+ #ifdef EGL_EGLEXT_PROTOTYPES
952
+ EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
953
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
954
+ #endif
955
+ #endif /* EGL_KHR_image */
956
+
957
+ #ifndef EGL_KHR_image_base
958
+ #define EGL_KHR_image_base 1
959
+ #define EGL_IMAGE_PRESERVED_KHR 0x30D2
960
+ #endif /* EGL_KHR_image_base */
961
+
962
+ #ifndef EGL_KHR_image_pixmap
963
+ #define EGL_KHR_image_pixmap 1
964
+ #endif /* EGL_KHR_image_pixmap */
965
+
966
+ #ifndef EGL_KHR_lock_surface
967
+ #define EGL_KHR_lock_surface 1
968
+ #define EGL_READ_SURFACE_BIT_KHR 0x0001
969
+ #define EGL_WRITE_SURFACE_BIT_KHR 0x0002
970
+ #define EGL_LOCK_SURFACE_BIT_KHR 0x0080
971
+ #define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
972
+ #define EGL_MATCH_FORMAT_KHR 0x3043
973
+ #define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
974
+ #define EGL_FORMAT_RGB_565_KHR 0x30C1
975
+ #define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
976
+ #define EGL_FORMAT_RGBA_8888_KHR 0x30C3
977
+ #define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
978
+ #define EGL_LOCK_USAGE_HINT_KHR 0x30C5
979
+ #define EGL_BITMAP_POINTER_KHR 0x30C6
980
+ #define EGL_BITMAP_PITCH_KHR 0x30C7
981
+ #define EGL_BITMAP_ORIGIN_KHR 0x30C8
982
+ #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
983
+ #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
984
+ #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
985
+ #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
986
+ #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
987
+ #define EGL_LOWER_LEFT_KHR 0x30CE
988
+ #define EGL_UPPER_LEFT_KHR 0x30CF
989
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
990
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
991
+ #ifdef EGL_EGLEXT_PROTOTYPES
992
+ EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
993
+ EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
994
+ #endif
995
+ #endif /* EGL_KHR_lock_surface */
996
+
997
+ #ifndef EGL_KHR_lock_surface2
998
+ #define EGL_KHR_lock_surface2 1
999
+ #define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
1000
+ #endif /* EGL_KHR_lock_surface2 */
1001
+
1002
+ #ifndef EGL_KHR_lock_surface3
1003
+ #define EGL_KHR_lock_surface3 1
1004
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1005
+ #ifdef EGL_EGLEXT_PROTOTYPES
1006
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1007
+ #endif
1008
+ #endif /* EGL_KHR_lock_surface3 */
1009
+
1010
+ #ifndef EGL_KHR_partial_update
1011
+ #define EGL_KHR_partial_update 1
1012
+ #define EGL_BUFFER_AGE_KHR 0x313D
1013
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1014
+ #ifdef EGL_EGLEXT_PROTOTYPES
1015
+ EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1016
+ #endif
1017
+ #endif /* EGL_KHR_partial_update */
1018
+
1019
+ #ifndef EGL_KHR_platform_android
1020
+ #define EGL_KHR_platform_android 1
1021
+ #define EGL_PLATFORM_ANDROID_KHR 0x3141
1022
+ #endif /* EGL_KHR_platform_android */
1023
+
1024
+ #ifndef EGL_KHR_platform_gbm
1025
+ #define EGL_KHR_platform_gbm 1
1026
+ #define EGL_PLATFORM_GBM_KHR 0x31D7
1027
+ #endif /* EGL_KHR_platform_gbm */
1028
+
1029
+ #ifndef EGL_KHR_platform_wayland
1030
+ #define EGL_KHR_platform_wayland 1
1031
+ #define EGL_PLATFORM_WAYLAND_KHR 0x31D8
1032
+ #endif /* EGL_KHR_platform_wayland */
1033
+
1034
+ #ifndef EGL_KHR_platform_x11
1035
+ #define EGL_KHR_platform_x11 1
1036
+ #define EGL_PLATFORM_X11_KHR 0x31D5
1037
+ #define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6
1038
+ #endif /* EGL_KHR_platform_x11 */
1039
+
1040
+ #ifndef EGL_KHR_reusable_sync
1041
+ #define EGL_KHR_reusable_sync 1
1042
+ #ifdef KHRONOS_SUPPORT_INT64
1043
+ #define EGL_SYNC_STATUS_KHR 0x30F1
1044
+ #define EGL_SIGNALED_KHR 0x30F2
1045
+ #define EGL_UNSIGNALED_KHR 0x30F3
1046
+ #define EGL_TIMEOUT_EXPIRED_KHR 0x30F5
1047
+ #define EGL_CONDITION_SATISFIED_KHR 0x30F6
1048
+ #define EGL_SYNC_TYPE_KHR 0x30F7
1049
+ #define EGL_SYNC_REUSABLE_KHR 0x30FA
1050
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
1051
+ #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
1052
+ #define EGL_NO_SYNC_KHR ((EGLSyncKHR)0)
1053
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1054
+ #ifdef EGL_EGLEXT_PROTOTYPES
1055
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1056
+ #endif
1057
+ #endif /* KHRONOS_SUPPORT_INT64 */
1058
+ #endif /* EGL_KHR_reusable_sync */
1059
+
1060
+ #ifndef EGL_KHR_stream
1061
+ #define EGL_KHR_stream 1
1062
+ typedef void *EGLStreamKHR;
1063
+ typedef khronos_uint64_t EGLuint64KHR;
1064
+ #ifdef KHRONOS_SUPPORT_INT64
1065
+ #define EGL_NO_STREAM_KHR ((EGLStreamKHR)0)
1066
+ #define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210
1067
+ #define EGL_PRODUCER_FRAME_KHR 0x3212
1068
+ #define EGL_CONSUMER_FRAME_KHR 0x3213
1069
+ #define EGL_STREAM_STATE_KHR 0x3214
1070
+ #define EGL_STREAM_STATE_CREATED_KHR 0x3215
1071
+ #define EGL_STREAM_STATE_CONNECTING_KHR 0x3216
1072
+ #define EGL_STREAM_STATE_EMPTY_KHR 0x3217
1073
+ #define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
1074
+ #define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
1075
+ #define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
1076
+ #define EGL_BAD_STREAM_KHR 0x321B
1077
+ #define EGL_BAD_STATE_KHR 0x321C
1078
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1079
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1080
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1081
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1082
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1083
+ #ifdef EGL_EGLEXT_PROTOTYPES
1084
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
1085
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
1086
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1087
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1088
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1089
+ #endif
1090
+ #endif /* KHRONOS_SUPPORT_INT64 */
1091
+ #endif /* EGL_KHR_stream */
1092
+
1093
+ #ifndef EGL_KHR_stream_consumer_gltexture
1094
+ #define EGL_KHR_stream_consumer_gltexture 1
1095
+ #ifdef EGL_KHR_stream
1096
+ #define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
1097
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1098
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1099
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1100
+ #ifdef EGL_EGLEXT_PROTOTYPES
1101
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
1102
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
1103
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
1104
+ #endif
1105
+ #endif /* EGL_KHR_stream */
1106
+ #endif /* EGL_KHR_stream_consumer_gltexture */
1107
+
1108
+ #ifndef EGL_KHR_stream_cross_process_fd
1109
+ #define EGL_KHR_stream_cross_process_fd 1
1110
+ typedef int EGLNativeFileDescriptorKHR;
1111
+ #ifdef EGL_KHR_stream
1112
+ #define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1))
1113
+ typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1114
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1115
+ #ifdef EGL_EGLEXT_PROTOTYPES
1116
+ EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
1117
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1118
+ #endif
1119
+ #endif /* EGL_KHR_stream */
1120
+ #endif /* EGL_KHR_stream_cross_process_fd */
1121
+
1122
+ #ifndef EGL_KHR_stream_fifo
1123
+ #define EGL_KHR_stream_fifo 1
1124
+ #ifdef EGL_KHR_stream
1125
+ #define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC
1126
+ #define EGL_STREAM_TIME_NOW_KHR 0x31FD
1127
+ #define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE
1128
+ #define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF
1129
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1130
+ #ifdef EGL_EGLEXT_PROTOTYPES
1131
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1132
+ #endif
1133
+ #endif /* EGL_KHR_stream */
1134
+ #endif /* EGL_KHR_stream_fifo */
1135
+
1136
+ #ifndef EGL_KHR_stream_producer_aldatalocator
1137
+ #define EGL_KHR_stream_producer_aldatalocator 1
1138
+ #ifdef EGL_KHR_stream
1139
+ #endif /* EGL_KHR_stream */
1140
+ #endif /* EGL_KHR_stream_producer_aldatalocator */
1141
+
1142
+ #ifndef EGL_KHR_stream_producer_eglsurface
1143
+ #define EGL_KHR_stream_producer_eglsurface 1
1144
+ #ifdef EGL_KHR_stream
1145
+ #define EGL_STREAM_BIT_KHR 0x0800
1146
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1147
+ #ifdef EGL_EGLEXT_PROTOTYPES
1148
+ EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1149
+ #endif
1150
+ #endif /* EGL_KHR_stream */
1151
+ #endif /* EGL_KHR_stream_producer_eglsurface */
1152
+
1153
+ #ifndef EGL_KHR_surfaceless_context
1154
+ #define EGL_KHR_surfaceless_context 1
1155
+ #endif /* EGL_KHR_surfaceless_context */
1156
+
1157
+ #ifndef EGL_KHR_swap_buffers_with_damage
1158
+ #define EGL_KHR_swap_buffers_with_damage 1
1159
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1160
+ #ifdef EGL_EGLEXT_PROTOTYPES
1161
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1162
+ #endif
1163
+ #endif /* EGL_KHR_swap_buffers_with_damage */
1164
+
1165
+ #ifndef EGL_KHR_vg_parent_image
1166
+ #define EGL_KHR_vg_parent_image 1
1167
+ #define EGL_VG_PARENT_IMAGE_KHR 0x30BA
1168
+ #endif /* EGL_KHR_vg_parent_image */
1169
+
1170
+ #ifndef EGL_KHR_wait_sync
1171
+ #define EGL_KHR_wait_sync 1
1172
+ typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1173
+ #ifdef EGL_EGLEXT_PROTOTYPES
1174
+ EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1175
+ #endif
1176
+ #endif /* EGL_KHR_wait_sync */
1177
+
1178
+ #ifndef EGL_ANDROID_blob_cache
1179
+ #define EGL_ANDROID_blob_cache 1
1180
+ typedef khronos_ssize_t EGLsizeiANDROID;
1181
+ typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
1182
+ typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
1183
+ typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1184
+ #ifdef EGL_EGLEXT_PROTOTYPES
1185
+ EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1186
+ #endif
1187
+ #endif /* EGL_ANDROID_blob_cache */
1188
+
1189
+ #ifndef EGL_ANDROID_framebuffer_target
1190
+ #define EGL_ANDROID_framebuffer_target 1
1191
+ #define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
1192
+ #endif /* EGL_ANDROID_framebuffer_target */
1193
+
1194
+ #ifndef EGL_ANDROID_image_native_buffer
1195
+ #define EGL_ANDROID_image_native_buffer 1
1196
+ #define EGL_NATIVE_BUFFER_ANDROID 0x3140
1197
+ #endif /* EGL_ANDROID_image_native_buffer */
1198
+
1199
+ #ifndef EGL_ANDROID_native_fence_sync
1200
+ #define EGL_ANDROID_native_fence_sync 1
1201
+ #define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144
1202
+ #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145
1203
+ #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
1204
+ #define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
1205
+ typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1206
+ #ifdef EGL_EGLEXT_PROTOTYPES
1207
+ EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
1208
+ #endif
1209
+ #endif /* EGL_ANDROID_native_fence_sync */
1210
+
1211
+ #ifndef EGL_ANDROID_recordable
1212
+ #define EGL_ANDROID_recordable 1
1213
+ #define EGL_RECORDABLE_ANDROID 0x3142
1214
+ #endif /* EGL_ANDROID_recordable */
1215
+
1216
+ #ifndef EGL_ANGLE_d3d_share_handle_client_buffer
1217
+ #define EGL_ANGLE_d3d_share_handle_client_buffer 1
1218
+ #define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
1219
+ #endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
1220
+
1221
+ #ifndef EGL_ANGLE_device_d3d
1222
+ #define EGL_ANGLE_device_d3d 1
1223
+ #define EGL_D3D9_DEVICE_ANGLE 0x33A0
1224
+ #define EGL_D3D11_DEVICE_ANGLE 0x33A1
1225
+ #endif /* EGL_ANGLE_device_d3d */
1226
+
1227
+ #ifndef EGL_ANGLE_query_surface_pointer
1228
+ #define EGL_ANGLE_query_surface_pointer 1
1229
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1230
+ #ifdef EGL_EGLEXT_PROTOTYPES
1231
+ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1232
+ #endif
1233
+ #endif /* EGL_ANGLE_query_surface_pointer */
1234
+
1235
+ #ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
1236
+ #define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
1237
+ #endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
1238
+
1239
+ #ifndef EGL_ANGLE_window_fixed_size
1240
+ #define EGL_ANGLE_window_fixed_size 1
1241
+ #define EGL_FIXED_SIZE_ANGLE 0x3201
1242
+ #endif /* EGL_ANGLE_window_fixed_size */
1243
+
1244
+ #ifndef EGL_ARM_pixmap_multisample_discard
1245
+ #define EGL_ARM_pixmap_multisample_discard 1
1246
+ #define EGL_DISCARD_SAMPLES_ARM 0x3286
1247
+ #endif /* EGL_ARM_pixmap_multisample_discard */
1248
+
1249
+ #ifndef EGL_EXT_buffer_age
1250
+ #define EGL_EXT_buffer_age 1
1251
+ #define EGL_BUFFER_AGE_EXT 0x313D
1252
+ #endif /* EGL_EXT_buffer_age */
1253
+
1254
+ #ifndef EGL_EXT_client_extensions
1255
+ #define EGL_EXT_client_extensions 1
1256
+ #endif /* EGL_EXT_client_extensions */
1257
+
1258
+ #ifndef EGL_EXT_create_context_robustness
1259
+ #define EGL_EXT_create_context_robustness 1
1260
+ #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
1261
+ #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
1262
+ #define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE
1263
+ #define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF
1264
+ #endif /* EGL_EXT_create_context_robustness */
1265
+
1266
+ #ifndef EGL_EXT_device_base
1267
+ #define EGL_EXT_device_base 1
1268
+ typedef void *EGLDeviceEXT;
1269
+ #define EGL_NO_DEVICE_EXT ((EGLDeviceEXT)(0))
1270
+ #define EGL_BAD_DEVICE_EXT 0x322B
1271
+ #define EGL_DEVICE_EXT 0x322C
1272
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1273
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
1274
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1275
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1276
+ #ifdef EGL_EGLEXT_PROTOTYPES
1277
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1278
+ EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
1279
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1280
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1281
+ #endif
1282
+ #endif /* EGL_EXT_device_base */
1283
+
1284
+ #ifndef EGL_EXT_device_drm
1285
+ #define EGL_EXT_device_drm 1
1286
+ #define EGL_DRM_DEVICE_FILE_EXT 0x3233
1287
+ #endif /* EGL_EXT_device_drm */
1288
+
1289
+ #ifndef EGL_EXT_device_enumeration
1290
+ #define EGL_EXT_device_enumeration 1
1291
+ #endif /* EGL_EXT_device_enumeration */
1292
+
1293
+ #ifndef EGL_EXT_device_openwf
1294
+ #define EGL_EXT_device_openwf 1
1295
+ #define EGL_OPENWF_DEVICE_ID_EXT 0x3237
1296
+ #endif /* EGL_EXT_device_openwf */
1297
+
1298
+ #ifndef EGL_EXT_device_query
1299
+ #define EGL_EXT_device_query 1
1300
+ #endif /* EGL_EXT_device_query */
1301
+
1302
+ #ifndef EGL_EXT_image_dma_buf_import
1303
+ #define EGL_EXT_image_dma_buf_import 1
1304
+ #define EGL_LINUX_DMA_BUF_EXT 0x3270
1305
+ #define EGL_LINUX_DRM_FOURCC_EXT 0x3271
1306
+ #define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
1307
+ #define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
1308
+ #define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
1309
+ #define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
1310
+ #define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
1311
+ #define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
1312
+ #define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
1313
+ #define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
1314
+ #define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
1315
+ #define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
1316
+ #define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
1317
+ #define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
1318
+ #define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
1319
+ #define EGL_ITU_REC601_EXT 0x327F
1320
+ #define EGL_ITU_REC709_EXT 0x3280
1321
+ #define EGL_ITU_REC2020_EXT 0x3281
1322
+ #define EGL_YUV_FULL_RANGE_EXT 0x3282
1323
+ #define EGL_YUV_NARROW_RANGE_EXT 0x3283
1324
+ #define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
1325
+ #define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
1326
+ #endif /* EGL_EXT_image_dma_buf_import */
1327
+
1328
+ #ifndef EGL_EXT_multiview_window
1329
+ #define EGL_EXT_multiview_window 1
1330
+ #define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
1331
+ #endif /* EGL_EXT_multiview_window */
1332
+
1333
+ #ifndef EGL_EXT_output_base
1334
+ #define EGL_EXT_output_base 1
1335
+ typedef void *EGLOutputLayerEXT;
1336
+ typedef void *EGLOutputPortEXT;
1337
+ #define EGL_NO_OUTPUT_LAYER_EXT ((EGLOutputLayerEXT)0)
1338
+ #define EGL_NO_OUTPUT_PORT_EXT ((EGLOutputPortEXT)0)
1339
+ #define EGL_BAD_OUTPUT_LAYER_EXT 0x322D
1340
+ #define EGL_BAD_OUTPUT_PORT_EXT 0x322E
1341
+ #define EGL_SWAP_INTERVAL_EXT 0x322F
1342
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1343
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1344
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1345
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1346
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1347
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1348
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1349
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1350
+ #ifdef EGL_EGLEXT_PROTOTYPES
1351
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1352
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1353
+ EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1354
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1355
+ EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1356
+ EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1357
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1358
+ EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1359
+ #endif
1360
+ #endif /* EGL_EXT_output_base */
1361
+
1362
+ #ifndef EGL_EXT_output_drm
1363
+ #define EGL_EXT_output_drm 1
1364
+ #define EGL_DRM_CRTC_EXT 0x3234
1365
+ #define EGL_DRM_PLANE_EXT 0x3235
1366
+ #define EGL_DRM_CONNECTOR_EXT 0x3236
1367
+ #endif /* EGL_EXT_output_drm */
1368
+
1369
+ #ifndef EGL_EXT_output_openwf
1370
+ #define EGL_EXT_output_openwf 1
1371
+ #define EGL_OPENWF_PIPELINE_ID_EXT 0x3238
1372
+ #define EGL_OPENWF_PORT_ID_EXT 0x3239
1373
+ #endif /* EGL_EXT_output_openwf */
1374
+
1375
+ #ifndef EGL_EXT_platform_base
1376
+ #define EGL_EXT_platform_base 1
1377
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
1378
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1379
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1380
+ #ifdef EGL_EGLEXT_PROTOTYPES
1381
+ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
1382
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1383
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1384
+ #endif
1385
+ #endif /* EGL_EXT_platform_base */
1386
+
1387
+ #ifndef EGL_EXT_platform_device
1388
+ #define EGL_EXT_platform_device 1
1389
+ #define EGL_PLATFORM_DEVICE_EXT 0x313F
1390
+ #endif /* EGL_EXT_platform_device */
1391
+
1392
+ #ifndef EGL_EXT_platform_wayland
1393
+ #define EGL_EXT_platform_wayland 1
1394
+ #define EGL_PLATFORM_WAYLAND_EXT 0x31D8
1395
+ #endif /* EGL_EXT_platform_wayland */
1396
+
1397
+ #ifndef EGL_EXT_platform_x11
1398
+ #define EGL_EXT_platform_x11 1
1399
+ #define EGL_PLATFORM_X11_EXT 0x31D5
1400
+ #define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
1401
+ #endif /* EGL_EXT_platform_x11 */
1402
+
1403
+ #ifndef EGL_EXT_protected_surface
1404
+ #define EGL_EXT_protected_surface 1
1405
+ #define EGL_PROTECTED_CONTENT_EXT 0x32C0
1406
+ #endif /* EGL_EXT_protected_surface */
1407
+
1408
+ #ifndef EGL_EXT_stream_consumer_egloutput
1409
+ #define EGL_EXT_stream_consumer_egloutput 1
1410
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1411
+ #ifdef EGL_EGLEXT_PROTOTYPES
1412
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1413
+ #endif
1414
+ #endif /* EGL_EXT_stream_consumer_egloutput */
1415
+
1416
+ #ifndef EGL_EXT_swap_buffers_with_damage
1417
+ #define EGL_EXT_swap_buffers_with_damage 1
1418
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1419
+ #ifdef EGL_EGLEXT_PROTOTYPES
1420
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1421
+ #endif
1422
+ #endif /* EGL_EXT_swap_buffers_with_damage */
1423
+
1424
+ #ifndef EGL_EXT_yuv_surface
1425
+ #define EGL_EXT_yuv_surface 1
1426
+ #define EGL_YUV_ORDER_EXT 0x3301
1427
+ #define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311
1428
+ #define EGL_YUV_SUBSAMPLE_EXT 0x3312
1429
+ #define EGL_YUV_DEPTH_RANGE_EXT 0x3317
1430
+ #define EGL_YUV_CSC_STANDARD_EXT 0x330A
1431
+ #define EGL_YUV_PLANE_BPP_EXT 0x331A
1432
+ #define EGL_YUV_BUFFER_EXT 0x3300
1433
+ #define EGL_YUV_ORDER_YUV_EXT 0x3302
1434
+ #define EGL_YUV_ORDER_YVU_EXT 0x3303
1435
+ #define EGL_YUV_ORDER_YUYV_EXT 0x3304
1436
+ #define EGL_YUV_ORDER_UYVY_EXT 0x3305
1437
+ #define EGL_YUV_ORDER_YVYU_EXT 0x3306
1438
+ #define EGL_YUV_ORDER_VYUY_EXT 0x3307
1439
+ #define EGL_YUV_ORDER_AYUV_EXT 0x3308
1440
+ #define EGL_YUV_SUBSAMPLE_4_2_0_EXT 0x3313
1441
+ #define EGL_YUV_SUBSAMPLE_4_2_2_EXT 0x3314
1442
+ #define EGL_YUV_SUBSAMPLE_4_4_4_EXT 0x3315
1443
+ #define EGL_YUV_DEPTH_RANGE_LIMITED_EXT 0x3318
1444
+ #define EGL_YUV_DEPTH_RANGE_FULL_EXT 0x3319
1445
+ #define EGL_YUV_CSC_STANDARD_601_EXT 0x330B
1446
+ #define EGL_YUV_CSC_STANDARD_709_EXT 0x330C
1447
+ #define EGL_YUV_CSC_STANDARD_2020_EXT 0x330D
1448
+ #define EGL_YUV_PLANE_BPP_0_EXT 0x331B
1449
+ #define EGL_YUV_PLANE_BPP_8_EXT 0x331C
1450
+ #define EGL_YUV_PLANE_BPP_10_EXT 0x331D
1451
+ #endif /* EGL_EXT_yuv_surface */
1452
+
1453
+ #ifndef EGL_HI_clientpixmap
1454
+ #define EGL_HI_clientpixmap 1
1455
+ struct EGLClientPixmapHI {
1456
+ void *pData;
1457
+ EGLint iWidth;
1458
+ EGLint iHeight;
1459
+ EGLint iStride;
1460
+ };
1461
+ #define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
1462
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1463
+ #ifdef EGL_EGLEXT_PROTOTYPES
1464
+ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1465
+ #endif
1466
+ #endif /* EGL_HI_clientpixmap */
1467
+
1468
+ #ifndef EGL_HI_colorformats
1469
+ #define EGL_HI_colorformats 1
1470
+ #define EGL_COLOR_FORMAT_HI 0x8F70
1471
+ #define EGL_COLOR_RGB_HI 0x8F71
1472
+ #define EGL_COLOR_RGBA_HI 0x8F72
1473
+ #define EGL_COLOR_ARGB_HI 0x8F73
1474
+ #endif /* EGL_HI_colorformats */
1475
+
1476
+ #ifndef EGL_IMG_context_priority
1477
+ #define EGL_IMG_context_priority 1
1478
+ #define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100
1479
+ #define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
1480
+ #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102
1481
+ #define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
1482
+ #endif /* EGL_IMG_context_priority */
1483
+
1484
+ #ifndef EGL_MESA_drm_image
1485
+ #define EGL_MESA_drm_image 1
1486
+ #define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
1487
+ #define EGL_DRM_BUFFER_USE_MESA 0x31D1
1488
+ #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
1489
+ #define EGL_DRM_BUFFER_MESA 0x31D3
1490
+ #define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
1491
+ #define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001
1492
+ #define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002
1493
+ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1494
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1495
+ #ifdef EGL_EGLEXT_PROTOTYPES
1496
+ EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
1497
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1498
+ #endif
1499
+ #endif /* EGL_MESA_drm_image */
1500
+
1501
+ #ifndef EGL_MESA_image_dma_buf_export
1502
+ #define EGL_MESA_image_dma_buf_export 1
1503
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1504
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1505
+ #ifdef EGL_EGLEXT_PROTOTYPES
1506
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1507
+ EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1508
+ #endif
1509
+ #endif /* EGL_MESA_image_dma_buf_export */
1510
+
1511
+ #ifndef EGL_MESA_platform_gbm
1512
+ #define EGL_MESA_platform_gbm 1
1513
+ #define EGL_PLATFORM_GBM_MESA 0x31D7
1514
+ #endif /* EGL_MESA_platform_gbm */
1515
+
1516
+ #ifndef EGL_NOK_swap_region
1517
+ #define EGL_NOK_swap_region 1
1518
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1519
+ #ifdef EGL_EGLEXT_PROTOTYPES
1520
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1521
+ #endif
1522
+ #endif /* EGL_NOK_swap_region */
1523
+
1524
+ #ifndef EGL_NOK_swap_region2
1525
+ #define EGL_NOK_swap_region2 1
1526
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1527
+ #ifdef EGL_EGLEXT_PROTOTYPES
1528
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1529
+ #endif
1530
+ #endif /* EGL_NOK_swap_region2 */
1531
+
1532
+ #ifndef EGL_NOK_texture_from_pixmap
1533
+ #define EGL_NOK_texture_from_pixmap 1
1534
+ #define EGL_Y_INVERTED_NOK 0x307F
1535
+ #endif /* EGL_NOK_texture_from_pixmap */
1536
+
1537
+ #ifndef EGL_NV_3dvision_surface
1538
+ #define EGL_NV_3dvision_surface 1
1539
+ #define EGL_AUTO_STEREO_NV 0x3136
1540
+ #endif /* EGL_NV_3dvision_surface */
1541
+
1542
+ #ifndef EGL_NV_coverage_sample
1543
+ #define EGL_NV_coverage_sample 1
1544
+ #define EGL_COVERAGE_BUFFERS_NV 0x30E0
1545
+ #define EGL_COVERAGE_SAMPLES_NV 0x30E1
1546
+ #endif /* EGL_NV_coverage_sample */
1547
+
1548
+ #ifndef EGL_NV_coverage_sample_resolve
1549
+ #define EGL_NV_coverage_sample_resolve 1
1550
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
1551
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
1552
+ #define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
1553
+ #endif /* EGL_NV_coverage_sample_resolve */
1554
+
1555
+ #ifndef EGL_NV_cuda_event
1556
+ #define EGL_NV_cuda_event 1
1557
+ #define EGL_CUDA_EVENT_HANDLE_NV 0x323B
1558
+ #define EGL_SYNC_CUDA_EVENT_NV 0x323C
1559
+ #define EGL_SYNC_CUDA_EVENT_COMPLETE_NV 0x323D
1560
+ #endif /* EGL_NV_cuda_event */
1561
+
1562
+ #ifndef EGL_NV_depth_nonlinear
1563
+ #define EGL_NV_depth_nonlinear 1
1564
+ #define EGL_DEPTH_ENCODING_NV 0x30E2
1565
+ #define EGL_DEPTH_ENCODING_NONE_NV 0
1566
+ #define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
1567
+ #endif /* EGL_NV_depth_nonlinear */
1568
+
1569
+ #ifndef EGL_NV_device_cuda
1570
+ #define EGL_NV_device_cuda 1
1571
+ #define EGL_CUDA_DEVICE_NV 0x323A
1572
+ #endif /* EGL_NV_device_cuda */
1573
+
1574
+ #ifndef EGL_NV_native_query
1575
+ #define EGL_NV_native_query 1
1576
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1577
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1578
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1579
+ #ifdef EGL_EGLEXT_PROTOTYPES
1580
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1581
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1582
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1583
+ #endif
1584
+ #endif /* EGL_NV_native_query */
1585
+
1586
+ #ifndef EGL_NV_post_convert_rounding
1587
+ #define EGL_NV_post_convert_rounding 1
1588
+ #endif /* EGL_NV_post_convert_rounding */
1589
+
1590
+ #ifndef EGL_NV_post_sub_buffer
1591
+ #define EGL_NV_post_sub_buffer 1
1592
+ #define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
1593
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1594
+ #ifdef EGL_EGLEXT_PROTOTYPES
1595
+ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1596
+ #endif
1597
+ #endif /* EGL_NV_post_sub_buffer */
1598
+
1599
+ #ifndef EGL_NV_stream_sync
1600
+ #define EGL_NV_stream_sync 1
1601
+ #define EGL_SYNC_NEW_FRAME_NV 0x321F
1602
+ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1603
+ #ifdef EGL_EGLEXT_PROTOTYPES
1604
+ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1605
+ #endif
1606
+ #endif /* EGL_NV_stream_sync */
1607
+
1608
+ #ifndef EGL_NV_sync
1609
+ #define EGL_NV_sync 1
1610
+ typedef void *EGLSyncNV;
1611
+ typedef khronos_utime_nanoseconds_t EGLTimeNV;
1612
+ #ifdef KHRONOS_SUPPORT_INT64
1613
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
1614
+ #define EGL_SYNC_STATUS_NV 0x30E7
1615
+ #define EGL_SIGNALED_NV 0x30E8
1616
+ #define EGL_UNSIGNALED_NV 0x30E9
1617
+ #define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001
1618
+ #define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull
1619
+ #define EGL_ALREADY_SIGNALED_NV 0x30EA
1620
+ #define EGL_TIMEOUT_EXPIRED_NV 0x30EB
1621
+ #define EGL_CONDITION_SATISFIED_NV 0x30EC
1622
+ #define EGL_SYNC_TYPE_NV 0x30ED
1623
+ #define EGL_SYNC_CONDITION_NV 0x30EE
1624
+ #define EGL_SYNC_FENCE_NV 0x30EF
1625
+ #define EGL_NO_SYNC_NV ((EGLSyncNV)0)
1626
+ typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1627
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
1628
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
1629
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1630
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
1631
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
1632
+ #ifdef EGL_EGLEXT_PROTOTYPES
1633
+ EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1634
+ EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
1635
+ EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
1636
+ EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1637
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
1638
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
1639
+ #endif
1640
+ #endif /* KHRONOS_SUPPORT_INT64 */
1641
+ #endif /* EGL_NV_sync */
1642
+
1643
+ #ifndef EGL_NV_system_time
1644
+ #define EGL_NV_system_time 1
1645
+ typedef khronos_utime_nanoseconds_t EGLuint64NV;
1646
+ #ifdef KHRONOS_SUPPORT_INT64
1647
+ typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
1648
+ typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
1649
+ #ifdef EGL_EGLEXT_PROTOTYPES
1650
+ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
1651
+ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
1652
+ #endif
1653
+ #endif /* KHRONOS_SUPPORT_INT64 */
1654
+ #endif /* EGL_NV_system_time */
1655
+
1656
+ #ifndef EGL_TIZEN_image_native_buffer
1657
+ #define EGL_TIZEN_image_native_buffer 1
1658
+ #define EGL_NATIVE_BUFFER_TIZEN 0x32A0
1659
+ #endif /* EGL_TIZEN_image_native_buffer */
1660
+
1661
+ #ifndef EGL_TIZEN_image_native_surface
1662
+ #define EGL_TIZEN_image_native_surface 1
1663
+ #define EGL_NATIVE_SURFACE_TIZEN 0x32A1
1664
+ #endif /* EGL_TIZEN_image_native_surface */
1665
+
1666
+ #ifdef __cplusplus
1667
+ }
1668
+ #endif
1669
+
1670
+ #endif /* __eglext_h_ */
1671
+
1672
+
1673
+ #endif /* _MSC_VER */