gl3.h 69 KB

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