gosu 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/dependencies/SDL/include/SDL.h +108 -14
  3. data/dependencies/SDL/include/SDL_assert.h +81 -50
  4. data/dependencies/SDL/include/SDL_atomic.h +135 -35
  5. data/dependencies/SDL/include/SDL_audio.h +960 -355
  6. data/dependencies/SDL/include/SDL_bits.h +11 -6
  7. data/dependencies/SDL/include/SDL_blendmode.h +91 -14
  8. data/dependencies/SDL/include/SDL_clipboard.h +30 -7
  9. data/dependencies/SDL/include/SDL_config.h +277 -27
  10. data/dependencies/SDL/include/SDL_config_android.h +13 -38
  11. data/dependencies/SDL/include/SDL_config_iphoneos.h +21 -62
  12. data/dependencies/SDL/include/SDL_config_macosx.h +23 -92
  13. data/dependencies/SDL/include/SDL_config_minimal.h +1 -4
  14. data/dependencies/SDL/include/SDL_config_pandora.h +15 -22
  15. data/dependencies/SDL/include/SDL_config_psp.h +16 -37
  16. data/dependencies/SDL/include/SDL_config_windows.h +28 -91
  17. data/dependencies/SDL/include/SDL_config_winrt.h +33 -61
  18. data/dependencies/SDL/include/SDL_config_wiz.h +28 -56
  19. data/dependencies/SDL/include/SDL_copying.h +1 -1
  20. data/dependencies/SDL/include/SDL_cpuinfo.h +331 -71
  21. data/dependencies/SDL/include/SDL_egl.h +906 -280
  22. data/dependencies/SDL/include/SDL_endian.h +101 -47
  23. data/dependencies/SDL/include/SDL_error.h +70 -19
  24. data/dependencies/SDL/include/SDL_events.h +387 -79
  25. data/dependencies/SDL/include/SDL_filesystem.h +73 -64
  26. data/dependencies/SDL/include/SDL_gamecontroller.h +585 -125
  27. data/dependencies/SDL/include/SDL_gesture.h +36 -6
  28. data/dependencies/SDL/include/SDL_haptic.h +304 -210
  29. data/dependencies/SDL/include/SDL_hidapi.h +451 -0
  30. data/dependencies/SDL/include/SDL_hints.h +1286 -897
  31. data/dependencies/SDL/include/SDL_joystick.h +577 -130
  32. data/dependencies/SDL/include/SDL_keyboard.h +162 -63
  33. data/dependencies/SDL/include/SDL_keycode.h +7 -5
  34. data/dependencies/SDL/include/SDL_loadso.h +42 -8
  35. data/dependencies/SDL/include/SDL_locale.h +34 -32
  36. data/dependencies/SDL/include/SDL_log.h +212 -19
  37. data/dependencies/SDL/include/SDL_main.h +72 -17
  38. data/dependencies/SDL/include/SDL_messagebox.h +70 -23
  39. data/dependencies/SDL/include/SDL_metal.h +27 -32
  40. data/dependencies/SDL/include/SDL_misc.h +19 -15
  41. data/dependencies/SDL/include/SDL_mouse.h +262 -110
  42. data/dependencies/SDL/include/SDL_mutex.h +286 -66
  43. data/dependencies/SDL/include/SDL_name.h +1 -1
  44. data/dependencies/SDL/include/SDL_opengl.h +1 -1
  45. data/dependencies/SDL/include/SDL_opengles.h +1 -1
  46. data/dependencies/SDL/include/SDL_opengles2.h +2 -2
  47. data/dependencies/SDL/include/SDL_pixels.h +199 -34
  48. data/dependencies/SDL/include/SDL_platform.h +39 -2
  49. data/dependencies/SDL/include/SDL_power.h +23 -10
  50. data/dependencies/SDL/include/SDL_quit.h +1 -1
  51. data/dependencies/SDL/include/SDL_rect.h +78 -28
  52. data/dependencies/SDL/include/SDL_render.h +1204 -472
  53. data/dependencies/SDL/include/SDL_revision.h +2 -2
  54. data/dependencies/SDL/include/SDL_rwops.h +605 -33
  55. data/dependencies/SDL/include/SDL_scancode.h +1 -1
  56. data/dependencies/SDL/include/SDL_sensor.h +76 -42
  57. data/dependencies/SDL/include/SDL_shape.h +38 -27
  58. data/dependencies/SDL/include/SDL_stdinc.h +96 -24
  59. data/dependencies/SDL/include/SDL_surface.h +571 -139
  60. data/dependencies/SDL/include/SDL_system.h +339 -101
  61. data/dependencies/SDL/include/SDL_syswm.h +50 -20
  62. data/dependencies/SDL/include/SDL_test.h +1 -1
  63. data/dependencies/SDL/include/SDL_test_assert.h +2 -2
  64. data/dependencies/SDL/include/SDL_test_common.h +23 -6
  65. data/dependencies/SDL/include/SDL_test_compare.h +1 -1
  66. data/dependencies/SDL/include/SDL_test_crc32.h +1 -1
  67. data/dependencies/SDL/include/SDL_test_font.h +3 -3
  68. data/dependencies/SDL/include/SDL_test_fuzzer.h +28 -26
  69. data/dependencies/SDL/include/SDL_test_harness.h +6 -6
  70. data/dependencies/SDL/include/SDL_test_images.h +1 -1
  71. data/dependencies/SDL/include/SDL_test_log.h +1 -1
  72. data/dependencies/SDL/include/SDL_test_md5.h +1 -1
  73. data/dependencies/SDL/include/SDL_test_memory.h +1 -1
  74. data/dependencies/SDL/include/SDL_test_random.h +2 -2
  75. data/dependencies/SDL/include/SDL_thread.h +226 -128
  76. data/dependencies/SDL/include/SDL_timer.h +129 -22
  77. data/dependencies/SDL/include/SDL_touch.h +48 -8
  78. data/dependencies/SDL/include/SDL_types.h +1 -1
  79. data/dependencies/SDL/include/SDL_version.h +72 -46
  80. data/dependencies/SDL/include/SDL_video.h +1266 -460
  81. data/dependencies/SDL/include/SDL_vulkan.h +100 -161
  82. data/dependencies/SDL/include/begin_code.h +22 -1
  83. data/dependencies/SDL/include/close_code.h +1 -1
  84. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  85. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  86. data/dependencies/SDL_sound/SDL_sound.c +83 -7
  87. data/dependencies/SDL_sound/SDL_sound.h +4 -4
  88. data/dependencies/SDL_sound/SDL_sound_aiff.c +9 -12
  89. data/dependencies/SDL_sound/SDL_sound_au.c +7 -7
  90. data/dependencies/SDL_sound/SDL_sound_coreaudio.c +3 -3
  91. data/dependencies/SDL_sound/SDL_sound_flac.c +1 -1
  92. data/dependencies/SDL_sound/SDL_sound_internal.h +17 -10
  93. data/dependencies/SDL_sound/SDL_sound_modplug.c +25 -27
  94. data/dependencies/SDL_sound/SDL_sound_mp3.c +5 -17
  95. data/dependencies/SDL_sound/SDL_sound_raw.c +11 -11
  96. data/dependencies/SDL_sound/SDL_sound_shn.c +8 -7
  97. data/dependencies/SDL_sound/SDL_sound_voc.c +6 -4
  98. data/dependencies/SDL_sound/SDL_sound_vorbis.c +6 -11
  99. data/dependencies/SDL_sound/SDL_sound_wav.c +35 -29
  100. data/dependencies/SDL_sound/dr_flac.h +618 -220
  101. data/dependencies/SDL_sound/dr_mp3.h +263 -94
  102. data/dependencies/SDL_sound/libmodplug/fastmix.c +58 -64
  103. data/dependencies/SDL_sound/libmodplug/libmodplug.h +25 -103
  104. data/dependencies/SDL_sound/libmodplug/load_669.c +14 -17
  105. data/dependencies/SDL_sound/libmodplug/load_amf.c +11 -7
  106. data/dependencies/SDL_sound/libmodplug/load_ams.c +65 -22
  107. data/dependencies/SDL_sound/libmodplug/load_dbm.c +8 -4
  108. data/dependencies/SDL_sound/libmodplug/load_dmf.c +55 -25
  109. data/dependencies/SDL_sound/libmodplug/load_far.c +9 -13
  110. data/dependencies/SDL_sound/libmodplug/load_gdm.c +448 -0
  111. data/dependencies/SDL_sound/libmodplug/load_it.c +45 -49
  112. data/dependencies/SDL_sound/libmodplug/load_mdl.c +80 -53
  113. data/dependencies/SDL_sound/libmodplug/load_med.c +20 -12
  114. data/dependencies/SDL_sound/libmodplug/load_mod.c +40 -15
  115. data/dependencies/SDL_sound/libmodplug/load_mt2.c +29 -17
  116. data/dependencies/SDL_sound/libmodplug/load_okt.c +12 -8
  117. data/dependencies/SDL_sound/libmodplug/load_psm.c +101 -78
  118. data/dependencies/SDL_sound/libmodplug/load_ptm.c +18 -17
  119. data/dependencies/SDL_sound/libmodplug/load_s3m.c +9 -7
  120. data/dependencies/SDL_sound/libmodplug/load_stm.c +3 -2
  121. data/dependencies/SDL_sound/libmodplug/load_ult.c +2 -2
  122. data/dependencies/SDL_sound/libmodplug/load_umx.c +315 -35
  123. data/dependencies/SDL_sound/libmodplug/load_xm.c +25 -21
  124. data/dependencies/SDL_sound/libmodplug/mmcmp.c +295 -149
  125. data/dependencies/SDL_sound/libmodplug/modplug.c +7 -123
  126. data/dependencies/SDL_sound/libmodplug/modplug.h +32 -29
  127. data/dependencies/SDL_sound/libmodplug/snd_dsp.c +0 -1
  128. data/dependencies/SDL_sound/libmodplug/snd_flt.c +2 -2
  129. data/dependencies/SDL_sound/libmodplug/snd_fx.c +24 -18
  130. data/dependencies/SDL_sound/libmodplug/sndfile.c +55 -156
  131. data/dependencies/SDL_sound/libmodplug/sndmix.c +7 -12
  132. data/dependencies/SDL_sound/libmodplug/tables.h +10 -15
  133. data/dependencies/SDL_sound/stb_vorbis.h +508 -325
  134. data/dependencies/{al_soft → mojoAL}/AL/al.h +38 -30
  135. data/dependencies/{al_soft → mojoAL}/AL/alc.h +27 -56
  136. data/dependencies/mojoAL/mojoal.c +4594 -0
  137. data/ext/gosu/extconf.rb +29 -30
  138. data/include/Gosu/Audio.hpp +70 -85
  139. data/include/Gosu/Color.hpp +19 -11
  140. data/include/Gosu/Font.hpp +40 -44
  141. data/include/Gosu/Graphics.hpp +58 -71
  142. data/include/Gosu/GraphicsBase.hpp +26 -33
  143. data/include/Gosu/Image.hpp +56 -62
  144. data/include/Gosu/ImageData.hpp +23 -27
  145. data/include/Gosu/Inspection.hpp +1 -4
  146. data/include/Gosu/TextInput.hpp +34 -40
  147. data/include/Gosu/Version.hpp +1 -1
  148. data/include/Gosu/Window.hpp +71 -70
  149. data/lib/SDL2.dll +0 -0
  150. data/lib/gosu/compat.rb +24 -37
  151. data/lib/gosu.rb +2 -2
  152. data/lib64/SDL2.dll +0 -0
  153. data/src/Audio.cpp +86 -86
  154. data/src/AudioFile.hpp +6 -6
  155. data/src/AudioFileAudioToolbox.cpp +1 -1
  156. data/src/AudioFileSDLSound.cpp +1 -1
  157. data/src/AudioImpl.hpp +5 -5
  158. data/src/BitmapIO.cpp +0 -20
  159. data/src/BlockAllocator.cpp +2 -1
  160. data/src/Channel.cpp +22 -20
  161. data/src/Color.cpp +12 -9
  162. data/src/EmptyImageData.hpp +15 -17
  163. data/src/FileUnix.cpp +1 -1
  164. data/src/FileWin.cpp +1 -1
  165. data/src/Font.cpp +48 -53
  166. data/src/Graphics.cpp +135 -143
  167. data/src/Image.cpp +41 -42
  168. data/src/Input.cpp +1 -1
  169. data/src/InputUIKit.cpp +1 -1
  170. data/src/LargeImageData.cpp +108 -101
  171. data/src/LargeImageData.hpp +17 -15
  172. data/src/Log.hpp +6 -6
  173. data/src/Macro.cpp +35 -37
  174. data/src/Macro.hpp +11 -11
  175. data/src/Math.cpp +8 -1
  176. data/src/Resolution.cpp +12 -7
  177. data/src/RubyGosu.cxx +5 -5
  178. data/src/TexChunk.cpp +50 -41
  179. data/src/TexChunk.hpp +22 -22
  180. data/src/Text.cpp +37 -37
  181. data/src/TextBuilder.cpp +60 -57
  182. data/src/TextBuilder.hpp +20 -20
  183. data/src/TextInput.cpp +127 -135
  184. data/src/TrueTypeFont.cpp +107 -107
  185. data/src/TrueTypeFont.hpp +39 -38
  186. data/src/TrueTypeFontApple.cpp +19 -22
  187. data/src/TrueTypeFontUnix.cpp +21 -26
  188. data/src/TrueTypeFontWin.cpp +30 -30
  189. data/src/Window.cpp +95 -86
  190. data/src/WindowUIKit.cpp +46 -49
  191. metadata +7 -17
  192. data/dependencies/SDL/include/SDL_config_os2.h +0 -188
  193. data/dependencies/SDL_sound/libmodplug/load_abc.c +0 -4725
  194. data/dependencies/SDL_sound/libmodplug/load_mid.c +0 -1405
  195. data/dependencies/SDL_sound/libmodplug/load_pat.c +0 -1143
  196. data/dependencies/SDL_sound/libmodplug/load_pat.h +0 -25
  197. data/dependencies/al_soft/AL/alext.h +0 -585
  198. data/dependencies/al_soft/AL/efx-creative.h +0 -3
  199. data/dependencies/al_soft/AL/efx-presets.h +0 -402
  200. data/dependencies/al_soft/AL/efx.h +0 -762
  201. data/dependencies/al_soft/x64/libOpenAL32.dll.a +0 -0
  202. data/dependencies/al_soft/x86/libOpenAL32.dll.a +0 -0
  203. data/lib/OpenAL32.dll +0 -0
  204. data/lib64/OpenAL32.dll +0 -0
@@ -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 */