ruby2d 0.10.0 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. checksums.yaml +4 -4
  2. data/assets/include/SDL2/SDL.h +108 -14
  3. data/assets/include/SDL2/SDL_assert.h +81 -50
  4. data/assets/include/SDL2/SDL_atomic.h +135 -35
  5. data/assets/include/SDL2/SDL_audio.h +960 -355
  6. data/assets/include/SDL2/SDL_bits.h +11 -6
  7. data/assets/include/SDL2/SDL_blendmode.h +91 -14
  8. data/assets/include/SDL2/SDL_clipboard.h +30 -7
  9. data/assets/include/SDL2/SDL_config.h +3 -1
  10. data/assets/include/SDL2/SDL_config_android.h +11 -1
  11. data/assets/include/SDL2/SDL_config_emscripten.h +216 -0
  12. data/assets/include/SDL2/SDL_config_iphoneos.h +9 -1
  13. data/assets/include/SDL2/SDL_config_macosx.h +16 -2
  14. data/assets/include/SDL2/SDL_config_minimal.h +4 -1
  15. data/assets/include/SDL2/SDL_config_os2.h +37 -20
  16. data/assets/include/SDL2/SDL_config_pandora.h +6 -1
  17. data/assets/include/SDL2/SDL_config_psp.h +8 -8
  18. data/assets/include/SDL2/SDL_config_windows.h +39 -22
  19. data/assets/include/SDL2/SDL_config_winrt.h +23 -8
  20. data/assets/include/SDL2/SDL_config_wiz.h +6 -1
  21. data/assets/include/SDL2/SDL_copying.h +1 -1
  22. data/assets/include/SDL2/SDL_cpuinfo.h +331 -71
  23. data/assets/include/SDL2/SDL_egl.h +906 -280
  24. data/assets/include/SDL2/SDL_endian.h +101 -47
  25. data/assets/include/SDL2/SDL_error.h +70 -19
  26. data/assets/include/SDL2/SDL_events.h +387 -79
  27. data/assets/include/SDL2/SDL_filesystem.h +73 -64
  28. data/assets/include/SDL2/SDL_gamecontroller.h +585 -125
  29. data/assets/include/SDL2/SDL_gesture.h +36 -6
  30. data/assets/include/SDL2/SDL_haptic.h +304 -210
  31. data/assets/include/SDL2/SDL_hidapi.h +451 -0
  32. data/assets/include/SDL2/SDL_hints.h +1286 -897
  33. data/assets/include/SDL2/SDL_joystick.h +577 -130
  34. data/assets/include/SDL2/SDL_keyboard.h +162 -63
  35. data/assets/include/SDL2/SDL_keycode.h +7 -5
  36. data/assets/include/SDL2/SDL_loadso.h +42 -8
  37. data/assets/include/SDL2/SDL_locale.h +34 -32
  38. data/assets/include/SDL2/SDL_log.h +212 -19
  39. data/assets/include/SDL2/SDL_main.h +72 -17
  40. data/assets/include/SDL2/SDL_messagebox.h +70 -23
  41. data/assets/include/SDL2/SDL_metal.h +27 -32
  42. data/assets/include/SDL2/SDL_misc.h +19 -15
  43. data/assets/include/SDL2/SDL_mouse.h +262 -110
  44. data/assets/include/SDL2/SDL_mutex.h +286 -66
  45. data/assets/include/SDL2/SDL_name.h +1 -1
  46. data/assets/include/SDL2/SDL_opengl.h +1 -1
  47. data/assets/include/SDL2/SDL_opengles.h +1 -1
  48. data/assets/include/SDL2/SDL_opengles2.h +2 -2
  49. data/assets/include/SDL2/SDL_pixels.h +199 -34
  50. data/assets/include/SDL2/SDL_platform.h +39 -2
  51. data/assets/include/SDL2/SDL_power.h +23 -10
  52. data/assets/include/SDL2/SDL_quit.h +1 -1
  53. data/assets/include/SDL2/SDL_rect.h +78 -28
  54. data/assets/include/SDL2/SDL_render.h +1204 -472
  55. data/assets/include/SDL2/SDL_revision.h +2 -2
  56. data/assets/include/SDL2/SDL_rwops.h +605 -33
  57. data/assets/include/SDL2/SDL_scancode.h +1 -1
  58. data/assets/include/SDL2/SDL_sensor.h +76 -42
  59. data/assets/include/SDL2/SDL_shape.h +38 -27
  60. data/assets/include/SDL2/SDL_stdinc.h +96 -24
  61. data/assets/include/SDL2/SDL_surface.h +571 -139
  62. data/assets/include/SDL2/SDL_system.h +339 -101
  63. data/assets/include/SDL2/SDL_syswm.h +50 -20
  64. data/assets/include/SDL2/SDL_test.h +1 -1
  65. data/assets/include/SDL2/SDL_test_assert.h +2 -2
  66. data/assets/include/SDL2/SDL_test_common.h +23 -6
  67. data/assets/include/SDL2/SDL_test_compare.h +1 -1
  68. data/assets/include/SDL2/SDL_test_crc32.h +1 -1
  69. data/assets/include/SDL2/SDL_test_font.h +3 -3
  70. data/assets/include/SDL2/SDL_test_fuzzer.h +28 -26
  71. data/assets/include/SDL2/SDL_test_harness.h +6 -6
  72. data/assets/include/SDL2/SDL_test_images.h +1 -1
  73. data/assets/include/SDL2/SDL_test_log.h +1 -1
  74. data/assets/include/SDL2/SDL_test_md5.h +1 -1
  75. data/assets/include/SDL2/SDL_test_memory.h +1 -1
  76. data/assets/include/SDL2/SDL_test_random.h +2 -2
  77. data/assets/include/SDL2/SDL_thread.h +226 -128
  78. data/assets/include/SDL2/SDL_timer.h +129 -22
  79. data/assets/include/SDL2/SDL_touch.h +48 -8
  80. data/assets/include/SDL2/SDL_ttf.h +102 -9
  81. data/assets/include/SDL2/SDL_types.h +1 -1
  82. data/assets/include/SDL2/SDL_version.h +72 -46
  83. data/assets/include/SDL2/SDL_video.h +1266 -460
  84. data/assets/include/SDL2/SDL_vulkan.h +100 -161
  85. data/assets/include/SDL2/begin_code.h +22 -1
  86. data/assets/include/SDL2/close_code.h +1 -1
  87. data/assets/include/mrbconf.h +234 -0
  88. data/assets/include/mruby/array.h +317 -0
  89. data/assets/include/mruby/boxing_nan.h +130 -0
  90. data/assets/include/mruby/boxing_no.h +58 -0
  91. data/assets/include/mruby/boxing_word.h +205 -0
  92. data/assets/include/mruby/class.h +108 -0
  93. data/assets/include/mruby/common.h +92 -0
  94. data/assets/include/mruby/compile.h +210 -0
  95. data/assets/include/mruby/data.h +76 -0
  96. data/assets/include/mruby/debug.h +66 -0
  97. data/assets/include/mruby/dump.h +158 -0
  98. data/assets/include/mruby/endian.h +44 -0
  99. data/assets/include/mruby/error.h +137 -0
  100. data/assets/include/mruby/gc.h +92 -0
  101. data/assets/include/mruby/hash.h +242 -0
  102. data/assets/include/mruby/irep.h +147 -0
  103. data/assets/include/mruby/istruct.h +50 -0
  104. data/assets/include/mruby/khash.h +284 -0
  105. data/assets/include/mruby/numeric.h +169 -0
  106. data/assets/include/mruby/object.h +43 -0
  107. data/assets/include/mruby/opcode.h +43 -0
  108. data/assets/include/mruby/ops.h +122 -0
  109. data/assets/include/mruby/presym/disable.h +70 -0
  110. data/assets/include/mruby/presym/enable.h +37 -0
  111. data/assets/include/mruby/presym/scanning.h +73 -0
  112. data/assets/include/mruby/presym.h +40 -0
  113. data/assets/include/mruby/proc.h +209 -0
  114. data/assets/include/mruby/range.h +79 -0
  115. data/assets/include/mruby/re.h +16 -0
  116. data/assets/include/mruby/string.h +469 -0
  117. data/assets/include/mruby/throw.h +66 -0
  118. data/assets/include/mruby/value.h +400 -0
  119. data/assets/include/mruby/variable.h +140 -0
  120. data/assets/include/mruby/version.h +143 -0
  121. data/assets/include/mruby.h +1444 -0
  122. data/assets/macos/universal/bin/mrbc +0 -0
  123. data/assets/macos/universal/lib/libFLAC.a +0 -0
  124. data/assets/macos/universal/lib/libSDL2.a +0 -0
  125. data/assets/macos/universal/lib/libSDL2_image.a +0 -0
  126. data/assets/macos/{lib → universal/lib}/libSDL2_mixer.a +0 -0
  127. data/assets/macos/universal/lib/libSDL2_ttf.a +0 -0
  128. data/assets/macos/universal/lib/libfreetype.a +0 -0
  129. data/assets/macos/universal/lib/libgraphite2.a +0 -0
  130. data/assets/macos/universal/lib/libharfbuzz.a +0 -0
  131. data/assets/macos/universal/lib/libjpeg.a +0 -0
  132. data/assets/macos/universal/lib/libmodplug.a +0 -0
  133. data/assets/macos/{lib → universal/lib}/libmpg123.a +0 -0
  134. data/assets/{mingw/lib/libSDL2.a → macos/universal/lib/libmruby.a} +0 -0
  135. data/assets/macos/{lib → universal/lib}/libogg.a +0 -0
  136. data/assets/macos/universal/lib/libpng16.a +0 -0
  137. data/assets/macos/universal/lib/libtiff.a +0 -0
  138. data/assets/macos/universal/lib/libvorbis.a +0 -0
  139. data/assets/macos/universal/lib/libvorbisfile.a +0 -0
  140. data/assets/macos/universal/lib/libwebp.a +0 -0
  141. data/assets/test_media/README.md +3 -0
  142. data/assets/test_media/bitstream_vera/COPYRIGHT.txt +124 -0
  143. data/assets/test_media/bitstream_vera/vera.ttf +0 -0
  144. data/assets/test_media/boom.png +0 -0
  145. data/assets/test_media/coin.png +0 -0
  146. data/assets/test_media/colors.png +0 -0
  147. data/assets/test_media/controller.png +0 -0
  148. data/assets/test_media/dial.wav +0 -0
  149. data/assets/test_media/hero.png +0 -0
  150. data/assets/test_media/image.bmp +0 -0
  151. data/assets/test_media/image.jpg +0 -0
  152. data/assets/test_media/image.png +0 -0
  153. data/assets/test_media/music.flac +0 -0
  154. data/assets/test_media/music.mp3 +0 -0
  155. data/assets/test_media/music.ogg +0 -0
  156. data/assets/test_media/music.wav +0 -0
  157. data/assets/test_media/originals/boom.pxm +0 -0
  158. data/assets/test_media/originals/coin.pxm +0 -0
  159. data/assets/test_media/originals/controller.sketch +0 -0
  160. data/assets/test_media/originals/hero.pxm +0 -0
  161. data/assets/test_media/originals/image.pxm +0 -0
  162. data/assets/test_media/originals/music.caf +0 -0
  163. data/assets/test_media/originals/texture_atlas.pxm +0 -0
  164. data/assets/test_media/rondo_alla_turka.ogg +0 -0
  165. data/assets/test_media/sound.flac +0 -0
  166. data/assets/test_media/sound.mp3 +0 -0
  167. data/assets/test_media/sound.ogg +0 -0
  168. data/assets/test_media/sound.wav +0 -0
  169. data/assets/test_media/sprite_sheet.png +0 -0
  170. data/assets/test_media/texture_atlas.png +0 -0
  171. data/assets/wasm/build_config.rb +13 -0
  172. data/assets/wasm/libmruby.a +0 -0
  173. data/assets/wasm/template.html +17 -0
  174. data/assets/windows/glew/README.md +10 -0
  175. data/assets/windows/glew/glew.h +23686 -0
  176. data/assets/{mingw/lib → windows/glew}/libglew32.a +0 -0
  177. data/assets/windows/mingw-w64-x86_64/bin/mrbc.exe +0 -0
  178. data/assets/windows/mingw-w64-x86_64/lib/libFLAC.a +0 -0
  179. data/assets/windows/mingw-w64-x86_64/lib/libLerc.a +0 -0
  180. data/assets/windows/mingw-w64-x86_64/lib/libSDL2.a +0 -0
  181. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_image.a +0 -0
  182. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_mixer.a +0 -0
  183. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_ttf.a +0 -0
  184. data/assets/windows/mingw-w64-x86_64/lib/libbrotlicommon.a +0 -0
  185. data/assets/windows/mingw-w64-x86_64/lib/libbrotlidec.a +0 -0
  186. data/assets/windows/mingw-w64-x86_64/lib/libbz2.a +0 -0
  187. data/assets/windows/mingw-w64-x86_64/lib/libdeflate.a +0 -0
  188. data/assets/windows/mingw-w64-x86_64/lib/libfreetype.a +0 -0
  189. data/assets/windows/mingw-w64-x86_64/lib/libglew32.a +0 -0
  190. data/assets/windows/mingw-w64-x86_64/lib/libgraphite2.a +0 -0
  191. data/assets/windows/mingw-w64-x86_64/lib/libharfbuzz.a +0 -0
  192. data/assets/windows/mingw-w64-x86_64/lib/libjbig.a +0 -0
  193. data/assets/windows/mingw-w64-x86_64/lib/libjpeg.a +0 -0
  194. data/assets/windows/mingw-w64-x86_64/lib/liblzma.a +0 -0
  195. data/assets/windows/mingw-w64-x86_64/lib/libmodplug.a +0 -0
  196. data/assets/windows/mingw-w64-x86_64/lib/libmpg123.a +0 -0
  197. data/assets/windows/mingw-w64-x86_64/lib/libmruby.a +0 -0
  198. data/assets/windows/mingw-w64-x86_64/lib/libogg.a +0 -0
  199. data/assets/windows/mingw-w64-x86_64/lib/libopus.a +0 -0
  200. data/assets/windows/mingw-w64-x86_64/lib/libopusfile.a +0 -0
  201. data/assets/windows/mingw-w64-x86_64/lib/libpng16.a +0 -0
  202. data/assets/windows/mingw-w64-x86_64/lib/libsndfile.a +0 -0
  203. data/assets/windows/mingw-w64-x86_64/lib/libssp.a +0 -0
  204. data/assets/windows/mingw-w64-x86_64/lib/libstdc++.a +0 -0
  205. data/assets/windows/mingw-w64-x86_64/lib/libtiff.a +0 -0
  206. data/assets/windows/mingw-w64-x86_64/lib/libvorbis.a +0 -0
  207. data/assets/windows/mingw-w64-x86_64/lib/libvorbisfile.a +0 -0
  208. data/assets/windows/mingw-w64-x86_64/lib/libwebp.a +0 -0
  209. data/assets/windows/mingw-w64-x86_64/lib/libz.a +0 -0
  210. data/assets/windows/mingw-w64-x86_64/lib/libzstd.a +0 -0
  211. data/assets/{ios → xcode/ios}/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
  212. data/assets/{ios → xcode/ios}/Assets.xcassets/Contents.json +0 -0
  213. data/assets/{ios → xcode/ios}/Base.lproj/LaunchScreen.storyboard +0 -0
  214. data/assets/{ios → xcode/ios}/Info.plist +0 -0
  215. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mrbconf.h +0 -0
  216. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/array.h +0 -0
  217. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/boxing_nan.h +0 -0
  218. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/boxing_no.h +0 -0
  219. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/boxing_word.h +0 -0
  220. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/class.h +0 -0
  221. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/common.h +0 -0
  222. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/compile.h +0 -0
  223. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/data.h +0 -0
  224. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/debug.h +0 -0
  225. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/dump.h +0 -0
  226. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/error.h +0 -0
  227. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/gc.h +0 -0
  228. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/hash.h +0 -0
  229. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/irep.h +0 -0
  230. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/istruct.h +0 -0
  231. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/khash.h +0 -0
  232. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/numeric.h +0 -0
  233. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/object.h +0 -0
  234. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/opcode.h +0 -0
  235. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/ops.h +0 -0
  236. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/proc.h +0 -0
  237. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/range.h +0 -0
  238. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/re.h +0 -0
  239. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/string.h +0 -0
  240. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/throw.h +0 -0
  241. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/value.h +0 -0
  242. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/variable.h +0 -0
  243. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby/version.h +0 -0
  244. data/assets/{ios → xcode/ios}/MRuby.framework/Headers/mruby.h +0 -0
  245. data/assets/{ios → xcode/ios}/MRuby.framework/Info.plist +0 -0
  246. data/assets/{ios → xcode/ios}/MRuby.framework/MRuby +0 -0
  247. data/assets/{ios → xcode/ios}/MyApp.xcodeproj/project.pbxproj +0 -0
  248. data/assets/{ios → xcode/ios}/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
  249. data/assets/{ios → xcode/ios}/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  250. data/assets/{ios → xcode/ios}/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +0 -0
  251. data/assets/{ios → xcode/ios}/main.c +0 -0
  252. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +0 -0
  253. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json +0 -0
  254. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json +0 -0
  255. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +0 -0
  256. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json +0 -0
  257. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +0 -0
  258. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json +0 -0
  259. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +0 -0
  260. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json +0 -0
  261. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json +0 -0
  262. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +0 -0
  263. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json +0 -0
  264. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +0 -0
  265. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json +0 -0
  266. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json +0 -0
  267. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +0 -0
  268. data/assets/{tvos → xcode/tvos}/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +0 -0
  269. data/assets/{tvos → xcode/tvos}/Assets.xcassets/Contents.json +0 -0
  270. data/assets/{tvos → xcode/tvos}/Assets.xcassets/LaunchImage.launchimage/Contents.json +0 -0
  271. data/assets/{tvos → xcode/tvos}/Info.plist +0 -0
  272. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mrbconf.h +0 -0
  273. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/array.h +0 -0
  274. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/boxing_nan.h +0 -0
  275. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/boxing_no.h +0 -0
  276. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/boxing_word.h +0 -0
  277. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/class.h +0 -0
  278. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/common.h +0 -0
  279. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/compile.h +0 -0
  280. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/data.h +0 -0
  281. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/debug.h +0 -0
  282. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/dump.h +0 -0
  283. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/error.h +0 -0
  284. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/gc.h +0 -0
  285. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/hash.h +0 -0
  286. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/irep.h +0 -0
  287. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/istruct.h +0 -0
  288. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/khash.h +0 -0
  289. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/numeric.h +0 -0
  290. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/object.h +0 -0
  291. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/opcode.h +0 -0
  292. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/ops.h +0 -0
  293. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/proc.h +0 -0
  294. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/range.h +0 -0
  295. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/re.h +0 -0
  296. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/string.h +0 -0
  297. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/throw.h +0 -0
  298. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/value.h +0 -0
  299. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/variable.h +0 -0
  300. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby/version.h +0 -0
  301. data/assets/{tvos → xcode/tvos}/MRuby.framework/Headers/mruby.h +0 -0
  302. data/assets/{tvos → xcode/tvos}/MRuby.framework/Info.plist +0 -0
  303. data/assets/{tvos → xcode/tvos}/MRuby.framework/MRuby +0 -0
  304. data/assets/{tvos → xcode/tvos}/MyApp.xcodeproj/project.pbxproj +0 -0
  305. data/assets/{tvos → xcode/tvos}/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
  306. data/assets/{tvos → xcode/tvos}/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  307. data/assets/{tvos → xcode/tvos}/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +0 -0
  308. data/assets/{tvos → xcode/tvos}/main.c +0 -0
  309. data/bin/ruby2d +3 -4
  310. data/ext/ruby2d/extconf.rb +68 -46
  311. data/ext/ruby2d/font.c +35 -0
  312. data/ext/ruby2d/gl.c +9 -58
  313. data/ext/ruby2d/gl2.c +8 -83
  314. data/ext/ruby2d/gl3.c +57 -116
  315. data/ext/ruby2d/gles.c +130 -151
  316. data/ext/ruby2d/image.c +16 -96
  317. data/ext/ruby2d/ruby2d.c +265 -298
  318. data/ext/ruby2d/ruby2d.h +69 -159
  319. data/ext/ruby2d/sound.c +1 -1
  320. data/ext/ruby2d/text.c +20 -114
  321. data/ext/ruby2d/window.c +257 -219
  322. data/lib/ruby2d/circle.rb +3 -1
  323. data/lib/ruby2d/cli/build.rb +239 -59
  324. data/lib/ruby2d/cli/colorize.rb +5 -4
  325. data/lib/ruby2d/cli/platform.rb +17 -0
  326. data/lib/ruby2d/font.rb +26 -1
  327. data/lib/ruby2d/image.rb +22 -17
  328. data/lib/ruby2d/line.rb +3 -1
  329. data/lib/ruby2d/quad.rb +3 -1
  330. data/lib/ruby2d/rectangle.rb +1 -1
  331. data/lib/ruby2d/renderable.rb +0 -12
  332. data/lib/ruby2d/sound.rb +25 -0
  333. data/lib/ruby2d/sprite.rb +44 -89
  334. data/lib/ruby2d/square.rb +1 -1
  335. data/lib/ruby2d/text.rb +40 -20
  336. data/lib/ruby2d/texture.rb +28 -0
  337. data/lib/ruby2d/tileset.rb +47 -28
  338. data/lib/ruby2d/triangle.rb +3 -1
  339. data/lib/ruby2d/version.rb +1 -1
  340. data/lib/ruby2d/vertices.rb +89 -0
  341. data/lib/ruby2d/window.rb +13 -3
  342. data/lib/ruby2d.rb +16 -20
  343. metadata +249 -153
  344. data/assets/README.md +0 -22
  345. data/assets/Rakefile +0 -85
  346. data/assets/macos/lib/libFLAC.a +0 -0
  347. data/assets/macos/lib/libSDL2.a +0 -0
  348. data/assets/macos/lib/libSDL2_image.a +0 -0
  349. data/assets/macos/lib/libSDL2_ttf.a +0 -0
  350. data/assets/macos/lib/libfreetype.a +0 -0
  351. data/assets/macos/lib/libjpeg.a +0 -0
  352. data/assets/macos/lib/libpng16.a +0 -0
  353. data/assets/macos/lib/libtiff.a +0 -0
  354. data/assets/macos/lib/libvorbis.a +0 -0
  355. data/assets/macos/lib/libvorbisfile.a +0 -0
  356. data/assets/macos/lib/libwebp.a +0 -0
  357. data/assets/mingw/bin/SDL2.dll +0 -0
  358. data/assets/mingw/bin/SDL2_image.dll +0 -0
  359. data/assets/mingw/bin/SDL2_mixer.dll +0 -0
  360. data/assets/mingw/bin/SDL2_ttf.dll +0 -0
  361. data/assets/mingw/bin/glew32.dll +0 -0
  362. data/assets/mingw/bin/libFLAC-8.dll +0 -0
  363. data/assets/mingw/bin/libfreetype-6.dll +0 -0
  364. data/assets/mingw/bin/libjpeg-9.dll +0 -0
  365. data/assets/mingw/bin/libmodplug-1.dll +0 -0
  366. data/assets/mingw/bin/libmpg123-0.dll +0 -0
  367. data/assets/mingw/bin/libogg-0.dll +0 -0
  368. data/assets/mingw/bin/libopus-0.dll +0 -0
  369. data/assets/mingw/bin/libopusfile-0.dll +0 -0
  370. data/assets/mingw/bin/libpng16-16.dll +0 -0
  371. data/assets/mingw/bin/libtiff-5.dll +0 -0
  372. data/assets/mingw/bin/libvorbis-0.dll +0 -0
  373. data/assets/mingw/bin/libvorbisfile-3.dll +0 -0
  374. data/assets/mingw/bin/libwebp-7.dll +0 -0
  375. data/assets/mingw/bin/zlib1.dll +0 -0
  376. data/assets/mingw/lib/libSDL2.dll.a +0 -0
  377. data/assets/mingw/lib/libSDL2_image.a +0 -0
  378. data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
  379. data/assets/mingw/lib/libSDL2_mixer.a +0 -0
  380. data/assets/mingw/lib/libSDL2_mixer.dll.a +0 -0
  381. data/assets/mingw/lib/libSDL2_test.a +0 -0
  382. data/assets/mingw/lib/libSDL2_ttf.a +0 -0
  383. data/assets/mingw/lib/libSDL2_ttf.dll.a +0 -0
  384. data/assets/mingw/lib/libSDL2main.a +0 -0
  385. data/assets/mingw/lib/libglew32.dll.a +0 -0
  386. data/ext/ruby2d/sprite.c +0 -147
  387. data/ext/ruby2d/tileset.c +0 -30
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Simple DirectMedia Layer
3
- Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
3
+ Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
4
4
 
5
5
  This software is provided 'as-is', without any express or implied
6
6
  warranty. In no event will the authors be held liable for any damages
@@ -24,7 +24,11 @@
24
24
  *
25
25
  * This is a simple file to encapsulate the EGL API headers.
26
26
  */
27
- #if !defined(_MSC_VER) && !defined(__ANDROID__)
27
+ #if !defined(_MSC_VER) && !defined(__ANDROID__) && !defined(SDL_USE_BUILTIN_OPENGL_DEFINITIONS)
28
+
29
+ #if defined(__vita__) || defined(__psp2__)
30
+ #include <psp2/types.h>
31
+ #endif
28
32
 
29
33
  #include <EGL/egl.h>
30
34
  #include <EGL/eglext.h>
@@ -37,7 +41,7 @@
37
41
  #define __khrplatform_h_
38
42
 
39
43
  /*
40
- ** Copyright (c) 2008-2009 The Khronos Group Inc.
44
+ ** Copyright (c) 2008-2018 The Khronos Group Inc.
41
45
  **
42
46
  ** Permission is hereby granted, free of charge, to any person obtaining a
43
47
  ** copy of this software and/or associated documentation files (the
@@ -60,104 +64,112 @@
60
64
  */
61
65
 
62
66
  /* 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
- */
67
+ *
68
+ * The master copy of khrplatform.h is maintained in the Khronos EGL
69
+ * Registry repository at https://github.com/KhronosGroup/EGL-Registry
70
+ * The last semantic modification to khrplatform.h was at commit ID:
71
+ * 67a3e0864c2d75ea5287b9f3d2eb74a745936692
72
+ *
73
+ * Adopters may modify this file to suit their platform. Adopters are
74
+ * encouraged to submit platform specific modifications to the Khronos
75
+ * group so that they can be included in future versions of this file.
76
+ * Please submit changes by filing pull requests or issues on
77
+ * the EGL Registry repository linked above.
78
+ *
79
+ *
80
+ * See the Implementer's Guidelines for information about where this file
81
+ * should be located on your system and for more details of its use:
82
+ * http://www.khronos.org/registry/implementers_guide.pdf
83
+ *
84
+ * This file should be included as
85
+ * #include <KHR/khrplatform.h>
86
+ * by Khronos client API header files that use its types and defines.
87
+ *
88
+ * The types in khrplatform.h should only be used to define API-specific types.
89
+ *
90
+ * Types defined in khrplatform.h:
91
+ * khronos_int8_t signed 8 bit
92
+ * khronos_uint8_t unsigned 8 bit
93
+ * khronos_int16_t signed 16 bit
94
+ * khronos_uint16_t unsigned 16 bit
95
+ * khronos_int32_t signed 32 bit
96
+ * khronos_uint32_t unsigned 32 bit
97
+ * khronos_int64_t signed 64 bit
98
+ * khronos_uint64_t unsigned 64 bit
99
+ * khronos_intptr_t signed same number of bits as a pointer
100
+ * khronos_uintptr_t unsigned same number of bits as a pointer
101
+ * khronos_ssize_t signed size
102
+ * khronos_usize_t unsigned size
103
+ * khronos_float_t signed 32 bit floating point
104
+ * khronos_time_ns_t unsigned 64 bit time in nanoseconds
105
+ * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
106
+ * nanoseconds
107
+ * khronos_stime_nanoseconds_t signed time interval in nanoseconds
108
+ * khronos_boolean_enum_t enumerated boolean type. This should
109
+ * only be used as a base type when a client API's boolean type is
110
+ * an enum. Client APIs which use an integer or other type for
111
+ * booleans cannot use this as the base type for their boolean.
112
+ *
113
+ * Tokens defined in khrplatform.h:
114
+ *
115
+ * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
116
+ *
117
+ * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
118
+ * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
119
+ *
120
+ * Calling convention macros defined in this file:
121
+ * KHRONOS_APICALL
122
+ * KHRONOS_APIENTRY
123
+ * KHRONOS_APIATTRIBUTES
124
+ *
125
+ * These may be used in function prototypes as:
126
+ *
127
+ * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
128
+ * int arg1,
129
+ * int arg2) KHRONOS_APIATTRIBUTES;
130
+ */
131
+
132
+ #if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
133
+ # define KHRONOS_STATIC 1
134
+ #endif
129
135
 
130
136
  /*-------------------------------------------------------------------------
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)
137
+ * Definition of KHRONOS_APICALL
138
+ *-------------------------------------------------------------------------
139
+ * This precedes the return type of the function in the function prototype.
140
+ */
141
+ #if defined(KHRONOS_STATIC)
142
+ /* If the preprocessor constant KHRONOS_STATIC is defined, make the
143
+ * header compatible with static linking. */
144
+ # define KHRONOS_APICALL
145
+ #elif defined(_WIN32)
136
146
  # define KHRONOS_APICALL __declspec(dllimport)
137
147
  #elif defined (__SYMBIAN32__)
138
148
  # define KHRONOS_APICALL IMPORT_C
149
+ #elif defined(__ANDROID__)
150
+ # define KHRONOS_APICALL __attribute__((visibility("default")))
139
151
  #else
140
152
  # define KHRONOS_APICALL
141
153
  #endif
142
154
 
143
155
  /*-------------------------------------------------------------------------
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
- */
156
+ * Definition of KHRONOS_APIENTRY
157
+ *-------------------------------------------------------------------------
158
+ * This follows the return type of the function and precedes the function
159
+ * name in the function prototype.
160
+ */
149
161
  #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
150
- /* Win32 but not WinCE */
162
+ /* Win32 but not WinCE */
151
163
  # define KHRONOS_APIENTRY __stdcall
152
164
  #else
153
165
  # define KHRONOS_APIENTRY
154
166
  #endif
155
167
 
156
168
  /*-------------------------------------------------------------------------
157
- * Definition of KHRONOS_APIATTRIBUTES
158
- *-------------------------------------------------------------------------
159
- * This follows the closing parenthesis of the function prototype arguments.
160
- */
169
+ * Definition of KHRONOS_APIATTRIBUTES
170
+ *-------------------------------------------------------------------------
171
+ * This follows the closing parenthesis of the function prototype arguments.
172
+ */
161
173
  #if defined (__ARMCC_2__)
162
174
  #define KHRONOS_APIATTRIBUTES __softfp
163
175
  #else
@@ -165,14 +177,14 @@
165
177
  #endif
166
178
 
167
179
  /*-------------------------------------------------------------------------
168
- * basic type definitions
169
- *-----------------------------------------------------------------------*/
180
+ * basic type definitions
181
+ *-----------------------------------------------------------------------*/
170
182
  #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
171
183
 
172
184
 
173
185
  /*
174
- * Using <stdint.h>
175
- */
186
+ * Using <stdint.h>
187
+ */
176
188
  #include <stdint.h>
177
189
  typedef int32_t khronos_int32_t;
178
190
  typedef uint32_t khronos_uint32_t;
@@ -184,8 +196,8 @@ typedef uint64_t khronos_uint64_t;
184
196
  #elif defined(__VMS ) || defined(__sgi)
185
197
 
186
198
  /*
187
- * Using <inttypes.h>
188
- */
199
+ * Using <inttypes.h>
200
+ */
189
201
  #include <inttypes.h>
190
202
  typedef int32_t khronos_int32_t;
191
203
  typedef uint32_t khronos_uint32_t;
@@ -197,8 +209,8 @@ typedef uint64_t khronos_uint64_t;
197
209
  #elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
198
210
 
199
211
  /*
200
- * Win32
201
- */
212
+ * Win32
213
+ */
202
214
  typedef __int32 khronos_int32_t;
203
215
  typedef unsigned __int32 khronos_uint32_t;
204
216
  typedef __int64 khronos_int64_t;
@@ -209,8 +221,8 @@ typedef unsigned __int64 khronos_uint64_t;
209
221
  #elif defined(__sun__) || defined(__digital__)
210
222
 
211
223
  /*
212
- * Sun or Digital
213
- */
224
+ * Sun or Digital
225
+ */
214
226
  typedef int khronos_int32_t;
215
227
  typedef unsigned int khronos_uint32_t;
216
228
  #if defined(__arch64__) || defined(_LP64)
@@ -226,8 +238,8 @@ typedef unsigned long long int khronos_uint64_t;
226
238
  #elif 0
227
239
 
228
240
  /*
229
- * Hypothetical platform with no float or int64 support
230
- */
241
+ * Hypothetical platform with no float or int64 support
242
+ */
231
243
  typedef int khronos_int32_t;
232
244
  typedef unsigned int khronos_uint32_t;
233
245
  #define KHRONOS_SUPPORT_INT64 0
@@ -236,8 +248,8 @@ typedef unsigned int khronos_uint32_t;
236
248
  #else
237
249
 
238
250
  /*
239
- * Generic fallback
240
- */
251
+ * Generic fallback
252
+ */
241
253
  #include <stdint.h>
242
254
  typedef int32_t khronos_int32_t;
243
255
  typedef uint32_t khronos_uint32_t;
@@ -250,18 +262,18 @@ typedef uint64_t khronos_uint64_t;
250
262
 
251
263
 
252
264
  /*
253
- * Types that are (so far) the same on all platforms
254
- */
265
+ * Types that are (so far) the same on all platforms
266
+ */
255
267
  typedef signed char khronos_int8_t;
256
268
  typedef unsigned char khronos_uint8_t;
257
269
  typedef signed short int khronos_int16_t;
258
270
  typedef unsigned short int khronos_uint16_t;
259
271
 
260
272
  /*
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
- */
273
+ * Types that differ between LLP64 and LP64 architectures - in LLP64,
274
+ * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
275
+ * to be the only LLP64 architecture in current use.
276
+ */
265
277
  #ifdef _WIN64
266
278
  typedef signed long long int khronos_intptr_t;
267
279
  typedef unsigned long long int khronos_uintptr_t;
@@ -276,41 +288,41 @@ typedef unsigned long int khronos_usize_t;
276
288
 
277
289
  #if KHRONOS_SUPPORT_FLOAT
278
290
  /*
279
- * Float type
280
- */
291
+ * Float type
292
+ */
281
293
  typedef float khronos_float_t;
282
294
  #endif
283
295
 
284
296
  #if KHRONOS_SUPPORT_INT64
285
297
  /* 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
- */
298
+ *
299
+ * These types can be used to represent a time interval in nanoseconds or
300
+ * an absolute Unadjusted System Time. Unadjusted System Time is the number
301
+ * of nanoseconds since some arbitrary system event (e.g. since the last
302
+ * time the system booted). The Unadjusted System Time is an unsigned
303
+ * 64 bit value that wraps back to 0 every 584 years. Time intervals
304
+ * may be either signed or unsigned.
305
+ */
294
306
  typedef khronos_uint64_t khronos_utime_nanoseconds_t;
295
307
  typedef khronos_int64_t khronos_stime_nanoseconds_t;
296
308
  #endif
297
309
 
298
310
  /*
299
- * Dummy value used to pad enum types to 32 bits.
300
- */
311
+ * Dummy value used to pad enum types to 32 bits.
312
+ */
301
313
  #ifndef KHRONOS_MAX_ENUM
302
314
  #define KHRONOS_MAX_ENUM 0x7FFFFFFF
303
315
  #endif
304
316
 
305
317
  /*
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
- */
318
+ * Enumerated boolean type
319
+ *
320
+ * Values other than zero should be considered to be true. Therefore
321
+ * comparisons should not be made against KHRONOS_TRUE.
322
+ */
311
323
  typedef enum {
312
324
  KHRONOS_FALSE = 0,
313
- KHRONOS_TRUE = 1,
325
+ KHRONOS_TRUE = 1,
314
326
  KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
315
327
  } khronos_boolean_enum_t;
316
328
 
@@ -321,49 +333,30 @@ typedef enum {
321
333
  #define __eglplatform_h_
322
334
 
323
335
  /*
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.
336
+ ** Copyright 2007-2020 The Khronos Group Inc.
337
+ ** SPDX-License-Identifier: Apache-2.0
344
338
  */
345
339
 
346
340
  /* 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
- */
341
+ *
342
+ * Adopters may modify khrplatform.h and this file to suit their platform.
343
+ * You are encouraged to submit all modifications to the Khronos group so that
344
+ * they can be included in future versions of this file. Please submit changes
345
+ * by filing an issue or pull request on the public Khronos EGL Registry, at
346
+ * https://www.github.com/KhronosGroup/EGL-Registry/
347
+ */
355
348
 
356
349
  /*#include <KHR/khrplatform.h>*/
357
350
 
358
351
  /* 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
- */
352
+ *
353
+ * EGL functions should be prototyped as:
354
+ *
355
+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
356
+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
357
+ *
358
+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
359
+ */
367
360
 
368
361
  #ifndef EGLAPI
369
362
  #define EGLAPI KHRONOS_APICALL
@@ -375,42 +368,44 @@ typedef enum {
375
368
  #define EGLAPIENTRYP EGLAPIENTRY*
376
369
 
377
370
  /* 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
- */
371
+ * are aliases of window-system-dependent types, such as X Display * or
372
+ * Windows Device Context. They must be defined in platform-specific
373
+ * code below. The EGL-prefixed versions of Native*Type are the same
374
+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
375
+ *
376
+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
377
+ * provided below, since these changes affect both binary and source
378
+ * portability of applications using EGL running on different EGL
379
+ * implementations.
380
+ */
381
+
382
+ #if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
383
+
384
+ typedef void *EGLNativeDisplayType;
385
+ typedef void *EGLNativePixmapType;
386
+ typedef void *EGLNativeWindowType;
388
387
 
389
- #if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
388
+ #elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
390
389
  #ifndef WIN32_LEAN_AND_MEAN
391
390
  #define WIN32_LEAN_AND_MEAN 1
392
391
  #endif
393
- #ifndef NOMINMAX /* don't define min() and max(). */
394
- #define NOMINMAX
395
- #endif
396
392
  #include <windows.h>
397
393
 
398
- #if __WINRT__
399
- #include <Unknwn.h>
400
- typedef IUnknown * EGLNativeWindowType;
401
- typedef IUnknown * EGLNativePixmapType;
402
- typedef IUnknown * EGLNativeDisplayType;
403
- #else
404
394
  typedef HDC EGLNativeDisplayType;
405
395
  typedef HBITMAP EGLNativePixmapType;
406
396
  typedef HWND EGLNativeWindowType;
407
- #endif
397
+
398
+ #elif defined(__EMSCRIPTEN__)
399
+
400
+ typedef int EGLNativeDisplayType;
401
+ typedef int EGLNativePixmapType;
402
+ typedef int EGLNativeWindowType;
408
403
 
409
404
  #elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
410
405
 
411
406
  typedef int EGLNativeDisplayType;
412
- typedef void *EGLNativeWindowType;
413
407
  typedef void *EGLNativePixmapType;
408
+ typedef void *EGLNativeWindowType;
414
409
 
415
410
  #elif defined(WL_EGL_PLATFORM)
416
411
 
@@ -424,31 +419,22 @@ typedef struct gbm_device *EGLNativeDisplayType;
424
419
  typedef struct gbm_bo *EGLNativePixmapType;
425
420
  typedef void *EGLNativeWindowType;
426
421
 
427
- #elif defined(__ANDROID__) /* Android */
422
+ #elif defined(__ANDROID__) || defined(ANDROID)
428
423
 
429
424
  struct ANativeWindow;
430
425
  struct egl_native_pixmap_t;
431
426
 
432
- typedef struct ANativeWindow *EGLNativeWindowType;
433
- typedef struct egl_native_pixmap_t *EGLNativePixmapType;
434
- typedef void *EGLNativeDisplayType;
435
-
436
- #elif defined(MIR_EGL_PLATFORM)
437
-
438
- #include <mir_toolkit/mir_client_library.h>
439
- typedef MirEGLNativeDisplayType EGLNativeDisplayType;
440
- typedef void *EGLNativePixmapType;
441
- typedef MirEGLNativeWindowType EGLNativeWindowType;
442
-
443
- #elif defined(__unix__)
427
+ typedef void* EGLNativeDisplayType;
428
+ typedef struct egl_native_pixmap_t* EGLNativePixmapType;
429
+ typedef struct ANativeWindow* EGLNativeWindowType;
444
430
 
445
- #ifdef MESA_EGL_NO_X11_HEADERS
431
+ #elif defined(USE_OZONE)
446
432
 
447
- typedef void *EGLNativeDisplayType;
448
- typedef khronos_uintptr_t EGLNativePixmapType;
449
- typedef khronos_uintptr_t EGLNativeWindowType;
433
+ typedef intptr_t EGLNativeDisplayType;
434
+ typedef intptr_t EGLNativePixmapType;
435
+ typedef intptr_t EGLNativeWindowType;
450
436
 
451
- #else
437
+ #elif defined(USE_X11)
452
438
 
453
439
  /* X11 (tentative) */
454
440
  #include <X11/Xlib.h>
@@ -458,7 +444,31 @@ typedef Display *EGLNativeDisplayType;
458
444
  typedef Pixmap EGLNativePixmapType;
459
445
  typedef Window EGLNativeWindowType;
460
446
 
461
- #endif /* MESA_EGL_NO_X11_HEADERS */
447
+ #elif defined(__unix__)
448
+
449
+ typedef void *EGLNativeDisplayType;
450
+ typedef khronos_uintptr_t EGLNativePixmapType;
451
+ typedef khronos_uintptr_t EGLNativeWindowType;
452
+
453
+ #elif defined(__APPLE__)
454
+
455
+ typedef int EGLNativeDisplayType;
456
+ typedef void *EGLNativePixmapType;
457
+ typedef void *EGLNativeWindowType;
458
+
459
+ #elif defined(__HAIKU__)
460
+
461
+ #include <kernel/image.h>
462
+
463
+ typedef void *EGLNativeDisplayType;
464
+ typedef khronos_uintptr_t EGLNativePixmapType;
465
+ typedef khronos_uintptr_t EGLNativeWindowType;
466
+
467
+ #elif defined(__Fuchsia__)
468
+
469
+ typedef void *EGLNativeDisplayType;
470
+ typedef khronos_uintptr_t EGLNativePixmapType;
471
+ typedef khronos_uintptr_t EGLNativeWindowType;
462
472
 
463
473
  #else
464
474
  #error "Platform not recognized"
@@ -471,16 +481,25 @@ typedef EGLNativeWindowType NativeWindowType;
471
481
 
472
482
 
473
483
  /* Define EGLint. This must be a signed integral type large enough to contain
474
- * all legal attribute names and values passed into and out of EGL, whether
475
- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
476
- * handle, or other. While in general a 32-bit integer will suffice, if
477
- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
478
- * integer type.
479
- */
484
+ * all legal attribute names and values passed into and out of EGL, whether
485
+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
486
+ * handle, or other. While in general a 32-bit integer will suffice, if
487
+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
488
+ * integer type.
489
+ */
480
490
  typedef khronos_int32_t EGLint;
481
491
 
492
+
493
+ /* C++ / C typecast macros for special EGL handle values */
494
+ #if defined(__cplusplus)
495
+ #define EGL_CAST(type, value) (static_cast<type>(value))
496
+ #else
497
+ #define EGL_CAST(type, value) ((type) (value))
498
+ #endif
499
+
482
500
  #endif /* __eglplatform_h */
483
501
 
502
+
484
503
  #ifndef __egl_h_
485
504
  #define __egl_h_ 1
486
505
 
@@ -489,39 +508,24 @@ extern "C" {
489
508
  #endif
490
509
 
491
510
  /*
492
- ** Copyright (c) 2013-2015 The Khronos Group Inc.
493
- **
494
- ** Permission is hereby granted, free of charge, to any person obtaining a
495
- ** copy of this software and/or associated documentation files (the
496
- ** "Materials"), to deal in the Materials without restriction, including
497
- ** without limitation the rights to use, copy, modify, merge, publish,
498
- ** distribute, sublicense, and/or sell copies of the Materials, and to
499
- ** permit persons to whom the Materials are furnished to do so, subject to
500
- ** the following conditions:
511
+ ** Copyright 2013-2020 The Khronos Group Inc.
512
+ ** SPDX-License-Identifier: Apache-2.0
501
513
  **
502
- ** The above copyright notice and this permission notice shall be included
503
- ** in all copies or substantial portions of the Materials.
504
- **
505
- ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
506
- ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
507
- ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
508
- ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
509
- ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
510
- ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
511
- ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
512
- */
513
- /*
514
- ** This header is generated from the Khronos OpenGL / OpenGL ES XML
515
- ** API Registry. The current version of the Registry, generator scripts
514
+ ** This header is generated from the Khronos EGL XML API Registry.
515
+ ** The current version of the Registry, generator scripts
516
516
  ** used to make the header, and the header can be found at
517
- ** http://www.opengl.org/registry/
517
+ ** http://www.khronos.org/registry/egl
518
518
  **
519
- ** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
519
+ ** Khronos $Git commit SHA1: b35e89ca9a $ on $Git commit date: 2021-09-01 09:34:00 +0530 $
520
520
  */
521
521
 
522
522
  /*#include <EGL/eglplatform.h>*/
523
523
 
524
- /* Generated on date 20150623 */
524
+ #ifndef EGL_EGL_PROTOTYPES
525
+ #define EGL_EGL_PROTOTYPES 1
526
+ #endif
527
+
528
+ /* Generated on date 20210901 */
525
529
 
526
530
  /* Generated C header for:
527
531
  * API: egl
@@ -536,6 +540,8 @@ extern "C" {
536
540
  #define EGL_VERSION_1_0 1
537
541
  typedef unsigned int EGLBoolean;
538
542
  typedef void *EGLDisplay;
543
+ /*#include <KHR/khrplatform.h>*/
544
+ /*#include <EGL/eglplatform.h>*/
539
545
  typedef void *EGLConfig;
540
546
  typedef void *EGLSurface;
541
547
  typedef void *EGLContext;
@@ -559,7 +565,7 @@ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
559
565
  #define EGL_CONFIG_ID 0x3028
560
566
  #define EGL_CORE_NATIVE_ENGINE 0x305B
561
567
  #define EGL_DEPTH_SIZE 0x3025
562
- #define EGL_DONT_CARE ((EGLint)-1)
568
+ #define EGL_DONT_CARE EGL_CAST(EGLint,-1)
563
569
  #define EGL_DRAW 0x3059
564
570
  #define EGL_EXTENSIONS 0x3055
565
571
  #define EGL_FALSE 0
@@ -576,9 +582,9 @@ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
576
582
  #define EGL_NONE 0x3038
577
583
  #define EGL_NON_CONFORMANT_CONFIG 0x3051
578
584
  #define EGL_NOT_INITIALIZED 0x3001
579
- #define EGL_NO_CONTEXT ((EGLContext)0)
580
- #define EGL_NO_DISPLAY ((EGLDisplay)0)
581
- #define EGL_NO_SURFACE ((EGLSurface)0)
585
+ #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
586
+ #define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
587
+ #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
582
588
  #define EGL_PBUFFER_BIT 0x0001
583
589
  #define EGL_PIXMAP_BIT 0x0002
584
590
  #define EGL_READ 0x305A
@@ -599,6 +605,31 @@ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
599
605
  #define EGL_VERSION 0x3054
600
606
  #define EGL_WIDTH 0x3057
601
607
  #define EGL_WINDOW_BIT 0x0004
608
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
609
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
610
+ typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
611
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
612
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
613
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
614
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
615
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
616
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
617
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
618
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
619
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
620
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
621
+ typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
622
+ typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
623
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
624
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
625
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
626
+ typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
627
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
628
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
629
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
630
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
631
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
632
+ #if EGL_EGL_PROTOTYPES
602
633
  EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
603
634
  EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
604
635
  EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
@@ -623,6 +654,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface
623
654
  EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
624
655
  EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
625
656
  EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
657
+ #endif
626
658
  #endif /* EGL_VERSION_1_0 */
627
659
 
628
660
  #ifndef EGL_VERSION_1_1
@@ -641,10 +673,16 @@ EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
641
673
  #define EGL_TEXTURE_RGB 0x305D
642
674
  #define EGL_TEXTURE_RGBA 0x305E
643
675
  #define EGL_TEXTURE_TARGET 0x3081
676
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
677
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
678
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
679
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
680
+ #if EGL_EGL_PROTOTYPES
644
681
  EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
645
682
  EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
646
683
  EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
647
684
  EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
685
+ #endif
648
686
  #endif /* EGL_VERSION_1_1 */
649
687
 
650
688
  #ifndef EGL_VERSION_1_2
@@ -678,13 +716,20 @@ typedef void *EGLClientBuffer;
678
716
  #define EGL_RGB_BUFFER 0x308E
679
717
  #define EGL_SINGLE_BUFFER 0x3085
680
718
  #define EGL_SWAP_BEHAVIOR 0x3093
681
- #define EGL_UNKNOWN ((EGLint)-1)
719
+ #define EGL_UNKNOWN EGL_CAST(EGLint,-1)
682
720
  #define EGL_VERTICAL_RESOLUTION 0x3091
721
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
722
+ typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
723
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
724
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
725
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
726
+ #if EGL_EGL_PROTOTYPES
683
727
  EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
684
728
  EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
685
729
  EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
686
730
  EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
687
731
  EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
732
+ #endif
688
733
  #endif /* EGL_VERSION_1_2 */
689
734
 
690
735
  #ifndef EGL_VERSION_1_3
@@ -705,7 +750,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
705
750
 
706
751
  #ifndef EGL_VERSION_1_4
707
752
  #define EGL_VERSION_1_4 1
708
- #define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
753
+ #define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
709
754
  #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
710
755
  #define EGL_MULTISAMPLE_RESOLVE 0x3099
711
756
  #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
@@ -713,7 +758,10 @@ EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
713
758
  #define EGL_OPENGL_API 0x30A2
714
759
  #define EGL_OPENGL_BIT 0x0008
715
760
  #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
761
+ typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
762
+ #if EGL_EGL_PROTOTYPES
716
763
  EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
764
+ #endif
717
765
  #endif /* EGL_VERSION_1_4 */
718
766
 
719
767
  #ifndef EGL_VERSION_1_5
@@ -747,7 +795,7 @@ typedef void *EGLImage;
747
795
  #define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
748
796
  #define EGL_TIMEOUT_EXPIRED 0x30F5
749
797
  #define EGL_CONDITION_SATISFIED 0x30F6
750
- #define EGL_NO_SYNC ((EGLSync)0)
798
+ #define EGL_NO_SYNC EGL_CAST(EGLSync,0)
751
799
  #define EGL_SYNC_FENCE 0x30F9
752
800
  #define EGL_GL_COLORSPACE 0x309D
753
801
  #define EGL_GL_COLORSPACE_SRGB 0x3089
@@ -764,7 +812,18 @@ typedef void *EGLImage;
764
812
  #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
765
813
  #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
766
814
  #define EGL_IMAGE_PRESERVED 0x30D2
767
- #define EGL_NO_IMAGE ((EGLImage)0)
815
+ #define EGL_NO_IMAGE EGL_CAST(EGLImage,0)
816
+ typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
817
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
818
+ typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
819
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
820
+ typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
821
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
822
+ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
823
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
824
+ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
825
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
826
+ #if EGL_EGL_PROTOTYPES
768
827
  EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
769
828
  EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
770
829
  EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
@@ -775,6 +834,7 @@ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *nat
775
834
  EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
776
835
  EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
777
836
  EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
837
+ #endif
778
838
  #endif /* EGL_VERSION_1_5 */
779
839
 
780
840
  #ifdef __cplusplus
@@ -784,7 +844,6 @@ EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint
784
844
  #endif /* __egl_h_ */
785
845
 
786
846
 
787
-
788
847
  #ifndef __eglext_h_
789
848
  #define __eglext_h_ 1
790
849
 
@@ -793,39 +852,20 @@ extern "C" {
793
852
  #endif
794
853
 
795
854
  /*
796
- ** Copyright (c) 2013-2015 The Khronos Group Inc.
797
- **
798
- ** Permission is hereby granted, free of charge, to any person obtaining a
799
- ** copy of this software and/or associated documentation files (the
800
- ** "Materials"), to deal in the Materials without restriction, including
801
- ** without limitation the rights to use, copy, modify, merge, publish,
802
- ** distribute, sublicense, and/or sell copies of the Materials, and to
803
- ** permit persons to whom the Materials are furnished to do so, subject to
804
- ** the following conditions:
805
- **
806
- ** The above copyright notice and this permission notice shall be included
807
- ** in all copies or substantial portions of the Materials.
855
+ ** Copyright 2013-2020 The Khronos Group Inc.
856
+ ** SPDX-License-Identifier: Apache-2.0
808
857
  **
809
- ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
810
- ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
811
- ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
812
- ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
813
- ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
814
- ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
815
- ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
816
- */
817
- /*
818
- ** This header is generated from the Khronos OpenGL / OpenGL ES XML
819
- ** API Registry. The current version of the Registry, generator scripts
858
+ ** This header is generated from the Khronos EGL XML API Registry.
859
+ ** The current version of the Registry, generator scripts
820
860
  ** used to make the header, and the header can be found at
821
- ** http://www.opengl.org/registry/
861
+ ** http://www.khronos.org/registry/egl
822
862
  **
823
- ** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
863
+ ** Khronos $Git commit SHA1: b35e89ca9a $ on $Git commit date: 2021-09-01 09:34:00 +0530 $
824
864
  */
825
865
 
826
866
  /*#include <EGL/eglplatform.h>*/
827
867
 
828
- #define EGL_EGLEXT_VERSION 20150623
868
+ #define EGL_EGLEXT_VERSION 20210901
829
869
 
830
870
  /* Generated C header for:
831
871
  * API: egl
@@ -864,6 +904,13 @@ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type,
864
904
  #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040
865
905
  #endif /* EGL_KHR_config_attribs */
866
906
 
907
+ #ifndef EGL_KHR_context_flush_control
908
+ #define EGL_KHR_context_flush_control 1
909
+ #define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0
910
+ #define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x2097
911
+ #define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098
912
+ #endif /* EGL_KHR_context_flush_control */
913
+
867
914
  #ifndef EGL_KHR_create_context
868
915
  #define EGL_KHR_create_context 1
869
916
  #define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
@@ -886,6 +933,42 @@ EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type,
886
933
  #define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3
887
934
  #endif /* EGL_KHR_create_context_no_error */
888
935
 
936
+ #ifndef EGL_KHR_debug
937
+ #define EGL_KHR_debug 1
938
+ typedef void *EGLLabelKHR;
939
+ typedef void *EGLObjectKHR;
940
+ typedef void (EGLAPIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
941
+ #define EGL_OBJECT_THREAD_KHR 0x33B0
942
+ #define EGL_OBJECT_DISPLAY_KHR 0x33B1
943
+ #define EGL_OBJECT_CONTEXT_KHR 0x33B2
944
+ #define EGL_OBJECT_SURFACE_KHR 0x33B3
945
+ #define EGL_OBJECT_IMAGE_KHR 0x33B4
946
+ #define EGL_OBJECT_SYNC_KHR 0x33B5
947
+ #define EGL_OBJECT_STREAM_KHR 0x33B6
948
+ #define EGL_DEBUG_MSG_CRITICAL_KHR 0x33B9
949
+ #define EGL_DEBUG_MSG_ERROR_KHR 0x33BA
950
+ #define EGL_DEBUG_MSG_WARN_KHR 0x33BB
951
+ #define EGL_DEBUG_MSG_INFO_KHR 0x33BC
952
+ #define EGL_DEBUG_CALLBACK_KHR 0x33B8
953
+ typedef EGLint (EGLAPIENTRYP PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
954
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value);
955
+ typedef EGLint (EGLAPIENTRYP PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
956
+ #ifdef EGL_EGLEXT_PROTOTYPES
957
+ EGLAPI EGLint EGLAPIENTRY eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
958
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDebugKHR (EGLint attribute, EGLAttrib *value);
959
+ EGLAPI EGLint EGLAPIENTRY eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
960
+ #endif
961
+ #endif /* EGL_KHR_debug */
962
+
963
+ #ifndef EGL_KHR_display_reference
964
+ #define EGL_KHR_display_reference 1
965
+ #define EGL_TRACK_REFERENCES_KHR 0x3352
966
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value);
967
+ #ifdef EGL_EGLEXT_PROTOTYPES
968
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value);
969
+ #endif
970
+ #endif /* EGL_KHR_display_reference */
971
+
889
972
  #ifndef EGL_KHR_fence_sync
890
973
  #define EGL_KHR_fence_sync 1
891
974
  typedef khronos_utime_nanoseconds_t EGLTimeKHR;
@@ -948,7 +1031,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sy
948
1031
  #define EGL_KHR_image 1
949
1032
  typedef void *EGLImageKHR;
950
1033
  #define EGL_NATIVE_PIXMAP_KHR 0x30B0
951
- #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0)
1034
+ #define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0)
952
1035
  typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
953
1036
  typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
954
1037
  #ifdef EGL_EGLEXT_PROTOTYPES
@@ -1010,6 +1093,16 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface s
1010
1093
  #endif
1011
1094
  #endif /* EGL_KHR_lock_surface3 */
1012
1095
 
1096
+ #ifndef EGL_KHR_mutable_render_buffer
1097
+ #define EGL_KHR_mutable_render_buffer 1
1098
+ #define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000
1099
+ #endif /* EGL_KHR_mutable_render_buffer */
1100
+
1101
+ #ifndef EGL_KHR_no_config_context
1102
+ #define EGL_KHR_no_config_context 1
1103
+ #define EGL_NO_CONFIG_KHR EGL_CAST(EGLConfig,0)
1104
+ #endif /* EGL_KHR_no_config_context */
1105
+
1013
1106
  #ifndef EGL_KHR_partial_update
1014
1107
  #define EGL_KHR_partial_update 1
1015
1108
  #define EGL_BUFFER_AGE_KHR 0x313D
@@ -1052,7 +1145,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface
1052
1145
  #define EGL_SYNC_REUSABLE_KHR 0x30FA
1053
1146
  #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
1054
1147
  #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
1055
- #define EGL_NO_SYNC_KHR ((EGLSyncKHR)0)
1148
+ #define EGL_NO_SYNC_KHR EGL_CAST(EGLSyncKHR,0)
1056
1149
  typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1057
1150
  #ifdef EGL_EGLEXT_PROTOTYPES
1058
1151
  EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
@@ -1065,7 +1158,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync,
1065
1158
  typedef void *EGLStreamKHR;
1066
1159
  typedef khronos_uint64_t EGLuint64KHR;
1067
1160
  #ifdef KHRONOS_SUPPORT_INT64
1068
- #define EGL_NO_STREAM_KHR ((EGLStreamKHR)0)
1161
+ #define EGL_NO_STREAM_KHR EGL_CAST(EGLStreamKHR,0)
1069
1162
  #define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210
1070
1163
  #define EGL_PRODUCER_FRAME_KHR 0x3212
1071
1164
  #define EGL_CONSUMER_FRAME_KHR 0x3213
@@ -1093,6 +1186,24 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR
1093
1186
  #endif /* KHRONOS_SUPPORT_INT64 */
1094
1187
  #endif /* EGL_KHR_stream */
1095
1188
 
1189
+ #ifndef EGL_KHR_stream_attrib
1190
+ #define EGL_KHR_stream_attrib 1
1191
+ #ifdef KHRONOS_SUPPORT_INT64
1192
+ typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list);
1193
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
1194
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
1195
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1196
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1197
+ #ifdef EGL_EGLEXT_PROTOTYPES
1198
+ EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list);
1199
+ EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
1200
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
1201
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1202
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1203
+ #endif
1204
+ #endif /* KHRONOS_SUPPORT_INT64 */
1205
+ #endif /* EGL_KHR_stream_attrib */
1206
+
1096
1207
  #ifndef EGL_KHR_stream_consumer_gltexture
1097
1208
  #define EGL_KHR_stream_consumer_gltexture 1
1098
1209
  #ifdef EGL_KHR_stream
@@ -1112,7 +1223,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLSt
1112
1223
  #define EGL_KHR_stream_cross_process_fd 1
1113
1224
  typedef int EGLNativeFileDescriptorKHR;
1114
1225
  #ifdef EGL_KHR_stream
1115
- #define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1))
1226
+ #define EGL_NO_FILE_DESCRIPTOR_KHR EGL_CAST(EGLNativeFileDescriptorKHR,-1)
1116
1227
  typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1117
1228
  typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1118
1229
  #ifdef EGL_EGLEXT_PROTOTYPES
@@ -1159,9 +1270,9 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy,
1159
1270
 
1160
1271
  #ifndef EGL_KHR_swap_buffers_with_damage
1161
1272
  #define EGL_KHR_swap_buffers_with_damage 1
1162
- typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1273
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1163
1274
  #ifdef EGL_EGLEXT_PROTOTYPES
1164
- EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1275
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1165
1276
  #endif
1166
1277
  #endif /* EGL_KHR_swap_buffers_with_damage */
1167
1278
 
@@ -1178,6 +1289,10 @@ EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLin
1178
1289
  #endif
1179
1290
  #endif /* EGL_KHR_wait_sync */
1180
1291
 
1292
+ #ifndef EGL_ANDROID_GLES_layers
1293
+ #define EGL_ANDROID_GLES_layers 1
1294
+ #endif /* EGL_ANDROID_GLES_layers */
1295
+
1181
1296
  #ifndef EGL_ANDROID_blob_cache
1182
1297
  #define EGL_ANDROID_blob_cache 1
1183
1298
  typedef khronos_ssize_t EGLsizeiANDROID;
@@ -1189,11 +1304,69 @@ EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobF
1189
1304
  #endif
1190
1305
  #endif /* EGL_ANDROID_blob_cache */
1191
1306
 
1307
+ #ifndef EGL_ANDROID_create_native_client_buffer
1308
+ #define EGL_ANDROID_create_native_client_buffer 1
1309
+ #define EGL_NATIVE_BUFFER_USAGE_ANDROID 0x3143
1310
+ #define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001
1311
+ #define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002
1312
+ #define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004
1313
+ typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list);
1314
+ #ifdef EGL_EGLEXT_PROTOTYPES
1315
+ EGLAPI EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID (const EGLint *attrib_list);
1316
+ #endif
1317
+ #endif /* EGL_ANDROID_create_native_client_buffer */
1318
+
1192
1319
  #ifndef EGL_ANDROID_framebuffer_target
1193
1320
  #define EGL_ANDROID_framebuffer_target 1
1194
1321
  #define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
1195
1322
  #endif /* EGL_ANDROID_framebuffer_target */
1196
1323
 
1324
+ #ifndef EGL_ANDROID_front_buffer_auto_refresh
1325
+ #define EGL_ANDROID_front_buffer_auto_refresh 1
1326
+ #define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C
1327
+ #endif /* EGL_ANDROID_front_buffer_auto_refresh */
1328
+
1329
+ #ifndef EGL_ANDROID_get_frame_timestamps
1330
+ #define EGL_ANDROID_get_frame_timestamps 1
1331
+ typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
1332
+ #define EGL_TIMESTAMP_PENDING_ANDROID EGL_CAST(EGLnsecsANDROID,-2)
1333
+ #define EGL_TIMESTAMP_INVALID_ANDROID EGL_CAST(EGLnsecsANDROID,-1)
1334
+ #define EGL_TIMESTAMPS_ANDROID 0x3430
1335
+ #define EGL_COMPOSITE_DEADLINE_ANDROID 0x3431
1336
+ #define EGL_COMPOSITE_INTERVAL_ANDROID 0x3432
1337
+ #define EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433
1338
+ #define EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434
1339
+ #define EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435
1340
+ #define EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436
1341
+ #define EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437
1342
+ #define EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438
1343
+ #define EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439
1344
+ #define EGL_DISPLAY_PRESENT_TIME_ANDROID 0x343A
1345
+ #define EGL_DEQUEUE_READY_TIME_ANDROID 0x343B
1346
+ #define EGL_READS_DONE_TIME_ANDROID 0x343C
1347
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint name);
1348
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values);
1349
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETNEXTFRAMEIDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
1350
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
1351
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values);
1352
+ #ifdef EGL_EGLEXT_PROTOTYPES
1353
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint name);
1354
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values);
1355
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
1356
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
1357
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values);
1358
+ #endif
1359
+ #endif /* EGL_ANDROID_get_frame_timestamps */
1360
+
1361
+ #ifndef EGL_ANDROID_get_native_client_buffer
1362
+ #define EGL_ANDROID_get_native_client_buffer 1
1363
+ struct AHardwareBuffer;
1364
+ typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) (const struct AHardwareBuffer *buffer);
1365
+ #ifdef EGL_EGLEXT_PROTOTYPES
1366
+ EGLAPI EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer);
1367
+ #endif
1368
+ #endif /* EGL_ANDROID_get_native_client_buffer */
1369
+
1197
1370
  #ifndef EGL_ANDROID_image_native_buffer
1198
1371
  #define EGL_ANDROID_image_native_buffer 1
1199
1372
  #define EGL_NATIVE_BUFFER_ANDROID 0x3140
@@ -1211,6 +1384,14 @@ EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR
1211
1384
  #endif
1212
1385
  #endif /* EGL_ANDROID_native_fence_sync */
1213
1386
 
1387
+ #ifndef EGL_ANDROID_presentation_time
1388
+ #define EGL_ANDROID_presentation_time 1
1389
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
1390
+ #ifdef EGL_EGLEXT_PROTOTYPES
1391
+ EGLAPI EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
1392
+ #endif
1393
+ #endif /* EGL_ANDROID_presentation_time */
1394
+
1214
1395
  #ifndef EGL_ANDROID_recordable
1215
1396
  #define EGL_ANDROID_recordable 1
1216
1397
  #define EGL_RECORDABLE_ANDROID 0x3142
@@ -1239,16 +1420,40 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSu
1239
1420
  #define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
1240
1421
  #endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
1241
1422
 
1423
+ #ifndef EGL_ANGLE_sync_control_rate
1424
+ #define EGL_ANGLE_sync_control_rate 1
1425
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
1426
+ #ifdef EGL_EGLEXT_PROTOTYPES
1427
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
1428
+ #endif
1429
+ #endif /* EGL_ANGLE_sync_control_rate */
1430
+
1242
1431
  #ifndef EGL_ANGLE_window_fixed_size
1243
1432
  #define EGL_ANGLE_window_fixed_size 1
1244
1433
  #define EGL_FIXED_SIZE_ANGLE 0x3201
1245
1434
  #endif /* EGL_ANGLE_window_fixed_size */
1246
1435
 
1436
+ #ifndef EGL_ARM_image_format
1437
+ #define EGL_ARM_image_format 1
1438
+ #define EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287
1439
+ #define EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288
1440
+ #endif /* EGL_ARM_image_format */
1441
+
1442
+ #ifndef EGL_ARM_implicit_external_sync
1443
+ #define EGL_ARM_implicit_external_sync 1
1444
+ #define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
1445
+ #endif /* EGL_ARM_implicit_external_sync */
1446
+
1247
1447
  #ifndef EGL_ARM_pixmap_multisample_discard
1248
1448
  #define EGL_ARM_pixmap_multisample_discard 1
1249
1449
  #define EGL_DISCARD_SAMPLES_ARM 0x3286
1250
1450
  #endif /* EGL_ARM_pixmap_multisample_discard */
1251
1451
 
1452
+ #ifndef EGL_EXT_bind_to_front
1453
+ #define EGL_EXT_bind_to_front 1
1454
+ #define EGL_FRONT_BUFFER_EXT 0x3464
1455
+ #endif /* EGL_EXT_bind_to_front */
1456
+
1252
1457
  #ifndef EGL_EXT_buffer_age
1253
1458
  #define EGL_EXT_buffer_age 1
1254
1459
  #define EGL_BUFFER_AGE_EXT 0x313D
@@ -1258,6 +1463,45 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSu
1258
1463
  #define EGL_EXT_client_extensions 1
1259
1464
  #endif /* EGL_EXT_client_extensions */
1260
1465
 
1466
+ #ifndef EGL_EXT_client_sync
1467
+ #define EGL_EXT_client_sync 1
1468
+ #define EGL_SYNC_CLIENT_EXT 0x3364
1469
+ #define EGL_SYNC_CLIENT_SIGNAL_EXT 0x3365
1470
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCLIENTSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1471
+ #ifdef EGL_EGLEXT_PROTOTYPES
1472
+ EGLAPI EGLBoolean EGLAPIENTRY eglClientSignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1473
+ #endif
1474
+ #endif /* EGL_EXT_client_sync */
1475
+
1476
+ #ifndef EGL_EXT_compositor
1477
+ #define EGL_EXT_compositor 1
1478
+ #define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT 0x3460
1479
+ #define EGL_EXTERNAL_REF_ID_EXT 0x3461
1480
+ #define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT 0x3462
1481
+ #define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT 0x3463
1482
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries);
1483
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
1484
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
1485
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
1486
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id);
1487
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height);
1488
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy);
1489
+ #ifdef EGL_EGLEXT_PROTOTYPES
1490
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries);
1491
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
1492
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
1493
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
1494
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorBindTexWindowEXT (EGLint external_win_id);
1495
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height);
1496
+ EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy);
1497
+ #endif
1498
+ #endif /* EGL_EXT_compositor */
1499
+
1500
+ #ifndef EGL_EXT_config_select_group
1501
+ #define EGL_EXT_config_select_group 1
1502
+ #define EGL_CONFIG_SELECT_GROUP_EXT 0x34C0
1503
+ #endif /* EGL_EXT_config_select_group */
1504
+
1261
1505
  #ifndef EGL_EXT_create_context_robustness
1262
1506
  #define EGL_EXT_create_context_robustness 1
1263
1507
  #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
@@ -1269,7 +1513,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSu
1269
1513
  #ifndef EGL_EXT_device_base
1270
1514
  #define EGL_EXT_device_base 1
1271
1515
  typedef void *EGLDeviceEXT;
1272
- #define EGL_NO_DEVICE_EXT ((EGLDeviceEXT)(0))
1516
+ #define EGL_NO_DEVICE_EXT EGL_CAST(EGLDeviceEXT,0)
1273
1517
  #define EGL_BAD_DEVICE_EXT 0x322B
1274
1518
  #define EGL_DEVICE_EXT 0x322C
1275
1519
  typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
@@ -1287,8 +1531,14 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint a
1287
1531
  #ifndef EGL_EXT_device_drm
1288
1532
  #define EGL_EXT_device_drm 1
1289
1533
  #define EGL_DRM_DEVICE_FILE_EXT 0x3233
1534
+ #define EGL_DRM_MASTER_FD_EXT 0x333C
1290
1535
  #endif /* EGL_EXT_device_drm */
1291
1536
 
1537
+ #ifndef EGL_EXT_device_drm_render_node
1538
+ #define EGL_EXT_device_drm_render_node 1
1539
+ #define EGL_DRM_RENDER_NODE_FILE_EXT 0x3377
1540
+ #endif /* EGL_EXT_device_drm_render_node */
1541
+
1292
1542
  #ifndef EGL_EXT_device_enumeration
1293
1543
  #define EGL_EXT_device_enumeration 1
1294
1544
  #endif /* EGL_EXT_device_enumeration */
@@ -1296,12 +1546,64 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint a
1296
1546
  #ifndef EGL_EXT_device_openwf
1297
1547
  #define EGL_EXT_device_openwf 1
1298
1548
  #define EGL_OPENWF_DEVICE_ID_EXT 0x3237
1549
+ #define EGL_OPENWF_DEVICE_EXT 0x333D
1299
1550
  #endif /* EGL_EXT_device_openwf */
1300
1551
 
1552
+ #ifndef EGL_EXT_device_persistent_id
1553
+ #define EGL_EXT_device_persistent_id 1
1554
+ #define EGL_DEVICE_UUID_EXT 0x335C
1555
+ #define EGL_DRIVER_UUID_EXT 0x335D
1556
+ #define EGL_DRIVER_NAME_EXT 0x335E
1557
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEBINARYEXTPROC) (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
1558
+ #ifdef EGL_EGLEXT_PROTOTYPES
1559
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
1560
+ #endif
1561
+ #endif /* EGL_EXT_device_persistent_id */
1562
+
1301
1563
  #ifndef EGL_EXT_device_query
1302
1564
  #define EGL_EXT_device_query 1
1303
1565
  #endif /* EGL_EXT_device_query */
1304
1566
 
1567
+ #ifndef EGL_EXT_device_query_name
1568
+ #define EGL_EXT_device_query_name 1
1569
+ #define EGL_RENDERER_EXT 0x335F
1570
+ #endif /* EGL_EXT_device_query_name */
1571
+
1572
+ #ifndef EGL_EXT_gl_colorspace_bt2020_linear
1573
+ #define EGL_EXT_gl_colorspace_bt2020_linear 1
1574
+ #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
1575
+ #endif /* EGL_EXT_gl_colorspace_bt2020_linear */
1576
+
1577
+ #ifndef EGL_EXT_gl_colorspace_bt2020_pq
1578
+ #define EGL_EXT_gl_colorspace_bt2020_pq 1
1579
+ #define EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340
1580
+ #endif /* EGL_EXT_gl_colorspace_bt2020_pq */
1581
+
1582
+ #ifndef EGL_EXT_gl_colorspace_display_p3
1583
+ #define EGL_EXT_gl_colorspace_display_p3 1
1584
+ #define EGL_GL_COLORSPACE_DISPLAY_P3_EXT 0x3363
1585
+ #endif /* EGL_EXT_gl_colorspace_display_p3 */
1586
+
1587
+ #ifndef EGL_EXT_gl_colorspace_display_p3_linear
1588
+ #define EGL_EXT_gl_colorspace_display_p3_linear 1
1589
+ #define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
1590
+ #endif /* EGL_EXT_gl_colorspace_display_p3_linear */
1591
+
1592
+ #ifndef EGL_EXT_gl_colorspace_display_p3_passthrough
1593
+ #define EGL_EXT_gl_colorspace_display_p3_passthrough 1
1594
+ #define EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT 0x3490
1595
+ #endif /* EGL_EXT_gl_colorspace_display_p3_passthrough */
1596
+
1597
+ #ifndef EGL_EXT_gl_colorspace_scrgb
1598
+ #define EGL_EXT_gl_colorspace_scrgb 1
1599
+ #define EGL_GL_COLORSPACE_SCRGB_EXT 0x3351
1600
+ #endif /* EGL_EXT_gl_colorspace_scrgb */
1601
+
1602
+ #ifndef EGL_EXT_gl_colorspace_scrgb_linear
1603
+ #define EGL_EXT_gl_colorspace_scrgb_linear 1
1604
+ #define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350
1605
+ #endif /* EGL_EXT_gl_colorspace_scrgb_linear */
1606
+
1305
1607
  #ifndef EGL_EXT_image_dma_buf_import
1306
1608
  #define EGL_EXT_image_dma_buf_import 1
1307
1609
  #define EGL_LINUX_DMA_BUF_EXT 0x3270
@@ -1328,6 +1630,39 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint a
1328
1630
  #define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
1329
1631
  #endif /* EGL_EXT_image_dma_buf_import */
1330
1632
 
1633
+ #ifndef EGL_EXT_image_dma_buf_import_modifiers
1634
+ #define EGL_EXT_image_dma_buf_import_modifiers 1
1635
+ #define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
1636
+ #define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
1637
+ #define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
1638
+ #define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
1639
+ #define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
1640
+ #define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
1641
+ #define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
1642
+ #define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
1643
+ #define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
1644
+ #define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
1645
+ #define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
1646
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
1647
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
1648
+ #ifdef EGL_EGLEXT_PROTOTYPES
1649
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
1650
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
1651
+ #endif
1652
+ #endif /* EGL_EXT_image_dma_buf_import_modifiers */
1653
+
1654
+ #ifndef EGL_EXT_image_gl_colorspace
1655
+ #define EGL_EXT_image_gl_colorspace 1
1656
+ #define EGL_GL_COLORSPACE_DEFAULT_EXT 0x314D
1657
+ #endif /* EGL_EXT_image_gl_colorspace */
1658
+
1659
+ #ifndef EGL_EXT_image_implicit_sync_control
1660
+ #define EGL_EXT_image_implicit_sync_control 1
1661
+ #define EGL_IMPORT_SYNC_TYPE_EXT 0x3470
1662
+ #define EGL_IMPORT_IMPLICIT_SYNC_EXT 0x3471
1663
+ #define EGL_IMPORT_EXPLICIT_SYNC_EXT 0x3472
1664
+ #endif /* EGL_EXT_image_implicit_sync_control */
1665
+
1331
1666
  #ifndef EGL_EXT_multiview_window
1332
1667
  #define EGL_EXT_multiview_window 1
1333
1668
  #define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
@@ -1337,8 +1672,8 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint a
1337
1672
  #define EGL_EXT_output_base 1
1338
1673
  typedef void *EGLOutputLayerEXT;
1339
1674
  typedef void *EGLOutputPortEXT;
1340
- #define EGL_NO_OUTPUT_LAYER_EXT ((EGLOutputLayerEXT)0)
1341
- #define EGL_NO_OUTPUT_PORT_EXT ((EGLOutputPortEXT)0)
1675
+ #define EGL_NO_OUTPUT_LAYER_EXT EGL_CAST(EGLOutputLayerEXT,0)
1676
+ #define EGL_NO_OUTPUT_PORT_EXT EGL_CAST(EGLOutputPortEXT,0)
1342
1677
  #define EGL_BAD_OUTPUT_LAYER_EXT 0x322D
1343
1678
  #define EGL_BAD_OUTPUT_PORT_EXT 0x322E
1344
1679
  #define EGL_SWAP_INTERVAL_EXT 0x322F
@@ -1375,6 +1710,13 @@ EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLO
1375
1710
  #define EGL_OPENWF_PORT_ID_EXT 0x3239
1376
1711
  #endif /* EGL_EXT_output_openwf */
1377
1712
 
1713
+ #ifndef EGL_EXT_pixel_format_float
1714
+ #define EGL_EXT_pixel_format_float 1
1715
+ #define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339
1716
+ #define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
1717
+ #define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
1718
+ #endif /* EGL_EXT_pixel_format_float */
1719
+
1378
1720
  #ifndef EGL_EXT_platform_base
1379
1721
  #define EGL_EXT_platform_base 1
1380
1722
  typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
@@ -1403,9 +1745,24 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy,
1403
1745
  #define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
1404
1746
  #endif /* EGL_EXT_platform_x11 */
1405
1747
 
1748
+ #ifndef EGL_EXT_platform_xcb
1749
+ #define EGL_EXT_platform_xcb 1
1750
+ #define EGL_PLATFORM_XCB_EXT 0x31DC
1751
+ #define EGL_PLATFORM_XCB_SCREEN_EXT 0x31DE
1752
+ #endif /* EGL_EXT_platform_xcb */
1753
+
1754
+ #ifndef EGL_EXT_present_opaque
1755
+ #define EGL_EXT_present_opaque 1
1756
+ #define EGL_PRESENT_OPAQUE_EXT 0x31DF
1757
+ #endif /* EGL_EXT_present_opaque */
1758
+
1759
+ #ifndef EGL_EXT_protected_content
1760
+ #define EGL_EXT_protected_content 1
1761
+ #define EGL_PROTECTED_CONTENT_EXT 0x32C0
1762
+ #endif /* EGL_EXT_protected_content */
1763
+
1406
1764
  #ifndef EGL_EXT_protected_surface
1407
1765
  #define EGL_EXT_protected_surface 1
1408
- #define EGL_PROTECTED_CONTENT_EXT 0x32C0
1409
1766
  #endif /* EGL_EXT_protected_surface */
1410
1767
 
1411
1768
  #ifndef EGL_EXT_stream_consumer_egloutput
@@ -1416,14 +1773,43 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStr
1416
1773
  #endif
1417
1774
  #endif /* EGL_EXT_stream_consumer_egloutput */
1418
1775
 
1776
+ #ifndef EGL_EXT_surface_CTA861_3_metadata
1777
+ #define EGL_EXT_surface_CTA861_3_metadata 1
1778
+ #define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT 0x3360
1779
+ #define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361
1780
+ #endif /* EGL_EXT_surface_CTA861_3_metadata */
1781
+
1782
+ #ifndef EGL_EXT_surface_SMPTE2086_metadata
1783
+ #define EGL_EXT_surface_SMPTE2086_metadata 1
1784
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341
1785
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342
1786
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343
1787
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344
1788
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345
1789
+ #define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346
1790
+ #define EGL_SMPTE2086_WHITE_POINT_X_EXT 0x3347
1791
+ #define EGL_SMPTE2086_WHITE_POINT_Y_EXT 0x3348
1792
+ #define EGL_SMPTE2086_MAX_LUMINANCE_EXT 0x3349
1793
+ #define EGL_SMPTE2086_MIN_LUMINANCE_EXT 0x334A
1794
+ #define EGL_METADATA_SCALING_EXT 50000
1795
+ #endif /* EGL_EXT_surface_SMPTE2086_metadata */
1796
+
1419
1797
  #ifndef EGL_EXT_swap_buffers_with_damage
1420
1798
  #define EGL_EXT_swap_buffers_with_damage 1
1421
- typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1799
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1422
1800
  #ifdef EGL_EGLEXT_PROTOTYPES
1423
- EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1801
+ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1424
1802
  #endif
1425
1803
  #endif /* EGL_EXT_swap_buffers_with_damage */
1426
1804
 
1805
+ #ifndef EGL_EXT_sync_reuse
1806
+ #define EGL_EXT_sync_reuse 1
1807
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1808
+ #ifdef EGL_EGLEXT_PROTOTYPES
1809
+ EGLAPI EGLBoolean EGLAPIENTRY eglUnsignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1810
+ #endif
1811
+ #endif /* EGL_EXT_sync_reuse */
1812
+
1427
1813
  #ifndef EGL_EXT_yuv_surface
1428
1814
  #define EGL_EXT_yuv_surface 1
1429
1815
  #define EGL_YUV_ORDER_EXT 0x3301
@@ -1484,6 +1870,12 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfi
1484
1870
  #define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
1485
1871
  #endif /* EGL_IMG_context_priority */
1486
1872
 
1873
+ #ifndef EGL_IMG_image_plane_attribs
1874
+ #define EGL_IMG_image_plane_attribs 1
1875
+ #define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105
1876
+ #define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106
1877
+ #endif /* EGL_IMG_image_plane_attribs */
1878
+
1487
1879
  #ifndef EGL_MESA_drm_image
1488
1880
  #define EGL_MESA_drm_image 1
1489
1881
  #define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
@@ -1493,6 +1885,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfi
1493
1885
  #define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
1494
1886
  #define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001
1495
1887
  #define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002
1888
+ #define EGL_DRM_BUFFER_USE_CURSOR_MESA 0x00000004
1496
1889
  typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1497
1890
  typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1498
1891
  #ifdef EGL_EGLEXT_PROTOTYPES
@@ -1516,6 +1909,21 @@ EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImage
1516
1909
  #define EGL_PLATFORM_GBM_MESA 0x31D7
1517
1910
  #endif /* EGL_MESA_platform_gbm */
1518
1911
 
1912
+ #ifndef EGL_MESA_platform_surfaceless
1913
+ #define EGL_MESA_platform_surfaceless 1
1914
+ #define EGL_PLATFORM_SURFACELESS_MESA 0x31DD
1915
+ #endif /* EGL_MESA_platform_surfaceless */
1916
+
1917
+ #ifndef EGL_MESA_query_driver
1918
+ #define EGL_MESA_query_driver 1
1919
+ typedef char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERCONFIGPROC) (EGLDisplay dpy);
1920
+ typedef const char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERNAMEPROC) (EGLDisplay dpy);
1921
+ #ifdef EGL_EGLEXT_PROTOTYPES
1922
+ EGLAPI char *EGLAPIENTRY eglGetDisplayDriverConfig (EGLDisplay dpy);
1923
+ EGLAPI const char *EGLAPIENTRY eglGetDisplayDriverName (EGLDisplay dpy);
1924
+ #endif
1925
+ #endif /* EGL_MESA_query_driver */
1926
+
1519
1927
  #ifndef EGL_NOK_swap_region
1520
1928
  #define EGL_NOK_swap_region 1
1521
1929
  typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
@@ -1542,6 +1950,11 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurfa
1542
1950
  #define EGL_AUTO_STEREO_NV 0x3136
1543
1951
  #endif /* EGL_NV_3dvision_surface */
1544
1952
 
1953
+ #ifndef EGL_NV_context_priority_realtime
1954
+ #define EGL_NV_context_priority_realtime 1
1955
+ #define EGL_CONTEXT_PRIORITY_REALTIME_NV 0x3357
1956
+ #endif /* EGL_NV_context_priority_realtime */
1957
+
1545
1958
  #ifndef EGL_NV_coverage_sample
1546
1959
  #define EGL_NV_coverage_sample 1
1547
1960
  #define EGL_COVERAGE_BUFFERS_NV 0x30E0
@@ -1599,6 +2012,181 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface sur
1599
2012
  #endif
1600
2013
  #endif /* EGL_NV_post_sub_buffer */
1601
2014
 
2015
+ #ifndef EGL_NV_quadruple_buffer
2016
+ #define EGL_NV_quadruple_buffer 1
2017
+ #define EGL_QUADRUPLE_BUFFER_NV 0x3231
2018
+ #endif /* EGL_NV_quadruple_buffer */
2019
+
2020
+ #ifndef EGL_NV_robustness_video_memory_purge
2021
+ #define EGL_NV_robustness_video_memory_purge 1
2022
+ #define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C
2023
+ #endif /* EGL_NV_robustness_video_memory_purge */
2024
+
2025
+ #ifndef EGL_NV_stream_consumer_eglimage
2026
+ #define EGL_NV_stream_consumer_eglimage 1
2027
+ #define EGL_STREAM_CONSUMER_IMAGE_NV 0x3373
2028
+ #define EGL_STREAM_IMAGE_ADD_NV 0x3374
2029
+ #define EGL_STREAM_IMAGE_REMOVE_NV 0x3375
2030
+ #define EGL_STREAM_IMAGE_AVAILABLE_NV 0x3376
2031
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list);
2032
+ typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
2033
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
2034
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
2035
+ #ifdef EGL_EGLEXT_PROTOTYPES
2036
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list);
2037
+ EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
2038
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
2039
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
2040
+ #endif
2041
+ #endif /* EGL_NV_stream_consumer_eglimage */
2042
+
2043
+ #ifndef EGL_NV_stream_consumer_gltexture_yuv
2044
+ #define EGL_NV_stream_consumer_gltexture_yuv 1
2045
+ #define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C
2046
+ #define EGL_YUV_PLANE1_TEXTURE_UNIT_NV 0x332D
2047
+ #define EGL_YUV_PLANE2_TEXTURE_UNIT_NV 0x332E
2048
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
2049
+ #ifdef EGL_EGLEXT_PROTOTYPES
2050
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
2051
+ #endif
2052
+ #endif /* EGL_NV_stream_consumer_gltexture_yuv */
2053
+
2054
+ #ifndef EGL_NV_stream_cross_display
2055
+ #define EGL_NV_stream_cross_display 1
2056
+ #define EGL_STREAM_CROSS_DISPLAY_NV 0x334E
2057
+ #endif /* EGL_NV_stream_cross_display */
2058
+
2059
+ #ifndef EGL_NV_stream_cross_object
2060
+ #define EGL_NV_stream_cross_object 1
2061
+ #define EGL_STREAM_CROSS_OBJECT_NV 0x334D
2062
+ #endif /* EGL_NV_stream_cross_object */
2063
+
2064
+ #ifndef EGL_NV_stream_cross_partition
2065
+ #define EGL_NV_stream_cross_partition 1
2066
+ #define EGL_STREAM_CROSS_PARTITION_NV 0x323F
2067
+ #endif /* EGL_NV_stream_cross_partition */
2068
+
2069
+ #ifndef EGL_NV_stream_cross_process
2070
+ #define EGL_NV_stream_cross_process 1
2071
+ #define EGL_STREAM_CROSS_PROCESS_NV 0x3245
2072
+ #endif /* EGL_NV_stream_cross_process */
2073
+
2074
+ #ifndef EGL_NV_stream_cross_system
2075
+ #define EGL_NV_stream_cross_system 1
2076
+ #define EGL_STREAM_CROSS_SYSTEM_NV 0x334F
2077
+ #endif /* EGL_NV_stream_cross_system */
2078
+
2079
+ #ifndef EGL_NV_stream_dma
2080
+ #define EGL_NV_stream_dma 1
2081
+ #define EGL_STREAM_DMA_NV 0x3371
2082
+ #define EGL_STREAM_DMA_SERVER_NV 0x3372
2083
+ #endif /* EGL_NV_stream_dma */
2084
+
2085
+ #ifndef EGL_NV_stream_fifo_next
2086
+ #define EGL_NV_stream_fifo_next 1
2087
+ #define EGL_PENDING_FRAME_NV 0x3329
2088
+ #define EGL_STREAM_TIME_PENDING_NV 0x332A
2089
+ #endif /* EGL_NV_stream_fifo_next */
2090
+
2091
+ #ifndef EGL_NV_stream_fifo_synchronous
2092
+ #define EGL_NV_stream_fifo_synchronous 1
2093
+ #define EGL_STREAM_FIFO_SYNCHRONOUS_NV 0x3336
2094
+ #endif /* EGL_NV_stream_fifo_synchronous */
2095
+
2096
+ #ifndef EGL_NV_stream_flush
2097
+ #define EGL_NV_stream_flush 1
2098
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMFLUSHNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
2099
+ #ifdef EGL_EGLEXT_PROTOTYPES
2100
+ EGLAPI EGLBoolean EGLAPIENTRY eglStreamFlushNV (EGLDisplay dpy, EGLStreamKHR stream);
2101
+ #endif
2102
+ #endif /* EGL_NV_stream_flush */
2103
+
2104
+ #ifndef EGL_NV_stream_frame_limits
2105
+ #define EGL_NV_stream_frame_limits 1
2106
+ #define EGL_PRODUCER_MAX_FRAME_HINT_NV 0x3337
2107
+ #define EGL_CONSUMER_MAX_FRAME_HINT_NV 0x3338
2108
+ #endif /* EGL_NV_stream_frame_limits */
2109
+
2110
+ #ifndef EGL_NV_stream_metadata
2111
+ #define EGL_NV_stream_metadata 1
2112
+ #define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250
2113
+ #define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251
2114
+ #define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252
2115
+ #define EGL_PRODUCER_METADATA_NV 0x3253
2116
+ #define EGL_CONSUMER_METADATA_NV 0x3254
2117
+ #define EGL_PENDING_METADATA_NV 0x3328
2118
+ #define EGL_METADATA0_SIZE_NV 0x3255
2119
+ #define EGL_METADATA1_SIZE_NV 0x3256
2120
+ #define EGL_METADATA2_SIZE_NV 0x3257
2121
+ #define EGL_METADATA3_SIZE_NV 0x3258
2122
+ #define EGL_METADATA0_TYPE_NV 0x3259
2123
+ #define EGL_METADATA1_TYPE_NV 0x325A
2124
+ #define EGL_METADATA2_TYPE_NV 0x325B
2125
+ #define EGL_METADATA3_TYPE_NV 0x325C
2126
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
2127
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
2128
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
2129
+ #ifdef EGL_EGLEXT_PROTOTYPES
2130
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
2131
+ EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
2132
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
2133
+ #endif
2134
+ #endif /* EGL_NV_stream_metadata */
2135
+
2136
+ #ifndef EGL_NV_stream_origin
2137
+ #define EGL_NV_stream_origin 1
2138
+ #define EGL_STREAM_FRAME_ORIGIN_X_NV 0x3366
2139
+ #define EGL_STREAM_FRAME_ORIGIN_Y_NV 0x3367
2140
+ #define EGL_STREAM_FRAME_MAJOR_AXIS_NV 0x3368
2141
+ #define EGL_CONSUMER_AUTO_ORIENTATION_NV 0x3369
2142
+ #define EGL_PRODUCER_AUTO_ORIENTATION_NV 0x336A
2143
+ #define EGL_LEFT_NV 0x336B
2144
+ #define EGL_RIGHT_NV 0x336C
2145
+ #define EGL_TOP_NV 0x336D
2146
+ #define EGL_BOTTOM_NV 0x336E
2147
+ #define EGL_X_AXIS_NV 0x336F
2148
+ #define EGL_Y_AXIS_NV 0x3370
2149
+ #endif /* EGL_NV_stream_origin */
2150
+
2151
+ #ifndef EGL_NV_stream_remote
2152
+ #define EGL_NV_stream_remote 1
2153
+ #define EGL_STREAM_STATE_INITIALIZING_NV 0x3240
2154
+ #define EGL_STREAM_TYPE_NV 0x3241
2155
+ #define EGL_STREAM_PROTOCOL_NV 0x3242
2156
+ #define EGL_STREAM_ENDPOINT_NV 0x3243
2157
+ #define EGL_STREAM_LOCAL_NV 0x3244
2158
+ #define EGL_STREAM_PRODUCER_NV 0x3247
2159
+ #define EGL_STREAM_CONSUMER_NV 0x3248
2160
+ #define EGL_STREAM_PROTOCOL_FD_NV 0x3246
2161
+ #endif /* EGL_NV_stream_remote */
2162
+
2163
+ #ifndef EGL_NV_stream_reset
2164
+ #define EGL_NV_stream_reset 1
2165
+ #define EGL_SUPPORT_RESET_NV 0x3334
2166
+ #define EGL_SUPPORT_REUSE_NV 0x3335
2167
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
2168
+ #ifdef EGL_EGLEXT_PROTOTYPES
2169
+ EGLAPI EGLBoolean EGLAPIENTRY eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream);
2170
+ #endif
2171
+ #endif /* EGL_NV_stream_reset */
2172
+
2173
+ #ifndef EGL_NV_stream_socket
2174
+ #define EGL_NV_stream_socket 1
2175
+ #define EGL_STREAM_PROTOCOL_SOCKET_NV 0x324B
2176
+ #define EGL_SOCKET_HANDLE_NV 0x324C
2177
+ #define EGL_SOCKET_TYPE_NV 0x324D
2178
+ #endif /* EGL_NV_stream_socket */
2179
+
2180
+ #ifndef EGL_NV_stream_socket_inet
2181
+ #define EGL_NV_stream_socket_inet 1
2182
+ #define EGL_SOCKET_TYPE_INET_NV 0x324F
2183
+ #endif /* EGL_NV_stream_socket_inet */
2184
+
2185
+ #ifndef EGL_NV_stream_socket_unix
2186
+ #define EGL_NV_stream_socket_unix 1
2187
+ #define EGL_SOCKET_TYPE_UNIX_NV 0x324E
2188
+ #endif /* EGL_NV_stream_socket_unix */
2189
+
1602
2190
  #ifndef EGL_NV_stream_sync
1603
2191
  #define EGL_NV_stream_sync 1
1604
2192
  #define EGL_SYNC_NEW_FRAME_NV 0x321F
@@ -1625,7 +2213,7 @@ typedef khronos_utime_nanoseconds_t EGLTimeNV;
1625
2213
  #define EGL_SYNC_TYPE_NV 0x30ED
1626
2214
  #define EGL_SYNC_CONDITION_NV 0x30EE
1627
2215
  #define EGL_SYNC_FENCE_NV 0x30EF
1628
- #define EGL_NO_SYNC_NV ((EGLSyncNV)0)
2216
+ #define EGL_NO_SYNC_NV EGL_CAST(EGLSyncNV,0)
1629
2217
  typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1630
2218
  typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
1631
2219
  typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
@@ -1656,6 +2244,11 @@ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
1656
2244
  #endif /* KHRONOS_SUPPORT_INT64 */
1657
2245
  #endif /* EGL_NV_system_time */
1658
2246
 
2247
+ #ifndef EGL_NV_triple_buffer
2248
+ #define EGL_NV_triple_buffer 1
2249
+ #define EGL_TRIPLE_BUFFER_NV 0x3230
2250
+ #endif /* EGL_NV_triple_buffer */
2251
+
1659
2252
  #ifndef EGL_TIZEN_image_native_buffer
1660
2253
  #define EGL_TIZEN_image_native_buffer 1
1661
2254
  #define EGL_NATIVE_BUFFER_TIZEN 0x32A0
@@ -1666,11 +2259,44 @@ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
1666
2259
  #define EGL_NATIVE_SURFACE_TIZEN 0x32A1
1667
2260
  #endif /* EGL_TIZEN_image_native_surface */
1668
2261
 
2262
+ #ifndef EGL_WL_bind_wayland_display
2263
+ #define EGL_WL_bind_wayland_display 1
2264
+ #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC
2265
+ #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC
2266
+ #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC
2267
+ struct wl_display;
2268
+ struct wl_resource;
2269
+ #define EGL_WAYLAND_BUFFER_WL 0x31D5
2270
+ #define EGL_WAYLAND_PLANE_WL 0x31D6
2271
+ #define EGL_TEXTURE_Y_U_V_WL 0x31D7
2272
+ #define EGL_TEXTURE_Y_UV_WL 0x31D8
2273
+ #define EGL_TEXTURE_Y_XUXV_WL 0x31D9
2274
+ #define EGL_TEXTURE_EXTERNAL_WL 0x31DA
2275
+ #define EGL_WAYLAND_Y_INVERTED_WL 0x31DB
2276
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
2277
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
2278
+ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
2279
+ #ifdef EGL_EGLEXT_PROTOTYPES
2280
+ EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
2281
+ EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
2282
+ EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
2283
+ #endif
2284
+ #endif /* EGL_WL_bind_wayland_display */
2285
+
2286
+ #ifndef EGL_WL_create_wayland_buffer_from_image
2287
+ #define EGL_WL_create_wayland_buffer_from_image 1
2288
+ #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC
2289
+ struct wl_buffer;
2290
+ typedef struct wl_buffer *(EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC) (EGLDisplay dpy, EGLImageKHR image);
2291
+ #ifdef EGL_EGLEXT_PROTOTYPES
2292
+ EGLAPI struct wl_buffer *EGLAPIENTRY eglCreateWaylandBufferFromImageWL (EGLDisplay dpy, EGLImageKHR image);
2293
+ #endif
2294
+ #endif /* EGL_WL_create_wayland_buffer_from_image */
2295
+
1669
2296
  #ifdef __cplusplus
1670
2297
  }
1671
2298
  #endif
1672
2299
 
1673
2300
  #endif /* __eglext_h_ */
1674
2301
 
1675
-
1676
2302
  #endif /* _MSC_VER */