Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

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