gl3.h 81 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211
  1. #ifndef __gles2_gl3_h_
  2. #define __gles2_gl3_h_ 1
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. /*
  7. ** Copyright (c) 2013-2018 The Khronos Group Inc.
  8. **
  9. ** Permission is hereby granted, free of charge, to any person obtaining a
  10. ** copy of this software and/or associated documentation files (the
  11. ** "Materials"), to deal in the Materials without restriction, including
  12. ** without limitation the rights to use, copy, modify, merge, publish,
  13. ** distribute, sublicense, and/or sell copies of the Materials, and to
  14. ** permit persons to whom the Materials are furnished to do so, subject to
  15. ** the following conditions:
  16. **
  17. ** The above copyright notice and this permission notice shall be included
  18. ** in all copies or substantial portions of the Materials.
  19. **
  20. ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  21. ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  22. ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  23. ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  24. ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  25. ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  26. ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
  27. */
  28. /*
  29. ** This header is generated from the Khronos OpenGL / OpenGL ES XML
  30. ** API Registry. The current version of the Registry, generator scripts
  31. ** used to make the header, and the header can be found at
  32. ** https://github.com/KhronosGroup/OpenGL-Registry
  33. */
  34. #include <GLES3/gl3platform.h>
  35. #ifndef GL_APIENTRYP
  36. #define GL_APIENTRYP GL_APIENTRY*
  37. #endif
  38. #ifndef GL_GLES_PROTOTYPES
  39. #define GL_GLES_PROTOTYPES 1
  40. #endif
  41. /* Generated on date 20190611 */
  42. /* Generated C header for:
  43. * API: gles2
  44. * Profile: common
  45. * Versions considered: 2\.[0-9]|3\.0
  46. * Versions emitted: .*
  47. * Default extensions included: None
  48. * Additional extensions included: _nomatch_^
  49. * Extensions removed: _nomatch_^
  50. */
  51. #ifndef GL_ES_VERSION_2_0
  52. #define GL_ES_VERSION_2_0 1
  53. #include <KHR/khrplatform.h>
  54. typedef khronos_int8_t GLbyte;
  55. typedef khronos_float_t GLclampf;
  56. typedef khronos_int32_t GLfixed;
  57. typedef khronos_int16_t GLshort;
  58. typedef khronos_uint16_t GLushort;
  59. typedef void GLvoid;
  60. typedef struct __GLsync *GLsync;
  61. typedef khronos_int64_t GLint64;
  62. typedef khronos_uint64_t GLuint64;
  63. typedef unsigned int GLenum;
  64. typedef unsigned int GLuint;
  65. typedef char GLchar;
  66. typedef khronos_float_t GLfloat;
  67. typedef khronos_ssize_t GLsizeiptr;
  68. typedef khronos_intptr_t GLintptr;
  69. typedef unsigned int GLbitfield;
  70. typedef int GLint;
  71. typedef unsigned char GLboolean;
  72. typedef int GLsizei;
  73. typedef khronos_uint8_t GLubyte;
  74. #define GL_DEPTH_BUFFER_BIT 0x00000100
  75. #define GL_STENCIL_BUFFER_BIT 0x00000400
  76. #define GL_COLOR_BUFFER_BIT 0x00004000
  77. #define GL_FALSE 0
  78. #define GL_TRUE 1
  79. #define GL_POINTS 0x0000
  80. #define GL_LINES 0x0001
  81. #define GL_LINE_LOOP 0x0002
  82. #define GL_LINE_STRIP 0x0003
  83. #define GL_TRIANGLES 0x0004
  84. #define GL_TRIANGLE_STRIP 0x0005
  85. #define GL_TRIANGLE_FAN 0x0006
  86. #define GL_ZERO 0
  87. #define GL_ONE 1
  88. #define GL_SRC_COLOR 0x0300
  89. #define GL_ONE_MINUS_SRC_COLOR 0x0301
  90. #define GL_SRC_ALPHA 0x0302
  91. #define GL_ONE_MINUS_SRC_ALPHA 0x0303
  92. #define GL_DST_ALPHA 0x0304
  93. #define GL_ONE_MINUS_DST_ALPHA 0x0305
  94. #define GL_DST_COLOR 0x0306
  95. #define GL_ONE_MINUS_DST_COLOR 0x0307
  96. #define GL_SRC_ALPHA_SATURATE 0x0308
  97. #define GL_FUNC_ADD 0x8006
  98. #define GL_BLEND_EQUATION 0x8009
  99. #define GL_BLEND_EQUATION_RGB 0x8009
  100. #define GL_BLEND_EQUATION_ALPHA 0x883D
  101. #define GL_FUNC_SUBTRACT 0x800A
  102. #define GL_FUNC_REVERSE_SUBTRACT 0x800B
  103. #define GL_BLEND_DST_RGB 0x80C8
  104. #define GL_BLEND_SRC_RGB 0x80C9
  105. #define GL_BLEND_DST_ALPHA 0x80CA
  106. #define GL_BLEND_SRC_ALPHA 0x80CB
  107. #define GL_CONSTANT_COLOR 0x8001
  108. #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
  109. #define GL_CONSTANT_ALPHA 0x8003
  110. #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
  111. #define GL_BLEND_COLOR 0x8005
  112. #define GL_ARRAY_BUFFER 0x8892
  113. #define GL_ELEMENT_ARRAY_BUFFER 0x8893
  114. #define GL_ARRAY_BUFFER_BINDING 0x8894
  115. #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
  116. #define GL_STREAM_DRAW 0x88E0
  117. #define GL_STATIC_DRAW 0x88E4
  118. #define GL_DYNAMIC_DRAW 0x88E8
  119. #define GL_BUFFER_SIZE 0x8764
  120. #define GL_BUFFER_USAGE 0x8765
  121. #define GL_CURRENT_VERTEX_ATTRIB 0x8626
  122. #define GL_FRONT 0x0404
  123. #define GL_BACK 0x0405
  124. #define GL_FRONT_AND_BACK 0x0408
  125. #define GL_TEXTURE_2D 0x0DE1
  126. #define GL_CULL_FACE 0x0B44
  127. #define GL_BLEND 0x0BE2
  128. #define GL_DITHER 0x0BD0
  129. #define GL_STENCIL_TEST 0x0B90
  130. #define GL_DEPTH_TEST 0x0B71
  131. #define GL_SCISSOR_TEST 0x0C11
  132. #define GL_POLYGON_OFFSET_FILL 0x8037
  133. #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
  134. #define GL_SAMPLE_COVERAGE 0x80A0
  135. #define GL_NO_ERROR 0
  136. #define GL_INVALID_ENUM 0x0500
  137. #define GL_INVALID_VALUE 0x0501
  138. #define GL_INVALID_OPERATION 0x0502
  139. #define GL_OUT_OF_MEMORY 0x0505
  140. #define GL_CW 0x0900
  141. #define GL_CCW 0x0901
  142. #define GL_LINE_WIDTH 0x0B21
  143. #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
  144. #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
  145. #define GL_CULL_FACE_MODE 0x0B45
  146. #define GL_FRONT_FACE 0x0B46
  147. #define GL_DEPTH_RANGE 0x0B70
  148. #define GL_DEPTH_WRITEMASK 0x0B72
  149. #define GL_DEPTH_CLEAR_VALUE 0x0B73
  150. #define GL_DEPTH_FUNC 0x0B74
  151. #define GL_STENCIL_CLEAR_VALUE 0x0B91
  152. #define GL_STENCIL_FUNC 0x0B92
  153. #define GL_STENCIL_FAIL 0x0B94
  154. #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
  155. #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
  156. #define GL_STENCIL_REF 0x0B97
  157. #define GL_STENCIL_VALUE_MASK 0x0B93
  158. #define GL_STENCIL_WRITEMASK 0x0B98
  159. #define GL_STENCIL_BACK_FUNC 0x8800
  160. #define GL_STENCIL_BACK_FAIL 0x8801
  161. #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
  162. #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
  163. #define GL_STENCIL_BACK_REF 0x8CA3
  164. #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
  165. #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
  166. #define GL_VIEWPORT 0x0BA2
  167. #define GL_SCISSOR_BOX 0x0C10
  168. #define GL_COLOR_CLEAR_VALUE 0x0C22
  169. #define GL_COLOR_WRITEMASK 0x0C23
  170. #define GL_UNPACK_ALIGNMENT 0x0CF5
  171. #define GL_PACK_ALIGNMENT 0x0D05
  172. #define GL_MAX_TEXTURE_SIZE 0x0D33
  173. #define GL_MAX_VIEWPORT_DIMS 0x0D3A
  174. #define GL_SUBPIXEL_BITS 0x0D50
  175. #define GL_RED_BITS 0x0D52
  176. #define GL_GREEN_BITS 0x0D53
  177. #define GL_BLUE_BITS 0x0D54
  178. #define GL_ALPHA_BITS 0x0D55
  179. #define GL_DEPTH_BITS 0x0D56
  180. #define GL_STENCIL_BITS 0x0D57
  181. #define GL_POLYGON_OFFSET_UNITS 0x2A00
  182. #define GL_POLYGON_OFFSET_FACTOR 0x8038
  183. #define GL_TEXTURE_BINDING_2D 0x8069
  184. #define GL_SAMPLE_BUFFERS 0x80A8
  185. #define GL_SAMPLES 0x80A9
  186. #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
  187. #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
  188. #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
  189. #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
  190. #define GL_DONT_CARE 0x1100
  191. #define GL_FASTEST 0x1101
  192. #define GL_NICEST 0x1102
  193. #define GL_GENERATE_MIPMAP_HINT 0x8192
  194. #define GL_BYTE 0x1400
  195. #define GL_UNSIGNED_BYTE 0x1401
  196. #define GL_SHORT 0x1402
  197. #define GL_UNSIGNED_SHORT 0x1403
  198. #define GL_INT 0x1404
  199. #define GL_UNSIGNED_INT 0x1405
  200. #define GL_FLOAT 0x1406
  201. #define GL_FIXED 0x140C
  202. #define GL_DEPTH_COMPONENT 0x1902
  203. #define GL_ALPHA 0x1906
  204. #define GL_RGB 0x1907
  205. #define GL_RGBA 0x1908
  206. #define GL_LUMINANCE 0x1909
  207. #define GL_LUMINANCE_ALPHA 0x190A
  208. #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
  209. #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
  210. #define GL_UNSIGNED_SHORT_5_6_5 0x8363
  211. #define GL_FRAGMENT_SHADER 0x8B30
  212. #define GL_VERTEX_SHADER 0x8B31
  213. #define GL_MAX_VERTEX_ATTRIBS 0x8869
  214. #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
  215. #define GL_MAX_VARYING_VECTORS 0x8DFC
  216. #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
  217. #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
  218. #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
  219. #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
  220. #define GL_SHADER_TYPE 0x8B4F
  221. #define GL_DELETE_STATUS 0x8B80
  222. #define GL_LINK_STATUS 0x8B82
  223. #define GL_VALIDATE_STATUS 0x8B83
  224. #define GL_ATTACHED_SHADERS 0x8B85
  225. #define GL_ACTIVE_UNIFORMS 0x8B86
  226. #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
  227. #define GL_ACTIVE_ATTRIBUTES 0x8B89
  228. #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
  229. #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
  230. #define GL_CURRENT_PROGRAM 0x8B8D
  231. #define GL_NEVER 0x0200
  232. #define GL_LESS 0x0201
  233. #define GL_EQUAL 0x0202
  234. #define GL_LEQUAL 0x0203
  235. #define GL_GREATER 0x0204
  236. #define GL_NOTEQUAL 0x0205
  237. #define GL_GEQUAL 0x0206
  238. #define GL_ALWAYS 0x0207
  239. #define GL_KEEP 0x1E00
  240. #define GL_REPLACE 0x1E01
  241. #define GL_INCR 0x1E02
  242. #define GL_DECR 0x1E03
  243. #define GL_INVERT 0x150A
  244. #define GL_INCR_WRAP 0x8507
  245. #define GL_DECR_WRAP 0x8508
  246. #define GL_VENDOR 0x1F00
  247. #define GL_RENDERER 0x1F01
  248. #define GL_VERSION 0x1F02
  249. #define GL_EXTENSIONS 0x1F03
  250. #define GL_NEAREST 0x2600
  251. #define GL_LINEAR 0x2601
  252. #define GL_NEAREST_MIPMAP_NEAREST 0x2700
  253. #define GL_LINEAR_MIPMAP_NEAREST 0x2701
  254. #define GL_NEAREST_MIPMAP_LINEAR 0x2702
  255. #define GL_LINEAR_MIPMAP_LINEAR 0x2703
  256. #define GL_TEXTURE_MAG_FILTER 0x2800
  257. #define GL_TEXTURE_MIN_FILTER 0x2801
  258. #define GL_TEXTURE_WRAP_S 0x2802
  259. #define GL_TEXTURE_WRAP_T 0x2803
  260. #define GL_TEXTURE 0x1702
  261. #define GL_TEXTURE_CUBE_MAP 0x8513
  262. #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
  263. #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
  264. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
  265. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
  266. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
  267. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
  268. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
  269. #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
  270. #define GL_TEXTURE0 0x84C0
  271. #define GL_TEXTURE1 0x84C1
  272. #define GL_TEXTURE2 0x84C2
  273. #define GL_TEXTURE3 0x84C3
  274. #define GL_TEXTURE4 0x84C4
  275. #define GL_TEXTURE5 0x84C5
  276. #define GL_TEXTURE6 0x84C6
  277. #define GL_TEXTURE7 0x84C7
  278. #define GL_TEXTURE8 0x84C8
  279. #define GL_TEXTURE9 0x84C9
  280. #define GL_TEXTURE10 0x84CA
  281. #define GL_TEXTURE11 0x84CB
  282. #define GL_TEXTURE12 0x84CC
  283. #define GL_TEXTURE13 0x84CD
  284. #define GL_TEXTURE14 0x84CE
  285. #define GL_TEXTURE15 0x84CF
  286. #define GL_TEXTURE16 0x84D0
  287. #define GL_TEXTURE17 0x84D1
  288. #define GL_TEXTURE18 0x84D2
  289. #define GL_TEXTURE19 0x84D3
  290. #define GL_TEXTURE20 0x84D4
  291. #define GL_TEXTURE21 0x84D5
  292. #define GL_TEXTURE22 0x84D6
  293. #define GL_TEXTURE23 0x84D7
  294. #define GL_TEXTURE24 0x84D8
  295. #define GL_TEXTURE25 0x84D9
  296. #define GL_TEXTURE26 0x84DA
  297. #define GL_TEXTURE27 0x84DB
  298. #define GL_TEXTURE28 0x84DC
  299. #define GL_TEXTURE29 0x84DD
  300. #define GL_TEXTURE30 0x84DE
  301. #define GL_TEXTURE31 0x84DF
  302. #define GL_ACTIVE_TEXTURE 0x84E0
  303. #define GL_REPEAT 0x2901
  304. #define GL_CLAMP_TO_EDGE 0x812F
  305. #define GL_MIRRORED_REPEAT 0x8370
  306. #define GL_FLOAT_VEC2 0x8B50
  307. #define GL_FLOAT_VEC3 0x8B51
  308. #define GL_FLOAT_VEC4 0x8B52
  309. #define GL_INT_VEC2 0x8B53
  310. #define GL_INT_VEC3 0x8B54
  311. #define GL_INT_VEC4 0x8B55
  312. #define GL_BOOL 0x8B56
  313. #define GL_BOOL_VEC2 0x8B57
  314. #define GL_BOOL_VEC3 0x8B58
  315. #define GL_BOOL_VEC4 0x8B59
  316. #define GL_FLOAT_MAT2 0x8B5A
  317. #define GL_FLOAT_MAT3 0x8B5B
  318. #define GL_FLOAT_MAT4 0x8B5C
  319. #define GL_SAMPLER_2D 0x8B5E
  320. #define GL_SAMPLER_CUBE 0x8B60
  321. #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
  322. #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
  323. #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
  324. #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
  325. #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
  326. #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
  327. #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
  328. #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
  329. #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
  330. #define GL_COMPILE_STATUS 0x8B81
  331. #define GL_INFO_LOG_LENGTH 0x8B84
  332. #define GL_SHADER_SOURCE_LENGTH 0x8B88
  333. #define GL_SHADER_COMPILER 0x8DFA
  334. #define GL_SHADER_BINARY_FORMATS 0x8DF8
  335. #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
  336. #define GL_LOW_FLOAT 0x8DF0
  337. #define GL_MEDIUM_FLOAT 0x8DF1
  338. #define GL_HIGH_FLOAT 0x8DF2
  339. #define GL_LOW_INT 0x8DF3
  340. #define GL_MEDIUM_INT 0x8DF4
  341. #define GL_HIGH_INT 0x8DF5
  342. #define GL_FRAMEBUFFER 0x8D40
  343. #define GL_RENDERBUFFER 0x8D41
  344. #define GL_RGBA4 0x8056
  345. #define GL_RGB5_A1 0x8057
  346. #define GL_RGB565 0x8D62
  347. #define GL_DEPTH_COMPONENT16 0x81A5
  348. #define GL_STENCIL_INDEX8 0x8D48
  349. #define GL_RENDERBUFFER_WIDTH 0x8D42
  350. #define GL_RENDERBUFFER_HEIGHT 0x8D43
  351. #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
  352. #define GL_RENDERBUFFER_RED_SIZE 0x8D50
  353. #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
  354. #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
  355. #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
  356. #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
  357. #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
  358. #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
  359. #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
  360. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
  361. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
  362. #define GL_COLOR_ATTACHMENT0 0x8CE0
  363. #define GL_DEPTH_ATTACHMENT 0x8D00
  364. #define GL_STENCIL_ATTACHMENT 0x8D20
  365. #define GL_NONE 0
  366. #define GL_FRAMEBUFFER_COMPLETE 0x8CD5
  367. #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
  368. #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
  369. #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
  370. #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
  371. #define GL_FRAMEBUFFER_BINDING 0x8CA6
  372. #define GL_RENDERBUFFER_BINDING 0x8CA7
  373. #define GL_MAX_RENDERBUFFER_SIZE 0x84E8
  374. #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
  375. typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
  376. typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
  377. typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
  378. typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
  379. typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
  380. typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
  381. typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
  382. typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  383. typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
  384. typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
  385. typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
  386. typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  387. typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
  388. typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
  389. typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
  390. typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
  391. typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  392. typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
  393. typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
  394. typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  395. typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
  396. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
  397. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
  398. typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  399. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  400. typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
  401. typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
  402. typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
  403. typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
  404. typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
  405. typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
  406. typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
  407. typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
  408. typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
  409. typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
  410. typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
  411. typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
  412. typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
  413. typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
  414. typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
  415. typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
  416. typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
  417. typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
  418. typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
  419. typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
  420. typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
  421. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  422. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  423. typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
  424. typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
  425. typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
  426. typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
  427. typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
  428. typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
  429. typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  430. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  431. typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
  432. typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
  433. typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
  434. typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  435. typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
  436. typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
  437. typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
  438. typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
  439. typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
  440. typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  441. typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  442. typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
  443. typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  444. typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
  445. typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  446. typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
  447. typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
  448. typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  449. typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
  450. typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
  451. typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
  452. typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
  453. typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
  454. typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
  455. typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
  456. typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
  457. typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
  458. typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
  459. typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
  460. typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
  461. typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
  462. typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
  463. typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
  464. typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
  465. typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
  466. typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
  467. typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
  468. typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
  469. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  470. typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
  471. typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
  472. typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
  473. typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
  474. typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
  475. typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
  476. typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
  477. typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
  478. typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
  479. typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  480. typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
  481. typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
  482. typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
  483. typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
  484. typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
  485. typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
  486. typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
  487. typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  488. typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
  489. typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
  490. typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
  491. typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  492. typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
  493. typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
  494. typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  495. typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  496. typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
  497. typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
  498. typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  499. typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  500. typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  501. typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
  502. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  503. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  504. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  505. typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
  506. typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
  507. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
  508. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
  509. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
  510. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
  511. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  512. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
  513. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  514. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
  515. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
  516. typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
  517. #if GL_GLES_PROTOTYPES
  518. GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
  519. GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
  520. GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
  521. GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
  522. GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
  523. GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
  524. GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
  525. GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  526. GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
  527. GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
  528. GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
  529. GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  530. GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
  531. GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
  532. GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
  533. GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
  534. GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  535. GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
  536. GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
  537. GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  538. GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
  539. GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
  540. GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
  541. GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  542. GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  543. GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
  544. GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
  545. GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
  546. GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
  547. GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
  548. GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
  549. GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
  550. GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
  551. GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
  552. GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
  553. GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
  554. GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
  555. GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
  556. GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
  557. GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
  558. GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
  559. GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
  560. GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
  561. GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
  562. GL_APICALL void GL_APIENTRY glFinish (void);
  563. GL_APICALL void GL_APIENTRY glFlush (void);
  564. GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  565. GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  566. GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
  567. GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
  568. GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
  569. GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
  570. GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
  571. GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
  572. GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  573. GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  574. GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
  575. GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
  576. GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
  577. GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
  578. GL_APICALL GLenum GL_APIENTRY glGetError (void);
  579. GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
  580. GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
  581. GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
  582. GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
  583. GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  584. GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
  585. GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
  586. GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  587. GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
  588. GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  589. GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
  590. GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
  591. GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
  592. GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
  593. GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
  594. GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
  595. GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
  596. GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
  597. GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
  598. GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
  599. GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
  600. GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
  601. GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
  602. GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
  603. GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
  604. GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
  605. GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
  606. GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
  607. GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
  608. GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
  609. GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
  610. GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
  611. GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
  612. GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  613. GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
  614. GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
  615. GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
  616. GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
  617. GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
  618. GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
  619. GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
  620. GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
  621. GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
  622. GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  623. GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
  624. GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
  625. GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
  626. GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
  627. GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
  628. GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
  629. GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
  630. GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
  631. GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
  632. GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
  633. GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
  634. GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
  635. GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
  636. GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
  637. GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  638. GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
  639. GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
  640. GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
  641. GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  642. GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
  643. GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  644. GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
  645. GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  646. GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  647. GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  648. GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
  649. GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
  650. GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
  651. GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
  652. GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
  653. GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
  654. GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  655. GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
  656. GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  657. GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
  658. GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
  659. GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
  660. #endif
  661. #endif /* GL_ES_VERSION_2_0 */
  662. #ifndef GL_ES_VERSION_3_0
  663. #define GL_ES_VERSION_3_0 1
  664. typedef khronos_uint16_t GLhalf;
  665. #define GL_READ_BUFFER 0x0C02
  666. #define GL_UNPACK_ROW_LENGTH 0x0CF2
  667. #define GL_UNPACK_SKIP_ROWS 0x0CF3
  668. #define GL_UNPACK_SKIP_PIXELS 0x0CF4
  669. #define GL_PACK_ROW_LENGTH 0x0D02
  670. #define GL_PACK_SKIP_ROWS 0x0D03
  671. #define GL_PACK_SKIP_PIXELS 0x0D04
  672. #define GL_COLOR 0x1800
  673. #define GL_DEPTH 0x1801
  674. #define GL_STENCIL 0x1802
  675. #define GL_RED 0x1903
  676. #define GL_RGB8 0x8051
  677. #define GL_RGBA8 0x8058
  678. #define GL_RGB10_A2 0x8059
  679. #define GL_TEXTURE_BINDING_3D 0x806A
  680. #define GL_UNPACK_SKIP_IMAGES 0x806D
  681. #define GL_UNPACK_IMAGE_HEIGHT 0x806E
  682. #define GL_TEXTURE_3D 0x806F
  683. #define GL_TEXTURE_WRAP_R 0x8072
  684. #define GL_MAX_3D_TEXTURE_SIZE 0x8073
  685. #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
  686. #define GL_MAX_ELEMENTS_VERTICES 0x80E8
  687. #define GL_MAX_ELEMENTS_INDICES 0x80E9
  688. #define GL_TEXTURE_MIN_LOD 0x813A
  689. #define GL_TEXTURE_MAX_LOD 0x813B
  690. #define GL_TEXTURE_BASE_LEVEL 0x813C
  691. #define GL_TEXTURE_MAX_LEVEL 0x813D
  692. #define GL_MIN 0x8007
  693. #define GL_MAX 0x8008
  694. #define GL_DEPTH_COMPONENT24 0x81A6
  695. #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
  696. #define GL_TEXTURE_COMPARE_MODE 0x884C
  697. #define GL_TEXTURE_COMPARE_FUNC 0x884D
  698. #define GL_CURRENT_QUERY 0x8865
  699. #define GL_QUERY_RESULT 0x8866
  700. #define GL_QUERY_RESULT_AVAILABLE 0x8867
  701. #define GL_BUFFER_MAPPED 0x88BC
  702. #define GL_BUFFER_MAP_POINTER 0x88BD
  703. #define GL_STREAM_READ 0x88E1
  704. #define GL_STREAM_COPY 0x88E2
  705. #define GL_STATIC_READ 0x88E5
  706. #define GL_STATIC_COPY 0x88E6
  707. #define GL_DYNAMIC_READ 0x88E9
  708. #define GL_DYNAMIC_COPY 0x88EA
  709. #define GL_MAX_DRAW_BUFFERS 0x8824
  710. #define GL_DRAW_BUFFER0 0x8825
  711. #define GL_DRAW_BUFFER1 0x8826
  712. #define GL_DRAW_BUFFER2 0x8827
  713. #define GL_DRAW_BUFFER3 0x8828
  714. #define GL_DRAW_BUFFER4 0x8829
  715. #define GL_DRAW_BUFFER5 0x882A
  716. #define GL_DRAW_BUFFER6 0x882B
  717. #define GL_DRAW_BUFFER7 0x882C
  718. #define GL_DRAW_BUFFER8 0x882D
  719. #define GL_DRAW_BUFFER9 0x882E
  720. #define GL_DRAW_BUFFER10 0x882F
  721. #define GL_DRAW_BUFFER11 0x8830
  722. #define GL_DRAW_BUFFER12 0x8831
  723. #define GL_DRAW_BUFFER13 0x8832
  724. #define GL_DRAW_BUFFER14 0x8833
  725. #define GL_DRAW_BUFFER15 0x8834
  726. #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
  727. #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
  728. #define GL_SAMPLER_3D 0x8B5F
  729. #define GL_SAMPLER_2D_SHADOW 0x8B62
  730. #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
  731. #define GL_PIXEL_PACK_BUFFER 0x88EB
  732. #define GL_PIXEL_UNPACK_BUFFER 0x88EC
  733. #define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
  734. #define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
  735. #define GL_FLOAT_MAT2x3 0x8B65
  736. #define GL_FLOAT_MAT2x4 0x8B66
  737. #define GL_FLOAT_MAT3x2 0x8B67
  738. #define GL_FLOAT_MAT3x4 0x8B68
  739. #define GL_FLOAT_MAT4x2 0x8B69
  740. #define GL_FLOAT_MAT4x3 0x8B6A
  741. #define GL_SRGB 0x8C40
  742. #define GL_SRGB8 0x8C41
  743. #define GL_SRGB8_ALPHA8 0x8C43
  744. #define GL_COMPARE_REF_TO_TEXTURE 0x884E
  745. #define GL_MAJOR_VERSION 0x821B
  746. #define GL_MINOR_VERSION 0x821C
  747. #define GL_NUM_EXTENSIONS 0x821D
  748. #define GL_RGBA32F 0x8814
  749. #define GL_RGB32F 0x8815
  750. #define GL_RGBA16F 0x881A
  751. #define GL_RGB16F 0x881B
  752. #define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
  753. #define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
  754. #define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
  755. #define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
  756. #define GL_MAX_VARYING_COMPONENTS 0x8B4B
  757. #define GL_TEXTURE_2D_ARRAY 0x8C1A
  758. #define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
  759. #define GL_R11F_G11F_B10F 0x8C3A
  760. #define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
  761. #define GL_RGB9_E5 0x8C3D
  762. #define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
  763. #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
  764. #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
  765. #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
  766. #define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
  767. #define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
  768. #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
  769. #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
  770. #define GL_RASTERIZER_DISCARD 0x8C89
  771. #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
  772. #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
  773. #define GL_INTERLEAVED_ATTRIBS 0x8C8C
  774. #define GL_SEPARATE_ATTRIBS 0x8C8D
  775. #define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
  776. #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
  777. #define GL_RGBA32UI 0x8D70
  778. #define GL_RGB32UI 0x8D71
  779. #define GL_RGBA16UI 0x8D76
  780. #define GL_RGB16UI 0x8D77
  781. #define GL_RGBA8UI 0x8D7C
  782. #define GL_RGB8UI 0x8D7D
  783. #define GL_RGBA32I 0x8D82
  784. #define GL_RGB32I 0x8D83
  785. #define GL_RGBA16I 0x8D88
  786. #define GL_RGB16I 0x8D89
  787. #define GL_RGBA8I 0x8D8E
  788. #define GL_RGB8I 0x8D8F
  789. #define GL_RED_INTEGER 0x8D94
  790. #define GL_RGB_INTEGER 0x8D98
  791. #define GL_RGBA_INTEGER 0x8D99
  792. #define GL_SAMPLER_2D_ARRAY 0x8DC1
  793. #define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
  794. #define GL_SAMPLER_CUBE_SHADOW 0x8DC5
  795. #define GL_UNSIGNED_INT_VEC2 0x8DC6
  796. #define GL_UNSIGNED_INT_VEC3 0x8DC7
  797. #define GL_UNSIGNED_INT_VEC4 0x8DC8
  798. #define GL_INT_SAMPLER_2D 0x8DCA
  799. #define GL_INT_SAMPLER_3D 0x8DCB
  800. #define GL_INT_SAMPLER_CUBE 0x8DCC
  801. #define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
  802. #define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
  803. #define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
  804. #define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
  805. #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
  806. #define GL_BUFFER_ACCESS_FLAGS 0x911F
  807. #define GL_BUFFER_MAP_LENGTH 0x9120
  808. #define GL_BUFFER_MAP_OFFSET 0x9121
  809. #define GL_DEPTH_COMPONENT32F 0x8CAC
  810. #define GL_DEPTH32F_STENCIL8 0x8CAD
  811. #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
  812. #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
  813. #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
  814. #define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
  815. #define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
  816. #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
  817. #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
  818. #define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
  819. #define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
  820. #define GL_FRAMEBUFFER_DEFAULT 0x8218
  821. #define GL_FRAMEBUFFER_UNDEFINED 0x8219
  822. #define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
  823. #define GL_DEPTH_STENCIL 0x84F9
  824. #define GL_UNSIGNED_INT_24_8 0x84FA
  825. #define GL_DEPTH24_STENCIL8 0x88F0
  826. #define GL_UNSIGNED_NORMALIZED 0x8C17
  827. #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
  828. #define GL_READ_FRAMEBUFFER 0x8CA8
  829. #define GL_DRAW_FRAMEBUFFER 0x8CA9
  830. #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
  831. #define GL_RENDERBUFFER_SAMPLES 0x8CAB
  832. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
  833. #define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
  834. #define GL_COLOR_ATTACHMENT1 0x8CE1
  835. #define GL_COLOR_ATTACHMENT2 0x8CE2
  836. #define GL_COLOR_ATTACHMENT3 0x8CE3
  837. #define GL_COLOR_ATTACHMENT4 0x8CE4
  838. #define GL_COLOR_ATTACHMENT5 0x8CE5
  839. #define GL_COLOR_ATTACHMENT6 0x8CE6
  840. #define GL_COLOR_ATTACHMENT7 0x8CE7
  841. #define GL_COLOR_ATTACHMENT8 0x8CE8
  842. #define GL_COLOR_ATTACHMENT9 0x8CE9
  843. #define GL_COLOR_ATTACHMENT10 0x8CEA
  844. #define GL_COLOR_ATTACHMENT11 0x8CEB
  845. #define GL_COLOR_ATTACHMENT12 0x8CEC
  846. #define GL_COLOR_ATTACHMENT13 0x8CED
  847. #define GL_COLOR_ATTACHMENT14 0x8CEE
  848. #define GL_COLOR_ATTACHMENT15 0x8CEF
  849. #define GL_COLOR_ATTACHMENT16 0x8CF0
  850. #define GL_COLOR_ATTACHMENT17 0x8CF1
  851. #define GL_COLOR_ATTACHMENT18 0x8CF2
  852. #define GL_COLOR_ATTACHMENT19 0x8CF3
  853. #define GL_COLOR_ATTACHMENT20 0x8CF4
  854. #define GL_COLOR_ATTACHMENT21 0x8CF5
  855. #define GL_COLOR_ATTACHMENT22 0x8CF6
  856. #define GL_COLOR_ATTACHMENT23 0x8CF7
  857. #define GL_COLOR_ATTACHMENT24 0x8CF8
  858. #define GL_COLOR_ATTACHMENT25 0x8CF9
  859. #define GL_COLOR_ATTACHMENT26 0x8CFA
  860. #define GL_COLOR_ATTACHMENT27 0x8CFB
  861. #define GL_COLOR_ATTACHMENT28 0x8CFC
  862. #define GL_COLOR_ATTACHMENT29 0x8CFD
  863. #define GL_COLOR_ATTACHMENT30 0x8CFE
  864. #define GL_COLOR_ATTACHMENT31 0x8CFF
  865. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
  866. #define GL_MAX_SAMPLES 0x8D57
  867. #define GL_HALF_FLOAT 0x140B
  868. #define GL_MAP_READ_BIT 0x0001
  869. #define GL_MAP_WRITE_BIT 0x0002
  870. #define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
  871. #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
  872. #define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
  873. #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
  874. #define GL_RG 0x8227
  875. #define GL_RG_INTEGER 0x8228
  876. #define GL_R8 0x8229
  877. #define GL_RG8 0x822B
  878. #define GL_R16F 0x822D
  879. #define GL_R32F 0x822E
  880. #define GL_RG16F 0x822F
  881. #define GL_RG32F 0x8230
  882. #define GL_R8I 0x8231
  883. #define GL_R8UI 0x8232
  884. #define GL_R16I 0x8233
  885. #define GL_R16UI 0x8234
  886. #define GL_R32I 0x8235
  887. #define GL_R32UI 0x8236
  888. #define GL_RG8I 0x8237
  889. #define GL_RG8UI 0x8238
  890. #define GL_RG16I 0x8239
  891. #define GL_RG16UI 0x823A
  892. #define GL_RG32I 0x823B
  893. #define GL_RG32UI 0x823C
  894. #define GL_VERTEX_ARRAY_BINDING 0x85B5
  895. #define GL_R8_SNORM 0x8F94
  896. #define GL_RG8_SNORM 0x8F95
  897. #define GL_RGB8_SNORM 0x8F96
  898. #define GL_RGBA8_SNORM 0x8F97
  899. #define GL_SIGNED_NORMALIZED 0x8F9C
  900. #define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
  901. #define GL_COPY_READ_BUFFER 0x8F36
  902. #define GL_COPY_WRITE_BUFFER 0x8F37
  903. #define GL_COPY_READ_BUFFER_BINDING 0x8F36
  904. #define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
  905. #define GL_UNIFORM_BUFFER 0x8A11
  906. #define GL_UNIFORM_BUFFER_BINDING 0x8A28
  907. #define GL_UNIFORM_BUFFER_START 0x8A29
  908. #define GL_UNIFORM_BUFFER_SIZE 0x8A2A
  909. #define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
  910. #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
  911. #define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
  912. #define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
  913. #define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
  914. #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
  915. #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
  916. #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
  917. #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
  918. #define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
  919. #define GL_UNIFORM_TYPE 0x8A37
  920. #define GL_UNIFORM_SIZE 0x8A38
  921. #define GL_UNIFORM_NAME_LENGTH 0x8A39
  922. #define GL_UNIFORM_BLOCK_INDEX 0x8A3A
  923. #define GL_UNIFORM_OFFSET 0x8A3B
  924. #define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
  925. #define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
  926. #define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
  927. #define GL_UNIFORM_BLOCK_BINDING 0x8A3F
  928. #define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
  929. #define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
  930. #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
  931. #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
  932. #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
  933. #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
  934. #define GL_INVALID_INDEX 0xFFFFFFFFu
  935. #define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
  936. #define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
  937. #define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
  938. #define GL_OBJECT_TYPE 0x9112
  939. #define GL_SYNC_CONDITION 0x9113
  940. #define GL_SYNC_STATUS 0x9114
  941. #define GL_SYNC_FLAGS 0x9115
  942. #define GL_SYNC_FENCE 0x9116
  943. #define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
  944. #define GL_UNSIGNALED 0x9118
  945. #define GL_SIGNALED 0x9119
  946. #define GL_ALREADY_SIGNALED 0x911A
  947. #define GL_TIMEOUT_EXPIRED 0x911B
  948. #define GL_CONDITION_SATISFIED 0x911C
  949. #define GL_WAIT_FAILED 0x911D
  950. #define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
  951. #define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
  952. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
  953. #define GL_ANY_SAMPLES_PASSED 0x8C2F
  954. #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
  955. #define GL_SAMPLER_BINDING 0x8919
  956. #define GL_RGB10_A2UI 0x906F
  957. #define GL_TEXTURE_SWIZZLE_R 0x8E42
  958. #define GL_TEXTURE_SWIZZLE_G 0x8E43
  959. #define GL_TEXTURE_SWIZZLE_B 0x8E44
  960. #define GL_TEXTURE_SWIZZLE_A 0x8E45
  961. #define GL_GREEN 0x1904
  962. #define GL_BLUE 0x1905
  963. #define GL_INT_2_10_10_10_REV 0x8D9F
  964. #define GL_TRANSFORM_FEEDBACK 0x8E22
  965. #define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
  966. #define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
  967. #define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
  968. #define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
  969. #define GL_PROGRAM_BINARY_LENGTH 0x8741
  970. #define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
  971. #define GL_PROGRAM_BINARY_FORMATS 0x87FF
  972. #define GL_COMPRESSED_R11_EAC 0x9270
  973. #define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
  974. #define GL_COMPRESSED_RG11_EAC 0x9272
  975. #define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
  976. #define GL_COMPRESSED_RGB8_ETC2 0x9274
  977. #define GL_COMPRESSED_SRGB8_ETC2 0x9275
  978. #define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
  979. #define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
  980. #define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
  981. #define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
  982. #define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
  983. #define GL_MAX_ELEMENT_INDEX 0x8D6B
  984. #define GL_NUM_SAMPLE_COUNTS 0x9380
  985. #define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
  986. typedef void (GL_APIENTRYP PFNGLREADBUFFERPROC) (GLenum src);
  987. typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
  988. typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
  989. typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
  990. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  991. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
  992. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
  993. typedef void (GL_APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
  994. typedef void (GL_APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
  995. typedef GLboolean (GL_APIENTRYP PFNGLISQUERYPROC) (GLuint id);
  996. typedef void (GL_APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
  997. typedef void (GL_APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
  998. typedef void (GL_APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
  999. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
  1000. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
  1001. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params);
  1002. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
  1003. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1004. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1005. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1006. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1007. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1008. typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1009. typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1010. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1011. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  1012. typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1013. typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1014. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
  1015. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
  1016. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
  1017. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
  1018. typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
  1019. typedef void (GL_APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
  1020. typedef void (GL_APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
  1021. typedef void (GL_APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  1022. typedef void (GL_APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
  1023. typedef void (GL_APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
  1024. typedef void (GL_APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  1025. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
  1026. typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
  1027. typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
  1028. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
  1029. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  1030. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
  1031. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
  1032. typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
  1033. typedef GLint (GL_APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
  1034. typedef void (GL_APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
  1035. typedef void (GL_APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
  1036. typedef void (GL_APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
  1037. typedef void (GL_APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  1038. typedef void (GL_APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  1039. typedef void (GL_APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  1040. typedef void (GL_APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  1041. typedef void (GL_APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  1042. typedef void (GL_APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
  1043. typedef void (GL_APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
  1044. typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
  1045. typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  1046. typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
  1047. typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  1048. typedef void (GL_APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
  1049. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  1050. typedef GLuint (GL_APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
  1051. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  1052. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  1053. typedef void (GL_APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  1054. typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
  1055. typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
  1056. typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
  1057. typedef GLboolean (GL_APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
  1058. typedef void (GL_APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
  1059. typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1060. typedef void (GL_APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1061. typedef void (GL_APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data);
  1062. typedef void (GL_APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1063. typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
  1064. typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
  1065. typedef void (GL_APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
  1066. typedef void (GL_APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
  1067. typedef GLboolean (GL_APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
  1068. typedef void (GL_APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
  1069. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
  1070. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
  1071. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
  1072. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
  1073. typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
  1074. typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
  1075. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
  1076. typedef void (GL_APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
  1077. typedef void (GL_APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
  1078. typedef void (GL_APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
  1079. typedef GLboolean (GL_APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
  1080. typedef void (GL_APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
  1081. typedef void (GL_APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
  1082. typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
  1083. typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
  1084. typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
  1085. typedef void (GL_APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1086. typedef void (GL_APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
  1087. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1088. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1089. typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
  1090. #if GL_GLES_PROTOTYPES
  1091. GL_APICALL void GL_APIENTRY glReadBuffer (GLenum src);
  1092. GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
  1093. GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
  1094. GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
  1095. GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1096. GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
  1097. GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
  1098. GL_APICALL void GL_APIENTRY glGenQueries (GLsizei n, GLuint *ids);
  1099. GL_APICALL void GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
  1100. GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id);
  1101. GL_APICALL void GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
  1102. GL_APICALL void GL_APIENTRY glEndQuery (GLenum target);
  1103. GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
  1104. GL_APICALL void GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
  1105. GL_APICALL GLboolean GL_APIENTRY glUnmapBuffer (GLenum target);
  1106. GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
  1107. GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
  1108. GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1109. GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1110. GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1111. GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1112. GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1113. GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1114. GL_APICALL void GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1115. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1116. GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  1117. GL_APICALL void *GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1118. GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
  1119. GL_APICALL void GL_APIENTRY glBindVertexArray (GLuint array);
  1120. GL_APICALL void GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
  1121. GL_APICALL void GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
  1122. GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array);
  1123. GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
  1124. GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
  1125. GL_APICALL void GL_APIENTRY glEndTransformFeedback (void);
  1126. GL_APICALL void GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  1127. GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
  1128. GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
  1129. GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  1130. GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
  1131. GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
  1132. GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
  1133. GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
  1134. GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  1135. GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
  1136. GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
  1137. GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
  1138. GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
  1139. GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
  1140. GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
  1141. GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
  1142. GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  1143. GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
  1144. GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
  1145. GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
  1146. GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
  1147. GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
  1148. GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
  1149. GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
  1150. GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  1151. GL_APICALL const GLubyte *GL_APIENTRY glGetStringi (GLenum name, GLuint index);
  1152. GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  1153. GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
  1154. GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  1155. GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
  1156. GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  1157. GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  1158. GL_APICALL void GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  1159. GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
  1160. GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
  1161. GL_APICALL GLsync GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
  1162. GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync);
  1163. GL_APICALL void GL_APIENTRY glDeleteSync (GLsync sync);
  1164. GL_APICALL GLenum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1165. GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1166. GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);
  1167. GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1168. GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
  1169. GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
  1170. GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
  1171. GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
  1172. GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
  1173. GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
  1174. GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
  1175. GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
  1176. GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
  1177. GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
  1178. GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
  1179. GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
  1180. GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
  1181. GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
  1182. GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
  1183. GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
  1184. GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id);
  1185. GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void);
  1186. GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void);
  1187. GL_APICALL void GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
  1188. GL_APICALL void GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
  1189. GL_APICALL void GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
  1190. GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1191. GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
  1192. GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1193. GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1194. GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
  1195. #endif
  1196. #endif /* GL_ES_VERSION_3_0 */
  1197. #ifdef __cplusplus
  1198. }
  1199. #endif
  1200. #endif