Advertisement
Guest User

gl3.h

a guest
Nov 10th, 2011
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 202.95 KB | None | 0 0
  1. #ifndef __gl3_h_
  2. #define __gl3_h_
  3.  
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7.  
  8. /*
  9. ** Copyright (c) 2007-2011 The Khronos Group Inc.
  10. **
  11. ** Permission is hereby granted, free of charge, to any person obtaining a
  12. ** copy of this software and/or associated documentation files (the
  13. ** "Materials"), to deal in the Materials without restriction, including
  14. ** without limitation the rights to use, copy, modify, merge, publish,
  15. ** distribute, sublicense, and/or sell copies of the Materials, and to
  16. ** permit persons to whom the Materials are furnished to do so, subject to
  17. ** the following conditions:
  18. **
  19. ** The above copyright notice and this permission notice shall be included
  20. ** in all copies or substantial portions of the Materials.
  21. **
  22. ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  23. ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  24. ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  25. ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  26. ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  27. ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  28. ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
  29. */
  30.  
  31. /* This is a draft release of gl3.h, a header for use with OpenGL 3.1, and
  32.  * 3.2 and later core profile implementations. The current version is
  33.  * available at http://www.opengl.org/registry/ . Please don't package
  34.  * gl3.h for release with other software until it's out of draft status.
  35.  * The structure of the file may change significantly, and the details
  36.  * will probably change slightly as we make sure exactly the right set
  37.  * of interfaces is included.
  38.  *
  39.  * gl3.h last updated on $Date: 2011-10-02 22:22:16 -0700 (Sun, 02 Oct 2011) $
  40.  *
  41.  * RELEASE NOTES - 2011/10/02
  42.  *
  43.  * gl3.h should be placed under a directory 'GL3' and included as
  44.  * '<GL3/gl3.h>'.
  45.  *
  46.  * gl3.h is supposed to only include APIs in a OpenGL 3.1 (without
  47.  * GL_ARB_compatibility) or OpenGL 3.2-4.2 (inclusive) core profile
  48.  * implementation, as well as interfaces for newer ARB extensions which
  49.  * can be supported by the core profile. It does not, and never will
  50.  * include functionality removed from the core profile, such as
  51.  * fixed-function vertex and fragment processing.
  52.  *
  53.  * Implementations of OpenGL 3.1 supporting the optional
  54.  * GL_ARB_compatibility extension continue to provide that functionality,
  55.  * as do implementations of the OpenGL 3.2+ compatibility profiles, and
  56.  * source code requiring it should use the traditional <GL/gl.h> and
  57.  * <GL/glext.h> headers instead of <GL3/gl3.h>.
  58.  *
  59.  * It is not possible to #include both <GL3/gl3.h> and either of
  60.  * <GL/gl.h> or <GL/glext.h> in the same source file.
  61.  *
  62.  * We welcome feedback on gl3.h. Please register for the Khronos Bugzilla
  63.  * (www.khronos.org/bugzilla) and file issues there under product
  64.  * "OpenGL", category "Registry". Feedback on the opengl.org forums
  65.  * may not be responded to in a timely fashion.
  66.  */
  67.  
  68. /* Function declaration macros - to move into glplatform.h */
  69.  
  70. #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
  71. #define WIN32_LEAN_AND_MEAN 1
  72. #include <windows.h>
  73. #endif
  74.  
  75. #ifndef APIENTRY
  76. #define APIENTRY
  77. #endif
  78. #ifndef APIENTRYP
  79. #define APIENTRYP APIENTRY *
  80. #endif
  81. #ifndef GLAPI
  82. #define GLAPI extern
  83. #endif
  84.  
  85. /* Base GL types */
  86.  
  87. typedef unsigned int GLenum;
  88. typedef unsigned char GLboolean;
  89. typedef unsigned int GLbitfield;
  90. typedef signed char GLbyte;
  91. typedef short GLshort;
  92. typedef int GLint;
  93. typedef int GLsizei;
  94. typedef unsigned char GLubyte;
  95. typedef unsigned short GLushort;
  96. typedef unsigned int GLuint;
  97. typedef unsigned short GLhalf;
  98. typedef float GLfloat;
  99. typedef float GLclampf;
  100. typedef double GLdouble;
  101. typedef double GLclampd;
  102. typedef void GLvoid;
  103.  
  104. /*************************************************************/
  105.  
  106. #ifndef GL_VERSION_1_1
  107. /* AttribMask */
  108. #define GL_DEPTH_BUFFER_BIT               0x00000100
  109. #define GL_STENCIL_BUFFER_BIT             0x00000400
  110. #define GL_COLOR_BUFFER_BIT               0x00004000
  111. /* Boolean */
  112. #define GL_FALSE                          0
  113. #define GL_TRUE                           1
  114. /* BeginMode */
  115. #define GL_POINTS                         0x0000
  116. #define GL_LINES                          0x0001
  117. #define GL_LINE_LOOP                      0x0002
  118. #define GL_LINE_STRIP                     0x0003
  119. #define GL_TRIANGLES                      0x0004
  120. #define GL_TRIANGLE_STRIP                 0x0005
  121. #define GL_TRIANGLE_FAN                   0x0006
  122. /* AlphaFunction */
  123. #define GL_NEVER                          0x0200
  124. #define GL_LESS                           0x0201
  125. #define GL_EQUAL                          0x0202
  126. #define GL_LEQUAL                         0x0203
  127. #define GL_GREATER                        0x0204
  128. #define GL_NOTEQUAL                       0x0205
  129. #define GL_GEQUAL                         0x0206
  130. #define GL_ALWAYS                         0x0207
  131. /* BlendingFactorDest */
  132. #define GL_ZERO                           0
  133. #define GL_ONE                            1
  134. #define GL_SRC_COLOR                      0x0300
  135. #define GL_ONE_MINUS_SRC_COLOR            0x0301
  136. #define GL_SRC_ALPHA                      0x0302
  137. #define GL_ONE_MINUS_SRC_ALPHA            0x0303
  138. #define GL_DST_ALPHA                      0x0304
  139. #define GL_ONE_MINUS_DST_ALPHA            0x0305
  140. /* BlendingFactorSrc */
  141. #define GL_DST_COLOR                      0x0306
  142. #define GL_ONE_MINUS_DST_COLOR            0x0307
  143. #define GL_SRC_ALPHA_SATURATE             0x0308
  144. /* DrawBufferMode */
  145. #define GL_NONE                           0
  146. #define GL_FRONT_LEFT                     0x0400
  147. #define GL_FRONT_RIGHT                    0x0401
  148. #define GL_BACK_LEFT                      0x0402
  149. #define GL_BACK_RIGHT                     0x0403
  150. #define GL_FRONT                          0x0404
  151. #define GL_BACK                           0x0405
  152. #define GL_LEFT                           0x0406
  153. #define GL_RIGHT                          0x0407
  154. #define GL_FRONT_AND_BACK                 0x0408
  155. /* ErrorCode */
  156. #define GL_NO_ERROR                       0
  157. #define GL_INVALID_ENUM                   0x0500
  158. #define GL_INVALID_VALUE                  0x0501
  159. #define GL_INVALID_OPERATION              0x0502
  160. #define GL_OUT_OF_MEMORY                  0x0505
  161. /* FrontFaceDirection */
  162. #define GL_CW                             0x0900
  163. #define GL_CCW                            0x0901
  164. /* GetPName */
  165. #define GL_POINT_SIZE                     0x0B11
  166. #define GL_POINT_SIZE_RANGE               0x0B12
  167. #define GL_POINT_SIZE_GRANULARITY         0x0B13
  168. #define GL_LINE_SMOOTH                    0x0B20
  169. #define GL_LINE_WIDTH                     0x0B21
  170. #define GL_LINE_WIDTH_RANGE               0x0B22
  171. #define GL_LINE_WIDTH_GRANULARITY         0x0B23
  172. #define GL_POLYGON_SMOOTH                 0x0B41
  173. #define GL_CULL_FACE                      0x0B44
  174. #define GL_CULL_FACE_MODE                 0x0B45
  175. #define GL_FRONT_FACE                     0x0B46
  176. #define GL_DEPTH_RANGE                    0x0B70
  177. #define GL_DEPTH_TEST                     0x0B71
  178. #define GL_DEPTH_WRITEMASK                0x0B72
  179. #define GL_DEPTH_CLEAR_VALUE              0x0B73
  180. #define GL_DEPTH_FUNC                     0x0B74
  181. #define GL_STENCIL_TEST                   0x0B90
  182. #define GL_STENCIL_CLEAR_VALUE            0x0B91
  183. #define GL_STENCIL_FUNC                   0x0B92
  184. #define GL_STENCIL_VALUE_MASK             0x0B93
  185. #define GL_STENCIL_FAIL                   0x0B94
  186. #define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95
  187. #define GL_STENCIL_PASS_DEPTH_PASS        0x0B96
  188. #define GL_STENCIL_REF                    0x0B97
  189. #define GL_STENCIL_WRITEMASK              0x0B98
  190. #define GL_VIEWPORT                       0x0BA2
  191. #define GL_DITHER                         0x0BD0
  192. #define GL_BLEND_DST                      0x0BE0
  193. #define GL_BLEND_SRC                      0x0BE1
  194. #define GL_BLEND                          0x0BE2
  195. #define GL_LOGIC_OP_MODE                  0x0BF0
  196. #define GL_COLOR_LOGIC_OP                 0x0BF2
  197. #define GL_DRAW_BUFFER                    0x0C01
  198. #define GL_READ_BUFFER                    0x0C02
  199. #define GL_SCISSOR_BOX                    0x0C10
  200. #define GL_SCISSOR_TEST                   0x0C11
  201. #define GL_COLOR_CLEAR_VALUE              0x0C22
  202. #define GL_COLOR_WRITEMASK                0x0C23
  203. #define GL_DOUBLEBUFFER                   0x0C32
  204. #define GL_STEREO                         0x0C33
  205. #define GL_LINE_SMOOTH_HINT               0x0C52
  206. #define GL_POLYGON_SMOOTH_HINT            0x0C53
  207. #define GL_UNPACK_SWAP_BYTES              0x0CF0
  208. #define GL_UNPACK_LSB_FIRST               0x0CF1
  209. #define GL_UNPACK_ROW_LENGTH              0x0CF2
  210. #define GL_UNPACK_SKIP_ROWS               0x0CF3
  211. #define GL_UNPACK_SKIP_PIXELS             0x0CF4
  212. #define GL_UNPACK_ALIGNMENT               0x0CF5
  213. #define GL_PACK_SWAP_BYTES                0x0D00
  214. #define GL_PACK_LSB_FIRST                 0x0D01
  215. #define GL_PACK_ROW_LENGTH                0x0D02
  216. #define GL_PACK_SKIP_ROWS                 0x0D03
  217. #define GL_PACK_SKIP_PIXELS               0x0D04
  218. #define GL_PACK_ALIGNMENT                 0x0D05
  219. #define GL_MAX_TEXTURE_SIZE               0x0D33
  220. #define GL_MAX_VIEWPORT_DIMS              0x0D3A
  221. #define GL_SUBPIXEL_BITS                  0x0D50
  222. #define GL_TEXTURE_1D                     0x0DE0
  223. #define GL_TEXTURE_2D                     0x0DE1
  224. #define GL_POLYGON_OFFSET_UNITS           0x2A00
  225. #define GL_POLYGON_OFFSET_POINT           0x2A01
  226. #define GL_POLYGON_OFFSET_LINE            0x2A02
  227. #define GL_POLYGON_OFFSET_FILL            0x8037
  228. #define GL_POLYGON_OFFSET_FACTOR          0x8038
  229. #define GL_TEXTURE_BINDING_1D             0x8068
  230. #define GL_TEXTURE_BINDING_2D             0x8069
  231. /* GetTextureParameter */
  232. #define GL_TEXTURE_WIDTH                  0x1000
  233. #define GL_TEXTURE_HEIGHT                 0x1001
  234. #define GL_TEXTURE_INTERNAL_FORMAT        0x1003
  235. #define GL_TEXTURE_BORDER_COLOR           0x1004
  236. #define GL_TEXTURE_RED_SIZE               0x805C
  237. #define GL_TEXTURE_GREEN_SIZE             0x805D
  238. #define GL_TEXTURE_BLUE_SIZE              0x805E
  239. #define GL_TEXTURE_ALPHA_SIZE             0x805F
  240. /* HintMode */
  241. #define GL_DONT_CARE                      0x1100
  242. #define GL_FASTEST                        0x1101
  243. #define GL_NICEST                         0x1102
  244. /* DataType */
  245. #define GL_BYTE                           0x1400
  246. #define GL_UNSIGNED_BYTE                  0x1401
  247. #define GL_SHORT                          0x1402
  248. #define GL_UNSIGNED_SHORT                 0x1403
  249. #define GL_INT                            0x1404
  250. #define GL_UNSIGNED_INT                   0x1405
  251. #define GL_FLOAT                          0x1406
  252. #define GL_DOUBLE                         0x140A
  253. /* LogicOp */
  254. #define GL_CLEAR                          0x1500
  255. #define GL_AND                            0x1501
  256. #define GL_AND_REVERSE                    0x1502
  257. #define GL_COPY                           0x1503
  258. #define GL_AND_INVERTED                   0x1504
  259. #define GL_NOOP                           0x1505
  260. #define GL_XOR                            0x1506
  261. #define GL_OR                             0x1507
  262. #define GL_NOR                            0x1508
  263. #define GL_EQUIV                          0x1509
  264. #define GL_INVERT                         0x150A
  265. #define GL_OR_REVERSE                     0x150B
  266. #define GL_COPY_INVERTED                  0x150C
  267. #define GL_OR_INVERTED                    0x150D
  268. #define GL_NAND                           0x150E
  269. #define GL_SET                            0x150F
  270. /* MatrixMode (for gl3.h, FBO attachment type) */
  271. #define GL_TEXTURE                        0x1702
  272. /* PixelCopyType */
  273. #define GL_COLOR                          0x1800
  274. #define GL_DEPTH                          0x1801
  275. #define GL_STENCIL                        0x1802
  276. /* PixelFormat */
  277. #define GL_STENCIL_INDEX                  0x1901
  278. #define GL_DEPTH_COMPONENT                0x1902
  279. #define GL_RED                            0x1903
  280. #define GL_GREEN                          0x1904
  281. #define GL_BLUE                           0x1905
  282. #define GL_ALPHA                          0x1906
  283. #define GL_RGB                            0x1907
  284. #define GL_RGBA                           0x1908
  285. /* PolygonMode */
  286. #define GL_POINT                          0x1B00
  287. #define GL_LINE                           0x1B01
  288. #define GL_FILL                           0x1B02
  289. /* StencilOp */
  290. #define GL_KEEP                           0x1E00
  291. #define GL_REPLACE                        0x1E01
  292. #define GL_INCR                           0x1E02
  293. #define GL_DECR                           0x1E03
  294. /* StringName */
  295. #define GL_VENDOR                         0x1F00
  296. #define GL_RENDERER                       0x1F01
  297. #define GL_VERSION                        0x1F02
  298. #define GL_EXTENSIONS                     0x1F03
  299. /* TextureMagFilter */
  300. #define GL_NEAREST                        0x2600
  301. #define GL_LINEAR                         0x2601
  302. /* TextureMinFilter */
  303. #define GL_NEAREST_MIPMAP_NEAREST         0x2700
  304. #define GL_LINEAR_MIPMAP_NEAREST          0x2701
  305. #define GL_NEAREST_MIPMAP_LINEAR          0x2702
  306. #define GL_LINEAR_MIPMAP_LINEAR           0x2703
  307. /* TextureParameterName */
  308. #define GL_TEXTURE_MAG_FILTER             0x2800
  309. #define GL_TEXTURE_MIN_FILTER             0x2801
  310. #define GL_TEXTURE_WRAP_S                 0x2802
  311. #define GL_TEXTURE_WRAP_T                 0x2803
  312. /* TextureTarget */
  313. #define GL_PROXY_TEXTURE_1D               0x8063
  314. #define GL_PROXY_TEXTURE_2D               0x8064
  315. /* TextureWrapMode */
  316. #define GL_REPEAT                         0x2901
  317. /* PixelInternalFormat */
  318. #define GL_R3_G3_B2                       0x2A10
  319. #define GL_RGB4                           0x804F
  320. #define GL_RGB5                           0x8050
  321. #define GL_RGB8                           0x8051
  322. #define GL_RGB10                          0x8052
  323. #define GL_RGB12                          0x8053
  324. #define GL_RGB16                          0x8054
  325. #define GL_RGBA2                          0x8055
  326. #define GL_RGBA4                          0x8056
  327. #define GL_RGB5_A1                        0x8057
  328. #define GL_RGBA8                          0x8058
  329. #define GL_RGB10_A2                       0x8059
  330. #define GL_RGBA12                         0x805A
  331. #define GL_RGBA16                         0x805B
  332. #endif
  333.  
  334. #ifndef GL_VERSION_1_2
  335. #define GL_UNSIGNED_BYTE_3_3_2            0x8032
  336. #define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
  337. #define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
  338. #define GL_UNSIGNED_INT_8_8_8_8           0x8035
  339. #define GL_UNSIGNED_INT_10_10_10_2        0x8036
  340. #define GL_TEXTURE_BINDING_3D             0x806A
  341. #define GL_PACK_SKIP_IMAGES               0x806B
  342. #define GL_PACK_IMAGE_HEIGHT              0x806C
  343. #define GL_UNPACK_SKIP_IMAGES             0x806D
  344. #define GL_UNPACK_IMAGE_HEIGHT            0x806E
  345. #define GL_TEXTURE_3D                     0x806F
  346. #define GL_PROXY_TEXTURE_3D               0x8070
  347. #define GL_TEXTURE_DEPTH                  0x8071
  348. #define GL_TEXTURE_WRAP_R                 0x8072
  349. #define GL_MAX_3D_TEXTURE_SIZE            0x8073
  350. #define GL_UNSIGNED_BYTE_2_3_3_REV        0x8362
  351. #define GL_UNSIGNED_SHORT_5_6_5           0x8363
  352. #define GL_UNSIGNED_SHORT_5_6_5_REV       0x8364
  353. #define GL_UNSIGNED_SHORT_4_4_4_4_REV     0x8365
  354. #define GL_UNSIGNED_SHORT_1_5_5_5_REV     0x8366
  355. #define GL_UNSIGNED_INT_8_8_8_8_REV       0x8367
  356. #define GL_UNSIGNED_INT_2_10_10_10_REV    0x8368
  357. #define GL_BGR                            0x80E0
  358. #define GL_BGRA                           0x80E1
  359. #define GL_MAX_ELEMENTS_VERTICES          0x80E8
  360. #define GL_MAX_ELEMENTS_INDICES           0x80E9
  361. #define GL_CLAMP_TO_EDGE                  0x812F
  362. #define GL_TEXTURE_MIN_LOD                0x813A
  363. #define GL_TEXTURE_MAX_LOD                0x813B
  364. #define GL_TEXTURE_BASE_LEVEL             0x813C
  365. #define GL_TEXTURE_MAX_LEVEL              0x813D
  366. #define GL_SMOOTH_POINT_SIZE_RANGE        0x0B12
  367. #define GL_SMOOTH_POINT_SIZE_GRANULARITY  0x0B13
  368. #define GL_SMOOTH_LINE_WIDTH_RANGE        0x0B22
  369. #define GL_SMOOTH_LINE_WIDTH_GRANULARITY  0x0B23
  370. #define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
  371. #endif
  372.  
  373. #ifndef GL_ARB_imaging
  374. #define GL_CONSTANT_COLOR                 0x8001
  375. #define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
  376. #define GL_CONSTANT_ALPHA                 0x8003
  377. #define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
  378. #define GL_BLEND_COLOR                    0x8005
  379. #define GL_FUNC_ADD                       0x8006
  380. #define GL_MIN                            0x8007
  381. #define GL_MAX                            0x8008
  382. #define GL_BLEND_EQUATION                 0x8009
  383. #define GL_FUNC_SUBTRACT                  0x800A
  384. #define GL_FUNC_REVERSE_SUBTRACT          0x800B
  385. #endif
  386.  
  387. #ifndef GL_VERSION_1_3
  388. #define GL_TEXTURE0                       0x84C0
  389. #define GL_TEXTURE1                       0x84C1
  390. #define GL_TEXTURE2                       0x84C2
  391. #define GL_TEXTURE3                       0x84C3
  392. #define GL_TEXTURE4                       0x84C4
  393. #define GL_TEXTURE5                       0x84C5
  394. #define GL_TEXTURE6                       0x84C6
  395. #define GL_TEXTURE7                       0x84C7
  396. #define GL_TEXTURE8                       0x84C8
  397. #define GL_TEXTURE9                       0x84C9
  398. #define GL_TEXTURE10                      0x84CA
  399. #define GL_TEXTURE11                      0x84CB
  400. #define GL_TEXTURE12                      0x84CC
  401. #define GL_TEXTURE13                      0x84CD
  402. #define GL_TEXTURE14                      0x84CE
  403. #define GL_TEXTURE15                      0x84CF
  404. #define GL_TEXTURE16                      0x84D0
  405. #define GL_TEXTURE17                      0x84D1
  406. #define GL_TEXTURE18                      0x84D2
  407. #define GL_TEXTURE19                      0x84D3
  408. #define GL_TEXTURE20                      0x84D4
  409. #define GL_TEXTURE21                      0x84D5
  410. #define GL_TEXTURE22                      0x84D6
  411. #define GL_TEXTURE23                      0x84D7
  412. #define GL_TEXTURE24                      0x84D8
  413. #define GL_TEXTURE25                      0x84D9
  414. #define GL_TEXTURE26                      0x84DA
  415. #define GL_TEXTURE27                      0x84DB
  416. #define GL_TEXTURE28                      0x84DC
  417. #define GL_TEXTURE29                      0x84DD
  418. #define GL_TEXTURE30                      0x84DE
  419. #define GL_TEXTURE31                      0x84DF
  420. #define GL_ACTIVE_TEXTURE                 0x84E0
  421. #define GL_MULTISAMPLE                    0x809D
  422. #define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
  423. #define GL_SAMPLE_ALPHA_TO_ONE            0x809F
  424. #define GL_SAMPLE_COVERAGE                0x80A0
  425. #define GL_SAMPLE_BUFFERS                 0x80A8
  426. #define GL_SAMPLES                        0x80A9
  427. #define GL_SAMPLE_COVERAGE_VALUE          0x80AA
  428. #define GL_SAMPLE_COVERAGE_INVERT         0x80AB
  429. #define GL_TEXTURE_CUBE_MAP               0x8513
  430. #define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
  431. #define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
  432. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
  433. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
  434. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
  435. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
  436. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
  437. #define GL_PROXY_TEXTURE_CUBE_MAP         0x851B
  438. #define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
  439. #define GL_COMPRESSED_RGB                 0x84ED
  440. #define GL_COMPRESSED_RGBA                0x84EE
  441. #define GL_TEXTURE_COMPRESSION_HINT       0x84EF
  442. #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86A0
  443. #define GL_TEXTURE_COMPRESSED             0x86A1
  444. #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
  445. #define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
  446. #define GL_CLAMP_TO_BORDER                0x812D
  447. #endif
  448.  
  449. #ifndef GL_VERSION_1_4
  450. #define GL_BLEND_DST_RGB                  0x80C8
  451. #define GL_BLEND_SRC_RGB                  0x80C9
  452. #define GL_BLEND_DST_ALPHA                0x80CA
  453. #define GL_BLEND_SRC_ALPHA                0x80CB
  454. #define GL_POINT_FADE_THRESHOLD_SIZE      0x8128
  455. #define GL_DEPTH_COMPONENT16              0x81A5
  456. #define GL_DEPTH_COMPONENT24              0x81A6
  457. #define GL_DEPTH_COMPONENT32              0x81A7
  458. #define GL_MIRRORED_REPEAT                0x8370
  459. #define GL_MAX_TEXTURE_LOD_BIAS           0x84FD
  460. #define GL_TEXTURE_LOD_BIAS               0x8501
  461. #define GL_INCR_WRAP                      0x8507
  462. #define GL_DECR_WRAP                      0x8508
  463. #define GL_TEXTURE_DEPTH_SIZE             0x884A
  464. #define GL_TEXTURE_COMPARE_MODE           0x884C
  465. #define GL_TEXTURE_COMPARE_FUNC           0x884D
  466. #endif
  467.  
  468. #ifndef GL_VERSION_1_5
  469. #define GL_BUFFER_SIZE                    0x8764
  470. #define GL_BUFFER_USAGE                   0x8765
  471. #define GL_QUERY_COUNTER_BITS             0x8864
  472. #define GL_CURRENT_QUERY                  0x8865
  473. #define GL_QUERY_RESULT                   0x8866
  474. #define GL_QUERY_RESULT_AVAILABLE         0x8867
  475. #define GL_ARRAY_BUFFER                   0x8892
  476. #define GL_ELEMENT_ARRAY_BUFFER           0x8893
  477. #define GL_ARRAY_BUFFER_BINDING           0x8894
  478. #define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895
  479. #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
  480. #define GL_READ_ONLY                      0x88B8
  481. #define GL_WRITE_ONLY                     0x88B9
  482. #define GL_READ_WRITE                     0x88BA
  483. #define GL_BUFFER_ACCESS                  0x88BB
  484. #define GL_BUFFER_MAPPED                  0x88BC
  485. #define GL_BUFFER_MAP_POINTER             0x88BD
  486. #define GL_STREAM_DRAW                    0x88E0
  487. #define GL_STREAM_READ                    0x88E1
  488. #define GL_STREAM_COPY                    0x88E2
  489. #define GL_STATIC_DRAW                    0x88E4
  490. #define GL_STATIC_READ                    0x88E5
  491. #define GL_STATIC_COPY                    0x88E6
  492. #define GL_DYNAMIC_DRAW                   0x88E8
  493. #define GL_DYNAMIC_READ                   0x88E9
  494. #define GL_DYNAMIC_COPY                   0x88EA
  495. #define GL_SAMPLES_PASSED                 0x8914
  496. #endif
  497.  
  498. #ifndef GL_VERSION_2_0
  499. #define GL_BLEND_EQUATION_RGB             0x8009
  500. #define GL_VERTEX_ATTRIB_ARRAY_ENABLED    0x8622
  501. #define GL_VERTEX_ATTRIB_ARRAY_SIZE       0x8623
  502. #define GL_VERTEX_ATTRIB_ARRAY_STRIDE     0x8624
  503. #define GL_VERTEX_ATTRIB_ARRAY_TYPE       0x8625
  504. #define GL_CURRENT_VERTEX_ATTRIB          0x8626
  505. #define GL_VERTEX_PROGRAM_POINT_SIZE      0x8642
  506. #define GL_VERTEX_ATTRIB_ARRAY_POINTER    0x8645
  507. #define GL_STENCIL_BACK_FUNC              0x8800
  508. #define GL_STENCIL_BACK_FAIL              0x8801
  509. #define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802
  510. #define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803
  511. #define GL_MAX_DRAW_BUFFERS               0x8824
  512. #define GL_DRAW_BUFFER0                   0x8825
  513. #define GL_DRAW_BUFFER1                   0x8826
  514. #define GL_DRAW_BUFFER2                   0x8827
  515. #define GL_DRAW_BUFFER3                   0x8828
  516. #define GL_DRAW_BUFFER4                   0x8829
  517. #define GL_DRAW_BUFFER5                   0x882A
  518. #define GL_DRAW_BUFFER6                   0x882B
  519. #define GL_DRAW_BUFFER7                   0x882C
  520. #define GL_DRAW_BUFFER8                   0x882D
  521. #define GL_DRAW_BUFFER9                   0x882E
  522. #define GL_DRAW_BUFFER10                  0x882F
  523. #define GL_DRAW_BUFFER11                  0x8830
  524. #define GL_DRAW_BUFFER12                  0x8831
  525. #define GL_DRAW_BUFFER13                  0x8832
  526. #define GL_DRAW_BUFFER14                  0x8833
  527. #define GL_DRAW_BUFFER15                  0x8834
  528. #define GL_BLEND_EQUATION_ALPHA           0x883D
  529. #define GL_MAX_VERTEX_ATTRIBS             0x8869
  530. #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
  531. #define GL_MAX_TEXTURE_IMAGE_UNITS        0x8872
  532. #define GL_FRAGMENT_SHADER                0x8B30
  533. #define GL_VERTEX_SHADER                  0x8B31
  534. #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
  535. #define GL_MAX_VERTEX_UNIFORM_COMPONENTS  0x8B4A
  536. #define GL_MAX_VARYING_FLOATS             0x8B4B
  537. #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
  538. #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
  539. #define GL_SHADER_TYPE                    0x8B4F
  540. #define GL_FLOAT_VEC2                     0x8B50
  541. #define GL_FLOAT_VEC3                     0x8B51
  542. #define GL_FLOAT_VEC4                     0x8B52
  543. #define GL_INT_VEC2                       0x8B53
  544. #define GL_INT_VEC3                       0x8B54
  545. #define GL_INT_VEC4                       0x8B55
  546. #define GL_BOOL                           0x8B56
  547. #define GL_BOOL_VEC2                      0x8B57
  548. #define GL_BOOL_VEC3                      0x8B58
  549. #define GL_BOOL_VEC4                      0x8B59
  550. #define GL_FLOAT_MAT2                     0x8B5A
  551. #define GL_FLOAT_MAT3                     0x8B5B
  552. #define GL_FLOAT_MAT4                     0x8B5C
  553. #define GL_SAMPLER_1D                     0x8B5D
  554. #define GL_SAMPLER_2D                     0x8B5E
  555. #define GL_SAMPLER_3D                     0x8B5F
  556. #define GL_SAMPLER_CUBE                   0x8B60
  557. #define GL_SAMPLER_1D_SHADOW              0x8B61
  558. #define GL_SAMPLER_2D_SHADOW              0x8B62
  559. #define GL_DELETE_STATUS                  0x8B80
  560. #define GL_COMPILE_STATUS                 0x8B81
  561. #define GL_LINK_STATUS                    0x8B82
  562. #define GL_VALIDATE_STATUS                0x8B83
  563. #define GL_INFO_LOG_LENGTH                0x8B84
  564. #define GL_ATTACHED_SHADERS               0x8B85
  565. #define GL_ACTIVE_UNIFORMS                0x8B86
  566. #define GL_ACTIVE_UNIFORM_MAX_LENGTH      0x8B87
  567. #define GL_SHADER_SOURCE_LENGTH           0x8B88
  568. #define GL_ACTIVE_ATTRIBUTES              0x8B89
  569. #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH    0x8B8A
  570. #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
  571. #define GL_SHADING_LANGUAGE_VERSION       0x8B8C
  572. #define GL_CURRENT_PROGRAM                0x8B8D
  573. #define GL_POINT_SPRITE_COORD_ORIGIN      0x8CA0
  574. #define GL_LOWER_LEFT                     0x8CA1
  575. #define GL_UPPER_LEFT                     0x8CA2
  576. #define GL_STENCIL_BACK_REF               0x8CA3
  577. #define GL_STENCIL_BACK_VALUE_MASK        0x8CA4
  578. #define GL_STENCIL_BACK_WRITEMASK         0x8CA5
  579. #endif
  580.  
  581. #ifndef GL_VERSION_2_1
  582. #define GL_PIXEL_PACK_BUFFER              0x88EB
  583. #define GL_PIXEL_UNPACK_BUFFER            0x88EC
  584. #define GL_PIXEL_PACK_BUFFER_BINDING      0x88ED
  585. #define GL_PIXEL_UNPACK_BUFFER_BINDING    0x88EF
  586. #define GL_FLOAT_MAT2x3                   0x8B65
  587. #define GL_FLOAT_MAT2x4                   0x8B66
  588. #define GL_FLOAT_MAT3x2                   0x8B67
  589. #define GL_FLOAT_MAT3x4                   0x8B68
  590. #define GL_FLOAT_MAT4x2                   0x8B69
  591. #define GL_FLOAT_MAT4x3                   0x8B6A
  592. #define GL_SRGB                           0x8C40
  593. #define GL_SRGB8                          0x8C41
  594. #define GL_SRGB_ALPHA                     0x8C42
  595. #define GL_SRGB8_ALPHA8                   0x8C43
  596. #define GL_COMPRESSED_SRGB                0x8C48
  597. #define GL_COMPRESSED_SRGB_ALPHA          0x8C49
  598. #endif
  599.  
  600. #ifndef GL_VERSION_3_0
  601. #define GL_COMPARE_REF_TO_TEXTURE         0x884E
  602. #define GL_CLIP_DISTANCE0                 0x3000
  603. #define GL_CLIP_DISTANCE1                 0x3001
  604. #define GL_CLIP_DISTANCE2                 0x3002
  605. #define GL_CLIP_DISTANCE3                 0x3003
  606. #define GL_CLIP_DISTANCE4                 0x3004
  607. #define GL_CLIP_DISTANCE5                 0x3005
  608. #define GL_CLIP_DISTANCE6                 0x3006
  609. #define GL_CLIP_DISTANCE7                 0x3007
  610. #define GL_MAX_CLIP_DISTANCES             0x0D32
  611. #define GL_MAJOR_VERSION                  0x821B
  612. #define GL_MINOR_VERSION                  0x821C
  613. #define GL_NUM_EXTENSIONS                 0x821D
  614. #define GL_CONTEXT_FLAGS                  0x821E
  615. #define GL_COMPRESSED_RED                 0x8225
  616. #define GL_COMPRESSED_RG                  0x8226
  617. #define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
  618. #define GL_RGBA32F                        0x8814
  619. #define GL_RGB32F                         0x8815
  620. #define GL_RGBA16F                        0x881A
  621. #define GL_RGB16F                         0x881B
  622. #define GL_VERTEX_ATTRIB_ARRAY_INTEGER    0x88FD
  623. #define GL_MAX_ARRAY_TEXTURE_LAYERS       0x88FF
  624. #define GL_MIN_PROGRAM_TEXEL_OFFSET       0x8904
  625. #define GL_MAX_PROGRAM_TEXEL_OFFSET       0x8905
  626. #define GL_CLAMP_READ_COLOR               0x891C
  627. #define GL_FIXED_ONLY                     0x891D
  628. #define GL_MAX_VARYING_COMPONENTS         0x8B4B
  629. #define GL_TEXTURE_1D_ARRAY               0x8C18
  630. #define GL_PROXY_TEXTURE_1D_ARRAY         0x8C19
  631. #define GL_TEXTURE_2D_ARRAY               0x8C1A
  632. #define GL_PROXY_TEXTURE_2D_ARRAY         0x8C1B
  633. #define GL_TEXTURE_BINDING_1D_ARRAY       0x8C1C
  634. #define GL_TEXTURE_BINDING_2D_ARRAY       0x8C1D
  635. #define GL_R11F_G11F_B10F                 0x8C3A
  636. #define GL_UNSIGNED_INT_10F_11F_11F_REV   0x8C3B
  637. #define GL_RGB9_E5                        0x8C3D
  638. #define GL_UNSIGNED_INT_5_9_9_9_REV       0x8C3E
  639. #define GL_TEXTURE_SHARED_SIZE            0x8C3F
  640. #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
  641. #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
  642. #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
  643. #define GL_TRANSFORM_FEEDBACK_VARYINGS    0x8C83
  644. #define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
  645. #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
  646. #define GL_PRIMITIVES_GENERATED           0x8C87
  647. #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
  648. #define GL_RASTERIZER_DISCARD             0x8C89
  649. #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
  650. #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
  651. #define GL_INTERLEAVED_ATTRIBS            0x8C8C
  652. #define GL_SEPARATE_ATTRIBS               0x8C8D
  653. #define GL_TRANSFORM_FEEDBACK_BUFFER      0x8C8E
  654. #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
  655. #define GL_RGBA32UI                       0x8D70
  656. #define GL_RGB32UI                        0x8D71
  657. #define GL_RGBA16UI                       0x8D76
  658. #define GL_RGB16UI                        0x8D77
  659. #define GL_RGBA8UI                        0x8D7C
  660. #define GL_RGB8UI                         0x8D7D
  661. #define GL_RGBA32I                        0x8D82
  662. #define GL_RGB32I                         0x8D83
  663. #define GL_RGBA16I                        0x8D88
  664. #define GL_RGB16I                         0x8D89
  665. #define GL_RGBA8I                         0x8D8E
  666. #define GL_RGB8I                          0x8D8F
  667. #define GL_RED_INTEGER                    0x8D94
  668. #define GL_GREEN_INTEGER                  0x8D95
  669. #define GL_BLUE_INTEGER                   0x8D96
  670. #define GL_RGB_INTEGER                    0x8D98
  671. #define GL_RGBA_INTEGER                   0x8D99
  672. #define GL_BGR_INTEGER                    0x8D9A
  673. #define GL_BGRA_INTEGER                   0x8D9B
  674. #define GL_SAMPLER_1D_ARRAY               0x8DC0
  675. #define GL_SAMPLER_2D_ARRAY               0x8DC1
  676. #define GL_SAMPLER_1D_ARRAY_SHADOW        0x8DC3
  677. #define GL_SAMPLER_2D_ARRAY_SHADOW        0x8DC4
  678. #define GL_SAMPLER_CUBE_SHADOW            0x8DC5
  679. #define GL_UNSIGNED_INT_VEC2              0x8DC6
  680. #define GL_UNSIGNED_INT_VEC3              0x8DC7
  681. #define GL_UNSIGNED_INT_VEC4              0x8DC8
  682. #define GL_INT_SAMPLER_1D                 0x8DC9
  683. #define GL_INT_SAMPLER_2D                 0x8DCA
  684. #define GL_INT_SAMPLER_3D                 0x8DCB
  685. #define GL_INT_SAMPLER_CUBE               0x8DCC
  686. #define GL_INT_SAMPLER_1D_ARRAY           0x8DCE
  687. #define GL_INT_SAMPLER_2D_ARRAY           0x8DCF
  688. #define GL_UNSIGNED_INT_SAMPLER_1D        0x8DD1
  689. #define GL_UNSIGNED_INT_SAMPLER_2D        0x8DD2
  690. #define GL_UNSIGNED_INT_SAMPLER_3D        0x8DD3
  691. #define GL_UNSIGNED_INT_SAMPLER_CUBE      0x8DD4
  692. #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY  0x8DD6
  693. #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY  0x8DD7
  694. #define GL_QUERY_WAIT                     0x8E13
  695. #define GL_QUERY_NO_WAIT                  0x8E14
  696. #define GL_QUERY_BY_REGION_WAIT           0x8E15
  697. #define GL_QUERY_BY_REGION_NO_WAIT        0x8E16
  698. #define GL_BUFFER_ACCESS_FLAGS            0x911F
  699. #define GL_BUFFER_MAP_LENGTH              0x9120
  700. #define GL_BUFFER_MAP_OFFSET              0x9121
  701. /* Reuse tokens from ARB_depth_buffer_float */
  702. /* reuse GL_DEPTH_COMPONENT32F */
  703. /* reuse GL_DEPTH32F_STENCIL8 */
  704. /* reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV */
  705. /* Reuse tokens from ARB_framebuffer_object */
  706. /* reuse GL_INVALID_FRAMEBUFFER_OPERATION */
  707. /* reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
  708. /* reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
  709. /* reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
  710. /* reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
  711. /* reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
  712. /* reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
  713. /* reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
  714. /* reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
  715. /* reuse GL_FRAMEBUFFER_DEFAULT */
  716. /* reuse GL_FRAMEBUFFER_UNDEFINED */
  717. /* reuse GL_DEPTH_STENCIL_ATTACHMENT */
  718. /* reuse GL_INDEX */
  719. /* reuse GL_MAX_RENDERBUFFER_SIZE */
  720. /* reuse GL_DEPTH_STENCIL */
  721. /* reuse GL_UNSIGNED_INT_24_8 */
  722. /* reuse GL_DEPTH24_STENCIL8 */
  723. /* reuse GL_TEXTURE_STENCIL_SIZE */
  724. /* reuse GL_TEXTURE_RED_TYPE */
  725. /* reuse GL_TEXTURE_GREEN_TYPE */
  726. /* reuse GL_TEXTURE_BLUE_TYPE */
  727. /* reuse GL_TEXTURE_ALPHA_TYPE */
  728. /* reuse GL_TEXTURE_DEPTH_TYPE */
  729. /* reuse GL_UNSIGNED_NORMALIZED */
  730. /* reuse GL_FRAMEBUFFER_BINDING */
  731. /* reuse GL_DRAW_FRAMEBUFFER_BINDING */
  732. /* reuse GL_RENDERBUFFER_BINDING */
  733. /* reuse GL_READ_FRAMEBUFFER */
  734. /* reuse GL_DRAW_FRAMEBUFFER */
  735. /* reuse GL_READ_FRAMEBUFFER_BINDING */
  736. /* reuse GL_RENDERBUFFER_SAMPLES */
  737. /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
  738. /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
  739. /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
  740. /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
  741. /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
  742. /* reuse GL_FRAMEBUFFER_COMPLETE */
  743. /* reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
  744. /* reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
  745. /* reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
  746. /* reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
  747. /* reuse GL_FRAMEBUFFER_UNSUPPORTED */
  748. /* reuse GL_MAX_COLOR_ATTACHMENTS */
  749. /* reuse GL_COLOR_ATTACHMENT0 */
  750. /* reuse GL_COLOR_ATTACHMENT1 */
  751. /* reuse GL_COLOR_ATTACHMENT2 */
  752. /* reuse GL_COLOR_ATTACHMENT3 */
  753. /* reuse GL_COLOR_ATTACHMENT4 */
  754. /* reuse GL_COLOR_ATTACHMENT5 */
  755. /* reuse GL_COLOR_ATTACHMENT6 */
  756. /* reuse GL_COLOR_ATTACHMENT7 */
  757. /* reuse GL_COLOR_ATTACHMENT8 */
  758. /* reuse GL_COLOR_ATTACHMENT9 */
  759. /* reuse GL_COLOR_ATTACHMENT10 */
  760. /* reuse GL_COLOR_ATTACHMENT11 */
  761. /* reuse GL_COLOR_ATTACHMENT12 */
  762. /* reuse GL_COLOR_ATTACHMENT13 */
  763. /* reuse GL_COLOR_ATTACHMENT14 */
  764. /* reuse GL_COLOR_ATTACHMENT15 */
  765. /* reuse GL_DEPTH_ATTACHMENT */
  766. /* reuse GL_STENCIL_ATTACHMENT */
  767. /* reuse GL_FRAMEBUFFER */
  768. /* reuse GL_RENDERBUFFER */
  769. /* reuse GL_RENDERBUFFER_WIDTH */
  770. /* reuse GL_RENDERBUFFER_HEIGHT */
  771. /* reuse GL_RENDERBUFFER_INTERNAL_FORMAT */
  772. /* reuse GL_STENCIL_INDEX1 */
  773. /* reuse GL_STENCIL_INDEX4 */
  774. /* reuse GL_STENCIL_INDEX8 */
  775. /* reuse GL_STENCIL_INDEX16 */
  776. /* reuse GL_RENDERBUFFER_RED_SIZE */
  777. /* reuse GL_RENDERBUFFER_GREEN_SIZE */
  778. /* reuse GL_RENDERBUFFER_BLUE_SIZE */
  779. /* reuse GL_RENDERBUFFER_ALPHA_SIZE */
  780. /* reuse GL_RENDERBUFFER_DEPTH_SIZE */
  781. /* reuse GL_RENDERBUFFER_STENCIL_SIZE */
  782. /* reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
  783. /* reuse GL_MAX_SAMPLES */
  784. /* Reuse tokens from ARB_framebuffer_sRGB */
  785. /* reuse GL_FRAMEBUFFER_SRGB */
  786. /* Reuse tokens from ARB_half_float_vertex */
  787. /* reuse GL_HALF_FLOAT */
  788. /* Reuse tokens from ARB_map_buffer_range */
  789. /* reuse GL_MAP_READ_BIT */
  790. /* reuse GL_MAP_WRITE_BIT */
  791. /* reuse GL_MAP_INVALIDATE_RANGE_BIT */
  792. /* reuse GL_MAP_INVALIDATE_BUFFER_BIT */
  793. /* reuse GL_MAP_FLUSH_EXPLICIT_BIT */
  794. /* reuse GL_MAP_UNSYNCHRONIZED_BIT */
  795. /* Reuse tokens from ARB_texture_compression_rgtc */
  796. /* reuse GL_COMPRESSED_RED_RGTC1 */
  797. /* reuse GL_COMPRESSED_SIGNED_RED_RGTC1 */
  798. /* reuse GL_COMPRESSED_RG_RGTC2 */
  799. /* reuse GL_COMPRESSED_SIGNED_RG_RGTC2 */
  800. /* Reuse tokens from ARB_texture_rg */
  801. /* reuse GL_RG */
  802. /* reuse GL_RG_INTEGER */
  803. /* reuse GL_R8 */
  804. /* reuse GL_R16 */
  805. /* reuse GL_RG8 */
  806. /* reuse GL_RG16 */
  807. /* reuse GL_R16F */
  808. /* reuse GL_R32F */
  809. /* reuse GL_RG16F */
  810. /* reuse GL_RG32F */
  811. /* reuse GL_R8I */
  812. /* reuse GL_R8UI */
  813. /* reuse GL_R16I */
  814. /* reuse GL_R16UI */
  815. /* reuse GL_R32I */
  816. /* reuse GL_R32UI */
  817. /* reuse GL_RG8I */
  818. /* reuse GL_RG8UI */
  819. /* reuse GL_RG16I */
  820. /* reuse GL_RG16UI */
  821. /* reuse GL_RG32I */
  822. /* reuse GL_RG32UI */
  823. /* Reuse tokens from ARB_vertex_array_object */
  824. /* reuse GL_VERTEX_ARRAY_BINDING */
  825. #endif
  826.  
  827. #ifndef GL_VERSION_3_1
  828. #define GL_SAMPLER_2D_RECT                0x8B63
  829. #define GL_SAMPLER_2D_RECT_SHADOW         0x8B64
  830. #define GL_SAMPLER_BUFFER                 0x8DC2
  831. #define GL_INT_SAMPLER_2D_RECT            0x8DCD
  832. #define GL_INT_SAMPLER_BUFFER             0x8DD0
  833. #define GL_UNSIGNED_INT_SAMPLER_2D_RECT   0x8DD5
  834. #define GL_UNSIGNED_INT_SAMPLER_BUFFER    0x8DD8
  835. #define GL_TEXTURE_BUFFER                 0x8C2A
  836. #define GL_MAX_TEXTURE_BUFFER_SIZE        0x8C2B
  837. #define GL_TEXTURE_BINDING_BUFFER         0x8C2C
  838. #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
  839. #define GL_TEXTURE_BUFFER_FORMAT          0x8C2E
  840. #define GL_TEXTURE_RECTANGLE              0x84F5
  841. #define GL_TEXTURE_BINDING_RECTANGLE      0x84F6
  842. #define GL_PROXY_TEXTURE_RECTANGLE        0x84F7
  843. #define GL_MAX_RECTANGLE_TEXTURE_SIZE     0x84F8
  844. #define GL_RED_SNORM                      0x8F90
  845. #define GL_RG_SNORM                       0x8F91
  846. #define GL_RGB_SNORM                      0x8F92
  847. #define GL_RGBA_SNORM                     0x8F93
  848. #define GL_R8_SNORM                       0x8F94
  849. #define GL_RG8_SNORM                      0x8F95
  850. #define GL_RGB8_SNORM                     0x8F96
  851. #define GL_RGBA8_SNORM                    0x8F97
  852. #define GL_R16_SNORM                      0x8F98
  853. #define GL_RG16_SNORM                     0x8F99
  854. #define GL_RGB16_SNORM                    0x8F9A
  855. #define GL_RGBA16_SNORM                   0x8F9B
  856. #define GL_SIGNED_NORMALIZED              0x8F9C
  857. #define GL_PRIMITIVE_RESTART              0x8F9D
  858. #define GL_PRIMITIVE_RESTART_INDEX        0x8F9E
  859. /* Reuse tokens from ARB_copy_buffer */
  860. /* reuse GL_COPY_READ_BUFFER */
  861. /* reuse GL_COPY_WRITE_BUFFER */
  862. /* Reuse tokens from ARB_draw_instanced (none) */
  863. /* Reuse tokens from ARB_uniform_buffer_object */
  864. /* reuse GL_UNIFORM_BUFFER */
  865. /* reuse GL_UNIFORM_BUFFER_BINDING */
  866. /* reuse GL_UNIFORM_BUFFER_START */
  867. /* reuse GL_UNIFORM_BUFFER_SIZE */
  868. /* reuse GL_MAX_VERTEX_UNIFORM_BLOCKS */
  869. /* reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS */
  870. /* reuse GL_MAX_COMBINED_UNIFORM_BLOCKS */
  871. /* reuse GL_MAX_UNIFORM_BUFFER_BINDINGS */
  872. /* reuse GL_MAX_UNIFORM_BLOCK_SIZE */
  873. /* reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS */
  874. /* reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS */
  875. /* reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT */
  876. /* reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */
  877. /* reuse GL_ACTIVE_UNIFORM_BLOCKS */
  878. /* reuse GL_UNIFORM_TYPE */
  879. /* reuse GL_UNIFORM_SIZE */
  880. /* reuse GL_UNIFORM_NAME_LENGTH */
  881. /* reuse GL_UNIFORM_BLOCK_INDEX */
  882. /* reuse GL_UNIFORM_OFFSET */
  883. /* reuse GL_UNIFORM_ARRAY_STRIDE */
  884. /* reuse GL_UNIFORM_MATRIX_STRIDE */
  885. /* reuse GL_UNIFORM_IS_ROW_MAJOR */
  886. /* reuse GL_UNIFORM_BLOCK_BINDING */
  887. /* reuse GL_UNIFORM_BLOCK_DATA_SIZE */
  888. /* reuse GL_UNIFORM_BLOCK_NAME_LENGTH */
  889. /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS */
  890. /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES */
  891. /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER */
  892. /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER */
  893. /* reuse GL_INVALID_INDEX */
  894. #endif
  895.  
  896. #ifndef GL_VERSION_3_2
  897. #define GL_CONTEXT_CORE_PROFILE_BIT       0x00000001
  898. #define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
  899. #define GL_LINES_ADJACENCY                0x000A
  900. #define GL_LINE_STRIP_ADJACENCY           0x000B
  901. #define GL_TRIANGLES_ADJACENCY            0x000C
  902. #define GL_TRIANGLE_STRIP_ADJACENCY       0x000D
  903. #define GL_PROGRAM_POINT_SIZE             0x8642
  904. #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
  905. #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
  906. #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
  907. #define GL_GEOMETRY_SHADER                0x8DD9
  908. #define GL_GEOMETRY_VERTICES_OUT          0x8916
  909. #define GL_GEOMETRY_INPUT_TYPE            0x8917
  910. #define GL_GEOMETRY_OUTPUT_TYPE           0x8918
  911. #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
  912. #define GL_MAX_GEOMETRY_OUTPUT_VERTICES   0x8DE0
  913. #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
  914. #define GL_MAX_VERTEX_OUTPUT_COMPONENTS   0x9122
  915. #define GL_MAX_GEOMETRY_INPUT_COMPONENTS  0x9123
  916. #define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
  917. #define GL_MAX_FRAGMENT_INPUT_COMPONENTS  0x9125
  918. #define GL_CONTEXT_PROFILE_MASK           0x9126
  919. /* reuse GL_MAX_VARYING_COMPONENTS */
  920. /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
  921. /* Reuse tokens from ARB_depth_clamp */
  922. /* reuse GL_DEPTH_CLAMP */
  923. /* Reuse tokens from ARB_draw_elements_base_vertex (none) */
  924. /* Reuse tokens from ARB_fragment_coord_conventions (none) */
  925. /* Reuse tokens from ARB_provoking_vertex */
  926. /* reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
  927. /* reuse GL_FIRST_VERTEX_CONVENTION */
  928. /* reuse GL_LAST_VERTEX_CONVENTION */
  929. /* reuse GL_PROVOKING_VERTEX */
  930. /* Reuse tokens from ARB_seamless_cube_map */
  931. /* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */
  932. /* Reuse tokens from ARB_sync */
  933. /* reuse GL_MAX_SERVER_WAIT_TIMEOUT */
  934. /* reuse GL_OBJECT_TYPE */
  935. /* reuse GL_SYNC_CONDITION */
  936. /* reuse GL_SYNC_STATUS */
  937. /* reuse GL_SYNC_FLAGS */
  938. /* reuse GL_SYNC_FENCE */
  939. /* reuse GL_SYNC_GPU_COMMANDS_COMPLETE */
  940. /* reuse GL_UNSIGNALED */
  941. /* reuse GL_SIGNALED */
  942. /* reuse GL_ALREADY_SIGNALED */
  943. /* reuse GL_TIMEOUT_EXPIRED */
  944. /* reuse GL_CONDITION_SATISFIED */
  945. /* reuse GL_WAIT_FAILED */
  946. /* reuse GL_TIMEOUT_IGNORED */
  947. /* reuse GL_SYNC_FLUSH_COMMANDS_BIT */
  948. /* reuse GL_TIMEOUT_IGNORED */
  949. /* Reuse tokens from ARB_texture_multisample */
  950. /* reuse GL_SAMPLE_POSITION */
  951. /* reuse GL_SAMPLE_MASK */
  952. /* reuse GL_SAMPLE_MASK_VALUE */
  953. /* reuse GL_MAX_SAMPLE_MASK_WORDS */
  954. /* reuse GL_TEXTURE_2D_MULTISAMPLE */
  955. /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE */
  956. /* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */
  957. /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY */
  958. /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE */
  959. /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY */
  960. /* reuse GL_TEXTURE_SAMPLES */
  961. /* reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS */
  962. /* reuse GL_SAMPLER_2D_MULTISAMPLE */
  963. /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE */
  964. /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE */
  965. /* reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY */
  966. /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
  967. /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
  968. /* reuse GL_MAX_COLOR_TEXTURE_SAMPLES */
  969. /* reuse GL_MAX_DEPTH_TEXTURE_SAMPLES */
  970. /* reuse GL_MAX_INTEGER_SAMPLES */
  971. /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */
  972. #endif
  973.  
  974. #ifndef GL_VERSION_3_3
  975. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR    0x88FE
  976. /* Reuse tokens from ARB_blend_func_extended */
  977. /* reuse GL_SRC1_COLOR */
  978. /* reuse GL_ONE_MINUS_SRC1_COLOR */
  979. /* reuse GL_ONE_MINUS_SRC1_ALPHA */
  980. /* reuse GL_MAX_DUAL_SOURCE_DRAW_BUFFERS */
  981. /* Reuse tokens from ARB_explicit_attrib_location (none) */
  982. /* Reuse tokens from ARB_occlusion_query2 */
  983. /* reuse GL_ANY_SAMPLES_PASSED */
  984. /* Reuse tokens from ARB_sampler_objects */
  985. /* reuse GL_SAMPLER_BINDING */
  986. /* Reuse tokens from ARB_shader_bit_encoding (none) */
  987. /* Reuse tokens from ARB_texture_rgb10_a2ui */
  988. /* reuse GL_RGB10_A2UI */
  989. /* Reuse tokens from ARB_texture_swizzle */
  990. /* reuse GL_TEXTURE_SWIZZLE_R */
  991. /* reuse GL_TEXTURE_SWIZZLE_G */
  992. /* reuse GL_TEXTURE_SWIZZLE_B */
  993. /* reuse GL_TEXTURE_SWIZZLE_A */
  994. /* reuse GL_TEXTURE_SWIZZLE_RGBA */
  995. /* Reuse tokens from ARB_timer_query */
  996. /* reuse GL_TIME_ELAPSED */
  997. /* reuse GL_TIMESTAMP */
  998. /* Reuse tokens from ARB_vertex_type_2_10_10_10_rev */
  999. /* reuse GL_INT_2_10_10_10_REV */
  1000. #endif
  1001.  
  1002. #ifndef GL_VERSION_4_0
  1003. #define GL_SAMPLE_SHADING                 0x8C36
  1004. #define GL_MIN_SAMPLE_SHADING_VALUE       0x8C37
  1005. #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
  1006. #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
  1007. #define GL_TEXTURE_CUBE_MAP_ARRAY         0x9009
  1008. #define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
  1009. #define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY   0x900B
  1010. #define GL_SAMPLER_CUBE_MAP_ARRAY         0x900C
  1011. #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW  0x900D
  1012. #define GL_INT_SAMPLER_CUBE_MAP_ARRAY     0x900E
  1013. #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
  1014. /* Reuse tokens from ARB_texture_query_lod (none) */
  1015. /* Reuse tokens from ARB_draw_buffers_blend (none) */
  1016. /* Reuse tokens from ARB_draw_indirect */
  1017. /* reuse GL_DRAW_INDIRECT_BUFFER */
  1018. /* reuse GL_DRAW_INDIRECT_BUFFER_BINDING */
  1019. /* Reuse tokens from ARB_gpu_shader5 */
  1020. /* reuse GL_GEOMETRY_SHADER_INVOCATIONS */
  1021. /* reuse GL_MAX_GEOMETRY_SHADER_INVOCATIONS */
  1022. /* reuse GL_MIN_FRAGMENT_INTERPOLATION_OFFSET */
  1023. /* reuse GL_MAX_FRAGMENT_INTERPOLATION_OFFSET */
  1024. /* reuse GL_FRAGMENT_INTERPOLATION_OFFSET_BITS */
  1025. /* reuse GL_MAX_VERTEX_STREAMS */
  1026. /* Reuse tokens from ARB_gpu_shader_fp64 */
  1027. /* reuse GL_DOUBLE_VEC2 */
  1028. /* reuse GL_DOUBLE_VEC3 */
  1029. /* reuse GL_DOUBLE_VEC4 */
  1030. /* reuse GL_DOUBLE_MAT2 */
  1031. /* reuse GL_DOUBLE_MAT3 */
  1032. /* reuse GL_DOUBLE_MAT4 */
  1033. /* reuse GL_DOUBLE_MAT2x3 */
  1034. /* reuse GL_DOUBLE_MAT2x4 */
  1035. /* reuse GL_DOUBLE_MAT3x2 */
  1036. /* reuse GL_DOUBLE_MAT3x4 */
  1037. /* reuse GL_DOUBLE_MAT4x2 */
  1038. /* reuse GL_DOUBLE_MAT4x3 */
  1039. /* Reuse tokens from ARB_shader_subroutine */
  1040. /* reuse GL_ACTIVE_SUBROUTINES */
  1041. /* reuse GL_ACTIVE_SUBROUTINE_UNIFORMS */
  1042. /* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS */
  1043. /* reuse GL_ACTIVE_SUBROUTINE_MAX_LENGTH */
  1044. /* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH */
  1045. /* reuse GL_MAX_SUBROUTINES */
  1046. /* reuse GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS */
  1047. /* reuse GL_NUM_COMPATIBLE_SUBROUTINES */
  1048. /* reuse GL_COMPATIBLE_SUBROUTINES */
  1049. /* Reuse tokens from ARB_tessellation_shader */
  1050. /* reuse GL_PATCHES */
  1051. /* reuse GL_PATCH_VERTICES */
  1052. /* reuse GL_PATCH_DEFAULT_INNER_LEVEL */
  1053. /* reuse GL_PATCH_DEFAULT_OUTER_LEVEL */
  1054. /* reuse GL_TESS_CONTROL_OUTPUT_VERTICES */
  1055. /* reuse GL_TESS_GEN_MODE */
  1056. /* reuse GL_TESS_GEN_SPACING */
  1057. /* reuse GL_TESS_GEN_VERTEX_ORDER */
  1058. /* reuse GL_TESS_GEN_POINT_MODE */
  1059. /* reuse GL_ISOLINES */
  1060. /* reuse GL_FRACTIONAL_ODD */
  1061. /* reuse GL_FRACTIONAL_EVEN */
  1062. /* reuse GL_MAX_PATCH_VERTICES */
  1063. /* reuse GL_MAX_TESS_GEN_LEVEL */
  1064. /* reuse GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS */
  1065. /* reuse GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS */
  1066. /* reuse GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS */
  1067. /* reuse GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS */
  1068. /* reuse GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS */
  1069. /* reuse GL_MAX_TESS_PATCH_COMPONENTS */
  1070. /* reuse GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS */
  1071. /* reuse GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS */
  1072. /* reuse GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS */
  1073. /* reuse GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS */
  1074. /* reuse GL_MAX_TESS_CONTROL_INPUT_COMPONENTS */
  1075. /* reuse GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS */
  1076. /* reuse GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS */
  1077. /* reuse GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS */
  1078. /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER */
  1079. /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER */
  1080. /* reuse GL_TESS_EVALUATION_SHADER */
  1081. /* reuse GL_TESS_CONTROL_SHADER */
  1082. /* Reuse tokens from ARB_texture_buffer_object_rgb32 (none) */
  1083. /* Reuse tokens from ARB_transform_feedback2 */
  1084. /* reuse GL_TRANSFORM_FEEDBACK */
  1085. /* reuse GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
  1086. /* reuse GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
  1087. /* reuse GL_TRANSFORM_FEEDBACK_BINDING */
  1088. /* Reuse tokens from ARB_transform_feedback3 */
  1089. /* reuse GL_MAX_TRANSFORM_FEEDBACK_BUFFERS */
  1090. /* reuse GL_MAX_VERTEX_STREAMS */
  1091. #endif
  1092.  
  1093. #ifndef GL_VERSION_4_1
  1094. /* Reuse tokens from ARB_ES2_compatibility */
  1095. /* reuse GL_FIXED */
  1096. /* reuse GL_IMPLEMENTATION_COLOR_READ_TYPE */
  1097. /* reuse GL_IMPLEMENTATION_COLOR_READ_FORMAT */
  1098. /* reuse GL_LOW_FLOAT */
  1099. /* reuse GL_MEDIUM_FLOAT */
  1100. /* reuse GL_HIGH_FLOAT */
  1101. /* reuse GL_LOW_INT */
  1102. /* reuse GL_MEDIUM_INT */
  1103. /* reuse GL_HIGH_INT */
  1104. /* reuse GL_SHADER_COMPILER */
  1105. /* reuse GL_NUM_SHADER_BINARY_FORMATS */
  1106. /* reuse GL_MAX_VERTEX_UNIFORM_VECTORS */
  1107. /* reuse GL_MAX_VARYING_VECTORS */
  1108. /* reuse GL_MAX_FRAGMENT_UNIFORM_VECTORS */
  1109. /* Reuse tokens from ARB_get_program_binary */
  1110. /* reuse GL_PROGRAM_BINARY_RETRIEVABLE_HINT */
  1111. /* reuse GL_PROGRAM_BINARY_LENGTH */
  1112. /* reuse GL_NUM_PROGRAM_BINARY_FORMATS */
  1113. /* reuse GL_PROGRAM_BINARY_FORMATS */
  1114. /* Reuse tokens from ARB_separate_shader_objects */
  1115. /* reuse GL_VERTEX_SHADER_BIT */
  1116. /* reuse GL_FRAGMENT_SHADER_BIT */
  1117. /* reuse GL_GEOMETRY_SHADER_BIT */
  1118. /* reuse GL_TESS_CONTROL_SHADER_BIT */
  1119. /* reuse GL_TESS_EVALUATION_SHADER_BIT */
  1120. /* reuse GL_ALL_SHADER_BITS */
  1121. /* reuse GL_PROGRAM_SEPARABLE */
  1122. /* reuse GL_ACTIVE_PROGRAM */
  1123. /* reuse GL_PROGRAM_PIPELINE_BINDING */
  1124. /* Reuse tokens from ARB_shader_precision (none) */
  1125. /* Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already */
  1126. /* Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already */
  1127. /* reuse GL_MAX_VIEWPORTS */
  1128. /* reuse GL_VIEWPORT_SUBPIXEL_BITS */
  1129. /* reuse GL_VIEWPORT_BOUNDS_RANGE */
  1130. /* reuse GL_LAYER_PROVOKING_VERTEX */
  1131. /* reuse GL_VIEWPORT_INDEX_PROVOKING_VERTEX */
  1132. /* reuse GL_UNDEFINED_VERTEX */
  1133. #endif
  1134.  
  1135. #ifndef GL_VERSION_4_2
  1136. /* Reuse tokens from ARB_base_instance (none) */
  1137. /* Reuse tokens from ARB_shading_language_420pack (none) */
  1138. /* Reuse tokens from ARB_transform_feedback_instanced (none) */
  1139. /* Reuse tokens from ARB_compressed_texture_pixel_storage */
  1140. /* reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH */
  1141. /* reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT */
  1142. /* reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH */
  1143. /* reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE */
  1144. /* reuse GL_PACK_COMPRESSED_BLOCK_WIDTH */
  1145. /* reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT */
  1146. /* reuse GL_PACK_COMPRESSED_BLOCK_DEPTH */
  1147. /* reuse GL_PACK_COMPRESSED_BLOCK_SIZE */
  1148. /* Reuse tokens from ARB_conservative_depth (none) */
  1149. /* Reuse tokens from ARB_internalformat_query */
  1150. /* reuse GL_NUM_SAMPLE_COUNTS */
  1151. /* Reuse tokens from ARB_map_buffer_alignment */
  1152. /* reuse GL_MIN_MAP_BUFFER_ALIGNMENT */
  1153. /* Reuse tokens from ARB_shader_atomic_counters */
  1154. /* reuse GL_ATOMIC_COUNTER_BUFFER */
  1155. /* reuse GL_ATOMIC_COUNTER_BUFFER_BINDING */
  1156. /* reuse GL_ATOMIC_COUNTER_BUFFER_START */
  1157. /* reuse GL_ATOMIC_COUNTER_BUFFER_SIZE */
  1158. /* reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE */
  1159. /* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS */
  1160. /* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES */
  1161. /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER */
  1162. /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER */
  1163. /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER */
  1164. /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER */
  1165. /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER */
  1166. /* reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS */
  1167. /* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS */
  1168. /* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS */
  1169. /* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS */
  1170. /* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS */
  1171. /* reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS */
  1172. /* reuse GL_MAX_VERTEX_ATOMIC_COUNTERS */
  1173. /* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS */
  1174. /* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS */
  1175. /* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS */
  1176. /* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS */
  1177. /* reuse GL_MAX_COMBINED_ATOMIC_COUNTERS */
  1178. /* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE */
  1179. /* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS */
  1180. /* reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS */
  1181. /* reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX */
  1182. /* reuse GL_UNSIGNED_INT_ATOMIC_COUNTER */
  1183. /* Reuse tokens from ARB_shader_image_load_store */
  1184. /* reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT */
  1185. /* reuse GL_ELEMENT_ARRAY_BARRIER_BIT */
  1186. /* reuse GL_UNIFORM_BARRIER_BIT */
  1187. /* reuse GL_TEXTURE_FETCH_BARRIER_BIT */
  1188. /* reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT */
  1189. /* reuse GL_COMMAND_BARRIER_BIT */
  1190. /* reuse GL_PIXEL_BUFFER_BARRIER_BIT */
  1191. /* reuse GL_TEXTURE_UPDATE_BARRIER_BIT */
  1192. /* reuse GL_BUFFER_UPDATE_BARRIER_BIT */
  1193. /* reuse GL_FRAMEBUFFER_BARRIER_BIT */
  1194. /* reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT */
  1195. /* reuse GL_ATOMIC_COUNTER_BARRIER_BIT */
  1196. /* reuse GL_ALL_BARRIER_BITS */
  1197. /* reuse GL_MAX_IMAGE_UNITS */
  1198. /* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */
  1199. /* reuse GL_IMAGE_BINDING_NAME */
  1200. /* reuse GL_IMAGE_BINDING_LEVEL */
  1201. /* reuse GL_IMAGE_BINDING_LAYERED */
  1202. /* reuse GL_IMAGE_BINDING_LAYER */
  1203. /* reuse GL_IMAGE_BINDING_ACCESS */
  1204. /* reuse GL_IMAGE_1D */
  1205. /* reuse GL_IMAGE_2D */
  1206. /* reuse GL_IMAGE_3D */
  1207. /* reuse GL_IMAGE_2D_RECT */
  1208. /* reuse GL_IMAGE_CUBE */
  1209. /* reuse GL_IMAGE_BUFFER */
  1210. /* reuse GL_IMAGE_1D_ARRAY */
  1211. /* reuse GL_IMAGE_2D_ARRAY */
  1212. /* reuse GL_IMAGE_CUBE_MAP_ARRAY */
  1213. /* reuse GL_IMAGE_2D_MULTISAMPLE */
  1214. /* reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY */
  1215. /* reuse GL_INT_IMAGE_1D */
  1216. /* reuse GL_INT_IMAGE_2D */
  1217. /* reuse GL_INT_IMAGE_3D */
  1218. /* reuse GL_INT_IMAGE_2D_RECT */
  1219. /* reuse GL_INT_IMAGE_CUBE */
  1220. /* reuse GL_INT_IMAGE_BUFFER */
  1221. /* reuse GL_INT_IMAGE_1D_ARRAY */
  1222. /* reuse GL_INT_IMAGE_2D_ARRAY */
  1223. /* reuse GL_INT_IMAGE_CUBE_MAP_ARRAY */
  1224. /* reuse GL_INT_IMAGE_2D_MULTISAMPLE */
  1225. /* reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
  1226. /* reuse GL_UNSIGNED_INT_IMAGE_1D */
  1227. /* reuse GL_UNSIGNED_INT_IMAGE_2D */
  1228. /* reuse GL_UNSIGNED_INT_IMAGE_3D */
  1229. /* reuse GL_UNSIGNED_INT_IMAGE_2D_RECT */
  1230. /* reuse GL_UNSIGNED_INT_IMAGE_CUBE */
  1231. /* reuse GL_UNSIGNED_INT_IMAGE_BUFFER */
  1232. /* reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY */
  1233. /* reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY */
  1234. /* reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY */
  1235. /* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE */
  1236. /* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
  1237. /* reuse GL_MAX_IMAGE_SAMPLES */
  1238. /* reuse GL_IMAGE_BINDING_FORMAT */
  1239. /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */
  1240. /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE */
  1241. /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS */
  1242. /* reuse GL_MAX_VERTEX_IMAGE_UNIFORMS */
  1243. /* reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS */
  1244. /* reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS */
  1245. /* reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS */
  1246. /* reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS */
  1247. /* reuse GL_MAX_COMBINED_IMAGE_UNIFORMS */
  1248. /* Reuse tokens from ARB_shading_language_packing (none) */
  1249. /* Reuse tokens from ARB_texture_storage */
  1250. /* reuse GL_TEXTURE_IMMUTABLE_FORMAT */
  1251. #endif
  1252.  
  1253. #ifndef GL_ARB_depth_buffer_float
  1254. #define GL_DEPTH_COMPONENT32F             0x8CAC
  1255. #define GL_DEPTH32F_STENCIL8              0x8CAD
  1256. #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
  1257. #endif
  1258.  
  1259. #ifndef GL_ARB_framebuffer_object
  1260. #define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506
  1261. #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
  1262. #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
  1263. #define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
  1264. #define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
  1265. #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
  1266. #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
  1267. #define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
  1268. #define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
  1269. #define GL_FRAMEBUFFER_DEFAULT            0x8218
  1270. #define GL_FRAMEBUFFER_UNDEFINED          0x8219
  1271. #define GL_DEPTH_STENCIL_ATTACHMENT       0x821A
  1272. #define GL_MAX_RENDERBUFFER_SIZE          0x84E8
  1273. #define GL_DEPTH_STENCIL                  0x84F9
  1274. #define GL_UNSIGNED_INT_24_8              0x84FA
  1275. #define GL_DEPTH24_STENCIL8               0x88F0
  1276. #define GL_TEXTURE_STENCIL_SIZE           0x88F1
  1277. #define GL_TEXTURE_RED_TYPE               0x8C10
  1278. #define GL_TEXTURE_GREEN_TYPE             0x8C11
  1279. #define GL_TEXTURE_BLUE_TYPE              0x8C12
  1280. #define GL_TEXTURE_ALPHA_TYPE             0x8C13
  1281. #define GL_TEXTURE_DEPTH_TYPE             0x8C16
  1282. #define GL_UNSIGNED_NORMALIZED            0x8C17
  1283. #define GL_FRAMEBUFFER_BINDING            0x8CA6
  1284. #define GL_DRAW_FRAMEBUFFER_BINDING       GL_FRAMEBUFFER_BINDING
  1285. #define GL_RENDERBUFFER_BINDING           0x8CA7
  1286. #define GL_READ_FRAMEBUFFER               0x8CA8
  1287. #define GL_DRAW_FRAMEBUFFER               0x8CA9
  1288. #define GL_READ_FRAMEBUFFER_BINDING       0x8CAA
  1289. #define GL_RENDERBUFFER_SAMPLES           0x8CAB
  1290. #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
  1291. #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
  1292. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
  1293. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
  1294. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
  1295. #define GL_FRAMEBUFFER_COMPLETE           0x8CD5
  1296. #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
  1297. #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
  1298. #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
  1299. #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
  1300. #define GL_FRAMEBUFFER_UNSUPPORTED        0x8CDD
  1301. #define GL_MAX_COLOR_ATTACHMENTS          0x8CDF
  1302. #define GL_COLOR_ATTACHMENT0              0x8CE0
  1303. #define GL_COLOR_ATTACHMENT1              0x8CE1
  1304. #define GL_COLOR_ATTACHMENT2              0x8CE2
  1305. #define GL_COLOR_ATTACHMENT3              0x8CE3
  1306. #define GL_COLOR_ATTACHMENT4              0x8CE4
  1307. #define GL_COLOR_ATTACHMENT5              0x8CE5
  1308. #define GL_COLOR_ATTACHMENT6              0x8CE6
  1309. #define GL_COLOR_ATTACHMENT7              0x8CE7
  1310. #define GL_COLOR_ATTACHMENT8              0x8CE8
  1311. #define GL_COLOR_ATTACHMENT9              0x8CE9
  1312. #define GL_COLOR_ATTACHMENT10             0x8CEA
  1313. #define GL_COLOR_ATTACHMENT11             0x8CEB
  1314. #define GL_COLOR_ATTACHMENT12             0x8CEC
  1315. #define GL_COLOR_ATTACHMENT13             0x8CED
  1316. #define GL_COLOR_ATTACHMENT14             0x8CEE
  1317. #define GL_COLOR_ATTACHMENT15             0x8CEF
  1318. #define GL_DEPTH_ATTACHMENT               0x8D00
  1319. #define GL_STENCIL_ATTACHMENT             0x8D20
  1320. #define GL_FRAMEBUFFER                    0x8D40
  1321. #define GL_RENDERBUFFER                   0x8D41
  1322. #define GL_RENDERBUFFER_WIDTH             0x8D42
  1323. #define GL_RENDERBUFFER_HEIGHT            0x8D43
  1324. #define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44
  1325. #define GL_STENCIL_INDEX1                 0x8D46
  1326. #define GL_STENCIL_INDEX4                 0x8D47
  1327. #define GL_STENCIL_INDEX8                 0x8D48
  1328. #define GL_STENCIL_INDEX16                0x8D49
  1329. #define GL_RENDERBUFFER_RED_SIZE          0x8D50
  1330. #define GL_RENDERBUFFER_GREEN_SIZE        0x8D51
  1331. #define GL_RENDERBUFFER_BLUE_SIZE         0x8D52
  1332. #define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53
  1333. #define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54
  1334. #define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55
  1335. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
  1336. #define GL_MAX_SAMPLES                    0x8D57
  1337. #endif
  1338.  
  1339. #ifndef GL_ARB_framebuffer_sRGB
  1340. #define GL_FRAMEBUFFER_SRGB               0x8DB9
  1341. #endif
  1342.  
  1343. #ifndef GL_ARB_half_float_vertex
  1344. #define GL_HALF_FLOAT                     0x140B
  1345. #endif
  1346.  
  1347. #ifndef GL_ARB_map_buffer_range
  1348. #define GL_MAP_READ_BIT                   0x0001
  1349. #define GL_MAP_WRITE_BIT                  0x0002
  1350. #define GL_MAP_INVALIDATE_RANGE_BIT       0x0004
  1351. #define GL_MAP_INVALIDATE_BUFFER_BIT      0x0008
  1352. #define GL_MAP_FLUSH_EXPLICIT_BIT         0x0010
  1353. #define GL_MAP_UNSYNCHRONIZED_BIT         0x0020
  1354. #endif
  1355.  
  1356. #ifndef GL_ARB_texture_compression_rgtc
  1357. #define GL_COMPRESSED_RED_RGTC1           0x8DBB
  1358. #define GL_COMPRESSED_SIGNED_RED_RGTC1    0x8DBC
  1359. #define GL_COMPRESSED_RG_RGTC2            0x8DBD
  1360. #define GL_COMPRESSED_SIGNED_RG_RGTC2     0x8DBE
  1361. #endif
  1362.  
  1363. #ifndef GL_ARB_texture_rg
  1364. #define GL_RG                             0x8227
  1365. #define GL_RG_INTEGER                     0x8228
  1366. #define GL_R8                             0x8229
  1367. #define GL_R16                            0x822A
  1368. #define GL_RG8                            0x822B
  1369. #define GL_RG16                           0x822C
  1370. #define GL_R16F                           0x822D
  1371. #define GL_R32F                           0x822E
  1372. #define GL_RG16F                          0x822F
  1373. #define GL_RG32F                          0x8230
  1374. #define GL_R8I                            0x8231
  1375. #define GL_R8UI                           0x8232
  1376. #define GL_R16I                           0x8233
  1377. #define GL_R16UI                          0x8234
  1378. #define GL_R32I                           0x8235
  1379. #define GL_R32UI                          0x8236
  1380. #define GL_RG8I                           0x8237
  1381. #define GL_RG8UI                          0x8238
  1382. #define GL_RG16I                          0x8239
  1383. #define GL_RG16UI                         0x823A
  1384. #define GL_RG32I                          0x823B
  1385. #define GL_RG32UI                         0x823C
  1386. #endif
  1387.  
  1388. #ifndef GL_ARB_vertex_array_object
  1389. #define GL_VERTEX_ARRAY_BINDING           0x85B5
  1390. #endif
  1391.  
  1392. #ifndef GL_ARB_uniform_buffer_object
  1393. #define GL_UNIFORM_BUFFER                 0x8A11
  1394. #define GL_UNIFORM_BUFFER_BINDING         0x8A28
  1395. #define GL_UNIFORM_BUFFER_START           0x8A29
  1396. #define GL_UNIFORM_BUFFER_SIZE            0x8A2A
  1397. #define GL_MAX_VERTEX_UNIFORM_BLOCKS      0x8A2B
  1398. #define GL_MAX_GEOMETRY_UNIFORM_BLOCKS    0x8A2C
  1399. #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS    0x8A2D
  1400. #define GL_MAX_COMBINED_UNIFORM_BLOCKS    0x8A2E
  1401. #define GL_MAX_UNIFORM_BUFFER_BINDINGS    0x8A2F
  1402. #define GL_MAX_UNIFORM_BLOCK_SIZE         0x8A30
  1403. #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
  1404. #define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
  1405. #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
  1406. #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
  1407. #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
  1408. #define GL_ACTIVE_UNIFORM_BLOCKS          0x8A36
  1409. #define GL_UNIFORM_TYPE                   0x8A37
  1410. #define GL_UNIFORM_SIZE                   0x8A38
  1411. #define GL_UNIFORM_NAME_LENGTH            0x8A39
  1412. #define GL_UNIFORM_BLOCK_INDEX            0x8A3A
  1413. #define GL_UNIFORM_OFFSET                 0x8A3B
  1414. #define GL_UNIFORM_ARRAY_STRIDE           0x8A3C
  1415. #define GL_UNIFORM_MATRIX_STRIDE          0x8A3D
  1416. #define GL_UNIFORM_IS_ROW_MAJOR           0x8A3E
  1417. #define GL_UNIFORM_BLOCK_BINDING          0x8A3F
  1418. #define GL_UNIFORM_BLOCK_DATA_SIZE        0x8A40
  1419. #define GL_UNIFORM_BLOCK_NAME_LENGTH      0x8A41
  1420. #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS  0x8A42
  1421. #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
  1422. #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
  1423. #define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
  1424. #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
  1425. #define GL_INVALID_INDEX                  0xFFFFFFFFu
  1426. #endif
  1427.  
  1428. #ifndef GL_ARB_copy_buffer
  1429. #define GL_COPY_READ_BUFFER               0x8F36
  1430. #define GL_COPY_WRITE_BUFFER              0x8F37
  1431. #endif
  1432.  
  1433. #ifndef GL_ARB_depth_clamp
  1434. #define GL_DEPTH_CLAMP                    0x864F
  1435. #endif
  1436.  
  1437. #ifndef GL_ARB_draw_elements_base_vertex
  1438. #endif
  1439.  
  1440. #ifndef GL_ARB_fragment_coord_conventions
  1441. #endif
  1442.  
  1443. #ifndef GL_ARB_provoking_vertex
  1444. #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
  1445. #define GL_FIRST_VERTEX_CONVENTION        0x8E4D
  1446. #define GL_LAST_VERTEX_CONVENTION         0x8E4E
  1447. #define GL_PROVOKING_VERTEX               0x8E4F
  1448. #endif
  1449.  
  1450. #ifndef GL_ARB_seamless_cube_map
  1451. #define GL_TEXTURE_CUBE_MAP_SEAMLESS      0x884F
  1452. #endif
  1453.  
  1454. #ifndef GL_ARB_sync
  1455. #define GL_MAX_SERVER_WAIT_TIMEOUT        0x9111
  1456. #define GL_OBJECT_TYPE                    0x9112
  1457. #define GL_SYNC_CONDITION                 0x9113
  1458. #define GL_SYNC_STATUS                    0x9114
  1459. #define GL_SYNC_FLAGS                     0x9115
  1460. #define GL_SYNC_FENCE                     0x9116
  1461. #define GL_SYNC_GPU_COMMANDS_COMPLETE     0x9117
  1462. #define GL_UNSIGNALED                     0x9118
  1463. #define GL_SIGNALED                       0x9119
  1464. #define GL_ALREADY_SIGNALED               0x911A
  1465. #define GL_TIMEOUT_EXPIRED                0x911B
  1466. #define GL_CONDITION_SATISFIED            0x911C
  1467. #define GL_WAIT_FAILED                    0x911D
  1468. #define GL_SYNC_FLUSH_COMMANDS_BIT        0x00000001
  1469. #define GL_TIMEOUT_IGNORED                0xFFFFFFFFFFFFFFFFull
  1470. #endif
  1471.  
  1472. #ifndef GL_ARB_texture_multisample
  1473. #define GL_SAMPLE_POSITION                0x8E50
  1474. #define GL_SAMPLE_MASK                    0x8E51
  1475. #define GL_SAMPLE_MASK_VALUE              0x8E52
  1476. #define GL_MAX_SAMPLE_MASK_WORDS          0x8E59
  1477. #define GL_TEXTURE_2D_MULTISAMPLE         0x9100
  1478. #define GL_PROXY_TEXTURE_2D_MULTISAMPLE   0x9101
  1479. #define GL_TEXTURE_2D_MULTISAMPLE_ARRAY   0x9102
  1480. #define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
  1481. #define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
  1482. #define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
  1483. #define GL_TEXTURE_SAMPLES                0x9106
  1484. #define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
  1485. #define GL_SAMPLER_2D_MULTISAMPLE         0x9108
  1486. #define GL_INT_SAMPLER_2D_MULTISAMPLE     0x9109
  1487. #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
  1488. #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY   0x910B
  1489. #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
  1490. #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
  1491. #define GL_MAX_COLOR_TEXTURE_SAMPLES      0x910E
  1492. #define GL_MAX_DEPTH_TEXTURE_SAMPLES      0x910F
  1493. #define GL_MAX_INTEGER_SAMPLES            0x9110
  1494. #endif
  1495.  
  1496. #ifndef GL_ARB_vertex_array_bgra
  1497. /* reuse GL_BGRA */
  1498. #endif
  1499.  
  1500. #ifndef GL_ARB_draw_buffers_blend
  1501. #endif
  1502.  
  1503. #ifndef GL_ARB_sample_shading
  1504. #define GL_SAMPLE_SHADING_ARB             0x8C36
  1505. #define GL_MIN_SAMPLE_SHADING_VALUE_ARB   0x8C37
  1506. #endif
  1507.  
  1508. #ifndef GL_ARB_texture_cube_map_array
  1509. #define GL_TEXTURE_CUBE_MAP_ARRAY_ARB     0x9009
  1510. #define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A
  1511. #define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B
  1512. #define GL_SAMPLER_CUBE_MAP_ARRAY_ARB     0x900C
  1513. #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
  1514. #define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
  1515. #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
  1516. #endif
  1517.  
  1518. #ifndef GL_ARB_texture_gather
  1519. #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E
  1520. #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F
  1521. #endif
  1522.  
  1523. #ifndef GL_ARB_texture_query_lod
  1524. #endif
  1525.  
  1526. #ifndef GL_ARB_shading_language_include
  1527. #define GL_SHADER_INCLUDE_ARB             0x8DAE
  1528. #define GL_NAMED_STRING_LENGTH_ARB        0x8DE9
  1529. #define GL_NAMED_STRING_TYPE_ARB          0x8DEA
  1530. #endif
  1531.  
  1532. #ifndef GL_ARB_texture_compression_bptc
  1533. #define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C
  1534. #define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D
  1535. #define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E
  1536. #define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F
  1537. #endif
  1538.  
  1539. #ifndef GL_ARB_blend_func_extended
  1540. #define GL_SRC1_COLOR                     0x88F9
  1541. /* reuse GL_SRC1_ALPHA */
  1542. #define GL_ONE_MINUS_SRC1_COLOR           0x88FA
  1543. #define GL_ONE_MINUS_SRC1_ALPHA           0x88FB
  1544. #define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS   0x88FC
  1545. #endif
  1546.  
  1547. #ifndef GL_ARB_explicit_attrib_location
  1548. #endif
  1549.  
  1550. #ifndef GL_ARB_occlusion_query2
  1551. #define GL_ANY_SAMPLES_PASSED             0x8C2F
  1552. #endif
  1553.  
  1554. #ifndef GL_ARB_sampler_objects
  1555. #define GL_SAMPLER_BINDING                0x8919
  1556. #endif
  1557.  
  1558. #ifndef GL_ARB_shader_bit_encoding
  1559. #endif
  1560.  
  1561. #ifndef GL_ARB_texture_rgb10_a2ui
  1562. #define GL_RGB10_A2UI                     0x906F
  1563. #endif
  1564.  
  1565. #ifndef GL_ARB_texture_swizzle
  1566. #define GL_TEXTURE_SWIZZLE_R              0x8E42
  1567. #define GL_TEXTURE_SWIZZLE_G              0x8E43
  1568. #define GL_TEXTURE_SWIZZLE_B              0x8E44
  1569. #define GL_TEXTURE_SWIZZLE_A              0x8E45
  1570. #define GL_TEXTURE_SWIZZLE_RGBA           0x8E46
  1571. #endif
  1572.  
  1573. #ifndef GL_ARB_timer_query
  1574. #define GL_TIME_ELAPSED                   0x88BF
  1575. #define GL_TIMESTAMP                      0x8E28
  1576. #endif
  1577.  
  1578. #ifndef GL_ARB_vertex_type_2_10_10_10_rev
  1579. /* reuse GL_UNSIGNED_INT_2_10_10_10_REV */
  1580. #define GL_INT_2_10_10_10_REV             0x8D9F
  1581. #endif
  1582.  
  1583. #ifndef GL_ARB_draw_indirect
  1584. #define GL_DRAW_INDIRECT_BUFFER           0x8F3F
  1585. #define GL_DRAW_INDIRECT_BUFFER_BINDING   0x8F43
  1586. #endif
  1587.  
  1588. #ifndef GL_ARB_gpu_shader5
  1589. #define GL_GEOMETRY_SHADER_INVOCATIONS    0x887F
  1590. #define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
  1591. #define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
  1592. #define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
  1593. #define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
  1594. /* reuse GL_MAX_VERTEX_STREAMS */
  1595. #endif
  1596.  
  1597. #ifndef GL_ARB_gpu_shader_fp64
  1598. /* reuse GL_DOUBLE */
  1599. #define GL_DOUBLE_VEC2                    0x8FFC
  1600. #define GL_DOUBLE_VEC3                    0x8FFD
  1601. #define GL_DOUBLE_VEC4                    0x8FFE
  1602. #define GL_DOUBLE_MAT2                    0x8F46
  1603. #define GL_DOUBLE_MAT3                    0x8F47
  1604. #define GL_DOUBLE_MAT4                    0x8F48
  1605. #define GL_DOUBLE_MAT2x3                  0x8F49
  1606. #define GL_DOUBLE_MAT2x4                  0x8F4A
  1607. #define GL_DOUBLE_MAT3x2                  0x8F4B
  1608. #define GL_DOUBLE_MAT3x4                  0x8F4C
  1609. #define GL_DOUBLE_MAT4x2                  0x8F4D
  1610. #define GL_DOUBLE_MAT4x3                  0x8F4E
  1611. #endif
  1612.  
  1613. #ifndef GL_ARB_shader_subroutine
  1614. #define GL_ACTIVE_SUBROUTINES             0x8DE5
  1615. #define GL_ACTIVE_SUBROUTINE_UNIFORMS     0x8DE6
  1616. #define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
  1617. #define GL_ACTIVE_SUBROUTINE_MAX_LENGTH   0x8E48
  1618. #define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
  1619. #define GL_MAX_SUBROUTINES                0x8DE7
  1620. #define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
  1621. #define GL_NUM_COMPATIBLE_SUBROUTINES     0x8E4A
  1622. #define GL_COMPATIBLE_SUBROUTINES         0x8E4B
  1623. /* reuse GL_UNIFORM_SIZE */
  1624. /* reuse GL_UNIFORM_NAME_LENGTH */
  1625. #endif
  1626.  
  1627. #ifndef GL_ARB_tessellation_shader
  1628. #define GL_PATCHES                        0x000E
  1629. #define GL_PATCH_VERTICES                 0x8E72
  1630. #define GL_PATCH_DEFAULT_INNER_LEVEL      0x8E73
  1631. #define GL_PATCH_DEFAULT_OUTER_LEVEL      0x8E74
  1632. #define GL_TESS_CONTROL_OUTPUT_VERTICES   0x8E75
  1633. #define GL_TESS_GEN_MODE                  0x8E76
  1634. #define GL_TESS_GEN_SPACING               0x8E77
  1635. #define GL_TESS_GEN_VERTEX_ORDER          0x8E78
  1636. #define GL_TESS_GEN_POINT_MODE            0x8E79
  1637. /* reuse GL_TRIANGLES */
  1638. /* reuse GL_QUADS */
  1639. #define GL_ISOLINES                       0x8E7A
  1640. /* reuse GL_EQUAL */
  1641. #define GL_FRACTIONAL_ODD                 0x8E7B
  1642. #define GL_FRACTIONAL_EVEN                0x8E7C
  1643. /* reuse GL_CCW */
  1644. /* reuse GL_CW */
  1645. #define GL_MAX_PATCH_VERTICES             0x8E7D
  1646. #define GL_MAX_TESS_GEN_LEVEL             0x8E7E
  1647. #define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
  1648. #define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
  1649. #define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
  1650. #define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
  1651. #define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
  1652. #define GL_MAX_TESS_PATCH_COMPONENTS      0x8E84
  1653. #define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
  1654. #define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
  1655. #define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
  1656. #define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
  1657. #define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
  1658. #define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
  1659. #define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
  1660. #define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
  1661. #define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
  1662. #define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
  1663. #define GL_TESS_EVALUATION_SHADER         0x8E87
  1664. #define GL_TESS_CONTROL_SHADER            0x8E88
  1665. #endif
  1666.  
  1667. #ifndef GL_ARB_texture_buffer_object_rgb32
  1668. /* reuse GL_RGB32F */
  1669. /* reuse GL_RGB32UI */
  1670. /* reuse GL_RGB32I */
  1671. #endif
  1672.  
  1673. #ifndef GL_ARB_transform_feedback2
  1674. #define GL_TRANSFORM_FEEDBACK             0x8E22
  1675. #define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
  1676. #define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
  1677. #define GL_TRANSFORM_FEEDBACK_BINDING     0x8E25
  1678. #endif
  1679.  
  1680. #ifndef GL_ARB_transform_feedback3
  1681. #define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
  1682. #define GL_MAX_VERTEX_STREAMS             0x8E71
  1683. #endif
  1684.  
  1685. #ifndef GL_ARB_ES2_compatibility
  1686. #define GL_FIXED                          0x140C
  1687. #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
  1688. #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
  1689. #define GL_LOW_FLOAT                      0x8DF0
  1690. #define GL_MEDIUM_FLOAT                   0x8DF1
  1691. #define GL_HIGH_FLOAT                     0x8DF2
  1692. #define GL_LOW_INT                        0x8DF3
  1693. #define GL_MEDIUM_INT                     0x8DF4
  1694. #define GL_HIGH_INT                       0x8DF5
  1695. #define GL_SHADER_COMPILER                0x8DFA
  1696. #define GL_NUM_SHADER_BINARY_FORMATS      0x8DF9
  1697. #define GL_MAX_VERTEX_UNIFORM_VECTORS     0x8DFB
  1698. #define GL_MAX_VARYING_VECTORS            0x8DFC
  1699. #define GL_MAX_FRAGMENT_UNIFORM_VECTORS   0x8DFD
  1700. #endif
  1701.  
  1702. #ifndef GL_ARB_get_program_binary
  1703. #define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
  1704. #define GL_PROGRAM_BINARY_LENGTH          0x8741
  1705. #define GL_NUM_PROGRAM_BINARY_FORMATS     0x87FE
  1706. #define GL_PROGRAM_BINARY_FORMATS         0x87FF
  1707. #endif
  1708.  
  1709. #ifndef GL_ARB_separate_shader_objects
  1710. #define GL_VERTEX_SHADER_BIT              0x00000001
  1711. #define GL_FRAGMENT_SHADER_BIT            0x00000002
  1712. #define GL_GEOMETRY_SHADER_BIT            0x00000004
  1713. #define GL_TESS_CONTROL_SHADER_BIT        0x00000008
  1714. #define GL_TESS_EVALUATION_SHADER_BIT     0x00000010
  1715. #define GL_ALL_SHADER_BITS                0xFFFFFFFF
  1716. #define GL_PROGRAM_SEPARABLE              0x8258
  1717. #define GL_ACTIVE_PROGRAM                 0x8259
  1718. #define GL_PROGRAM_PIPELINE_BINDING       0x825A
  1719. #endif
  1720.  
  1721. #ifndef GL_ARB_shader_precision
  1722. #endif
  1723.  
  1724. #ifndef GL_ARB_vertex_attrib_64bit
  1725. /* reuse GL_RGB32I */
  1726. /* reuse GL_DOUBLE_VEC2 */
  1727. /* reuse GL_DOUBLE_VEC3 */
  1728. /* reuse GL_DOUBLE_VEC4 */
  1729. /* reuse GL_DOUBLE_MAT2 */
  1730. /* reuse GL_DOUBLE_MAT3 */
  1731. /* reuse GL_DOUBLE_MAT4 */
  1732. /* reuse GL_DOUBLE_MAT2x3 */
  1733. /* reuse GL_DOUBLE_MAT2x4 */
  1734. /* reuse GL_DOUBLE_MAT3x2 */
  1735. /* reuse GL_DOUBLE_MAT3x4 */
  1736. /* reuse GL_DOUBLE_MAT4x2 */
  1737. /* reuse GL_DOUBLE_MAT4x3 */
  1738. #endif
  1739.  
  1740. #ifndef GL_ARB_viewport_array
  1741. /* reuse GL_SCISSOR_BOX */
  1742. /* reuse GL_VIEWPORT */
  1743. /* reuse GL_DEPTH_RANGE */
  1744. /* reuse GL_SCISSOR_TEST */
  1745. #define GL_MAX_VIEWPORTS                  0x825B
  1746. #define GL_VIEWPORT_SUBPIXEL_BITS         0x825C
  1747. #define GL_VIEWPORT_BOUNDS_RANGE          0x825D
  1748. #define GL_LAYER_PROVOKING_VERTEX         0x825E
  1749. #define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
  1750. #define GL_UNDEFINED_VERTEX               0x8260
  1751. /* reuse GL_FIRST_VERTEX_CONVENTION */
  1752. /* reuse GL_LAST_VERTEX_CONVENTION */
  1753. /* reuse GL_PROVOKING_VERTEX */
  1754. #endif
  1755.  
  1756. #ifndef GL_ARB_cl_event
  1757. #define GL_SYNC_CL_EVENT_ARB              0x8240
  1758. #define GL_SYNC_CL_EVENT_COMPLETE_ARB     0x8241
  1759. #endif
  1760.  
  1761. #ifndef GL_ARB_debug_output
  1762. #define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB   0x8242
  1763. #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243
  1764. #define GL_DEBUG_CALLBACK_FUNCTION_ARB    0x8244
  1765. #define GL_DEBUG_CALLBACK_USER_PARAM_ARB  0x8245
  1766. #define GL_DEBUG_SOURCE_API_ARB           0x8246
  1767. #define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247
  1768. #define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248
  1769. #define GL_DEBUG_SOURCE_THIRD_PARTY_ARB   0x8249
  1770. #define GL_DEBUG_SOURCE_APPLICATION_ARB   0x824A
  1771. #define GL_DEBUG_SOURCE_OTHER_ARB         0x824B
  1772. #define GL_DEBUG_TYPE_ERROR_ARB           0x824C
  1773. #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D
  1774. #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E
  1775. #define GL_DEBUG_TYPE_PORTABILITY_ARB     0x824F
  1776. #define GL_DEBUG_TYPE_PERFORMANCE_ARB     0x8250
  1777. #define GL_DEBUG_TYPE_OTHER_ARB           0x8251
  1778. #define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB   0x9143
  1779. #define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB  0x9144
  1780. #define GL_DEBUG_LOGGED_MESSAGES_ARB      0x9145
  1781. #define GL_DEBUG_SEVERITY_HIGH_ARB        0x9146
  1782. #define GL_DEBUG_SEVERITY_MEDIUM_ARB      0x9147
  1783. #define GL_DEBUG_SEVERITY_LOW_ARB         0x9148
  1784. #endif
  1785.  
  1786. #ifndef GL_ARB_robustness
  1787. /* reuse GL_NO_ERROR */
  1788. #define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
  1789. #define GL_LOSE_CONTEXT_ON_RESET_ARB      0x8252
  1790. #define GL_GUILTY_CONTEXT_RESET_ARB       0x8253
  1791. #define GL_INNOCENT_CONTEXT_RESET_ARB     0x8254
  1792. #define GL_UNKNOWN_CONTEXT_RESET_ARB      0x8255
  1793. #define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
  1794. #define GL_NO_RESET_NOTIFICATION_ARB      0x8261
  1795. #endif
  1796.  
  1797. #ifndef GL_ARB_shader_stencil_export
  1798. #endif
  1799.  
  1800. #ifndef GL_ARB_base_instance
  1801. #endif
  1802.  
  1803. #ifndef GL_ARB_shading_language_420pack
  1804. #endif
  1805.  
  1806. #ifndef GL_ARB_transform_feedback_instanced
  1807. #endif
  1808.  
  1809. #ifndef GL_ARB_compressed_texture_pixel_storage
  1810. #define GL_UNPACK_COMPRESSED_BLOCK_WIDTH  0x9127
  1811. #define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
  1812. #define GL_UNPACK_COMPRESSED_BLOCK_DEPTH  0x9129
  1813. #define GL_UNPACK_COMPRESSED_BLOCK_SIZE   0x912A
  1814. #define GL_PACK_COMPRESSED_BLOCK_WIDTH    0x912B
  1815. #define GL_PACK_COMPRESSED_BLOCK_HEIGHT   0x912C
  1816. #define GL_PACK_COMPRESSED_BLOCK_DEPTH    0x912D
  1817. #define GL_PACK_COMPRESSED_BLOCK_SIZE     0x912E
  1818. #endif
  1819.  
  1820. #ifndef GL_ARB_conservative_depth
  1821. #endif
  1822.  
  1823. #ifndef GL_ARB_internalformat_query
  1824. #define GL_NUM_SAMPLE_COUNTS              0x9380
  1825. #endif
  1826.  
  1827. #ifndef GL_ARB_map_buffer_alignment
  1828. #define GL_MIN_MAP_BUFFER_ALIGNMENT       0x90BC
  1829. #endif
  1830.  
  1831. #ifndef GL_ARB_shader_atomic_counters
  1832. #define GL_ATOMIC_COUNTER_BUFFER          0x92C0
  1833. #define GL_ATOMIC_COUNTER_BUFFER_BINDING  0x92C1
  1834. #define GL_ATOMIC_COUNTER_BUFFER_START    0x92C2
  1835. #define GL_ATOMIC_COUNTER_BUFFER_SIZE     0x92C3
  1836. #define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
  1837. #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
  1838. #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
  1839. #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
  1840. #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
  1841. #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
  1842. #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
  1843. #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
  1844. #define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
  1845. #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
  1846. #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
  1847. #define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
  1848. #define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
  1849. #define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
  1850. #define GL_MAX_VERTEX_ATOMIC_COUNTERS     0x92D2
  1851. #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
  1852. #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
  1853. #define GL_MAX_GEOMETRY_ATOMIC_COUNTERS   0x92D5
  1854. #define GL_MAX_FRAGMENT_ATOMIC_COUNTERS   0x92D6
  1855. #define GL_MAX_COMBINED_ATOMIC_COUNTERS   0x92D7
  1856. #define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
  1857. #define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
  1858. #define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS  0x92D9
  1859. #define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
  1860. #define GL_UNSIGNED_INT_ATOMIC_COUNTER    0x92DB
  1861. #endif
  1862.  
  1863. #ifndef GL_ARB_shader_image_load_store
  1864. #define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
  1865. #define GL_ELEMENT_ARRAY_BARRIER_BIT      0x00000002
  1866. #define GL_UNIFORM_BARRIER_BIT            0x00000004
  1867. #define GL_TEXTURE_FETCH_BARRIER_BIT      0x00000008
  1868. #define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
  1869. #define GL_COMMAND_BARRIER_BIT            0x00000040
  1870. #define GL_PIXEL_BUFFER_BARRIER_BIT       0x00000080
  1871. #define GL_TEXTURE_UPDATE_BARRIER_BIT     0x00000100
  1872. #define GL_BUFFER_UPDATE_BARRIER_BIT      0x00000200
  1873. #define GL_FRAMEBUFFER_BARRIER_BIT        0x00000400
  1874. #define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
  1875. #define GL_ATOMIC_COUNTER_BARRIER_BIT     0x00001000
  1876. #define GL_ALL_BARRIER_BITS               0xFFFFFFFF
  1877. #define GL_MAX_IMAGE_UNITS                0x8F38
  1878. #define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
  1879. #define GL_IMAGE_BINDING_NAME             0x8F3A
  1880. #define GL_IMAGE_BINDING_LEVEL            0x8F3B
  1881. #define GL_IMAGE_BINDING_LAYERED          0x8F3C
  1882. #define GL_IMAGE_BINDING_LAYER            0x8F3D
  1883. #define GL_IMAGE_BINDING_ACCESS           0x8F3E
  1884. #define GL_IMAGE_1D                       0x904C
  1885. #define GL_IMAGE_2D                       0x904D
  1886. #define GL_IMAGE_3D                       0x904E
  1887. #define GL_IMAGE_2D_RECT                  0x904F
  1888. #define GL_IMAGE_CUBE                     0x9050
  1889. #define GL_IMAGE_BUFFER                   0x9051
  1890. #define GL_IMAGE_1D_ARRAY                 0x9052
  1891. #define GL_IMAGE_2D_ARRAY                 0x9053
  1892. #define GL_IMAGE_CUBE_MAP_ARRAY           0x9054
  1893. #define GL_IMAGE_2D_MULTISAMPLE           0x9055
  1894. #define GL_IMAGE_2D_MULTISAMPLE_ARRAY     0x9056
  1895. #define GL_INT_IMAGE_1D                   0x9057
  1896. #define GL_INT_IMAGE_2D                   0x9058
  1897. #define GL_INT_IMAGE_3D                   0x9059
  1898. #define GL_INT_IMAGE_2D_RECT              0x905A
  1899. #define GL_INT_IMAGE_CUBE                 0x905B
  1900. #define GL_INT_IMAGE_BUFFER               0x905C
  1901. #define GL_INT_IMAGE_1D_ARRAY             0x905D
  1902. #define GL_INT_IMAGE_2D_ARRAY             0x905E
  1903. #define GL_INT_IMAGE_CUBE_MAP_ARRAY       0x905F
  1904. #define GL_INT_IMAGE_2D_MULTISAMPLE       0x9060
  1905. #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
  1906. #define GL_UNSIGNED_INT_IMAGE_1D          0x9062
  1907. #define GL_UNSIGNED_INT_IMAGE_2D          0x9063
  1908. #define GL_UNSIGNED_INT_IMAGE_3D          0x9064
  1909. #define GL_UNSIGNED_INT_IMAGE_2D_RECT     0x9065
  1910. #define GL_UNSIGNED_INT_IMAGE_CUBE        0x9066
  1911. #define GL_UNSIGNED_INT_IMAGE_BUFFER      0x9067
  1912. #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY    0x9068
  1913. #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY    0x9069
  1914. #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
  1915. #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
  1916. #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
  1917. #define GL_MAX_IMAGE_SAMPLES              0x906D
  1918. #define GL_IMAGE_BINDING_FORMAT           0x906E
  1919. #define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
  1920. #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
  1921. #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
  1922. #define GL_MAX_VERTEX_IMAGE_UNIFORMS      0x90CA
  1923. #define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
  1924. #define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
  1925. #define GL_MAX_GEOMETRY_IMAGE_UNIFORMS    0x90CD
  1926. #define GL_MAX_FRAGMENT_IMAGE_UNIFORMS    0x90CE
  1927. #define GL_MAX_COMBINED_IMAGE_UNIFORMS    0x90CF
  1928. #endif
  1929.  
  1930. #ifndef GL_ARB_shading_language_packing
  1931. #endif
  1932.  
  1933. #ifndef GL_ARB_texture_storage
  1934. #define GL_TEXTURE_IMMUTABLE_FORMAT       0x912F
  1935. #endif
  1936.  
  1937.  
  1938. /*************************************************************/
  1939.  
  1940. #include <stddef.h>
  1941. #ifndef GL_VERSION_2_0
  1942. /* GL type for program/shader text */
  1943. typedef char GLchar;
  1944. #endif
  1945.  
  1946. #ifndef GL_VERSION_1_5
  1947. /* GL types for handling large vertex buffer objects */
  1948. typedef ptrdiff_t GLintptr;
  1949. typedef ptrdiff_t GLsizeiptr;
  1950. #endif
  1951.  
  1952. #ifndef GL_ARB_vertex_buffer_object
  1953. /* GL types for handling large vertex buffer objects */
  1954. typedef ptrdiff_t GLintptrARB;
  1955. typedef ptrdiff_t GLsizeiptrARB;
  1956. #endif
  1957.  
  1958. #ifndef GL_ARB_shader_objects
  1959. /* GL types for program/shader text and shader object handles */
  1960. typedef char GLcharARB;
  1961. typedef unsigned int GLhandleARB;
  1962. #endif
  1963.  
  1964. /* GL type for "half" precision (s10e5) float data in host memory */
  1965. #ifndef GL_ARB_half_float_pixel
  1966. typedef unsigned short GLhalfARB;
  1967. #endif
  1968.  
  1969. #ifndef GL_NV_half_float
  1970. typedef unsigned short GLhalfNV;
  1971. #endif
  1972.  
  1973. #ifndef GLEXT_64_TYPES_DEFINED
  1974. /* This code block is duplicated in glxext.h, so must be protected */
  1975. #define GLEXT_64_TYPES_DEFINED
  1976. /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
  1977. /* (as used in the GL_EXT_timer_query extension). */
  1978. #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  1979. #include <inttypes.h>
  1980. #elif defined(__sun__) || defined(__digital__)
  1981. #include <inttypes.h>
  1982. #if defined(__STDC__)
  1983. #if defined(__arch64__) || defined(_LP64)
  1984. typedef long int int64_t;
  1985. typedef unsigned long int uint64_t;
  1986. #else
  1987. typedef long long int int64_t;
  1988. typedef unsigned long long int uint64_t;
  1989. #endif /* __arch64__ */
  1990. #endif /* __STDC__ */
  1991. #elif defined( __VMS ) || defined(__sgi)
  1992. #include <inttypes.h>
  1993. #elif defined(__SCO__) || defined(__USLC__)
  1994. #include <stdint.h>
  1995. #elif defined(__UNIXOS2__) || defined(__SOL64__)
  1996. typedef long int int32_t;
  1997. typedef long long int int64_t;
  1998. typedef unsigned long long int uint64_t;
  1999. #elif defined(_WIN32) && defined(__GNUC__)
  2000. #include <stdint.h>
  2001. #elif defined(_WIN32)
  2002. typedef __int32 int32_t;
  2003. typedef __int64 int64_t;
  2004. typedef unsigned __int64 uint64_t;
  2005. #else
  2006. /* Fallback if nothing above works */
  2007. #include <inttypes.h>
  2008. #endif
  2009. #endif
  2010.  
  2011. #ifndef GL_EXT_timer_query
  2012. typedef int64_t GLint64EXT;
  2013. typedef uint64_t GLuint64EXT;
  2014. #endif
  2015.  
  2016. #ifndef GL_ARB_sync
  2017. typedef int64_t GLint64;
  2018. typedef uint64_t GLuint64;
  2019. typedef struct __GLsync *GLsync;
  2020. #endif
  2021.  
  2022. #ifndef GL_ARB_cl_event
  2023. /* These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event */
  2024. struct _cl_context;
  2025. struct _cl_event;
  2026. #endif
  2027.  
  2028. #ifndef GL_ARB_debug_output
  2029. typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
  2030. #endif
  2031.  
  2032. #ifndef GL_AMD_debug_output
  2033. typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
  2034. #endif
  2035.  
  2036. #ifndef GL_NV_vdpau_interop
  2037. typedef GLintptr GLvdpauSurfaceNV;
  2038. #endif
  2039.  
  2040. #ifndef GL_VERSION_1_0
  2041. #define GL_VERSION_1_0 1
  2042. #ifdef GL3_PROTOTYPES
  2043. GLAPI void APIENTRY glCullFace (GLenum mode);
  2044. GLAPI void APIENTRY glFrontFace (GLenum mode);
  2045. GLAPI void APIENTRY glHint (GLenum target, GLenum mode);
  2046. GLAPI void APIENTRY glLineWidth (GLfloat width);
  2047. GLAPI void APIENTRY glPointSize (GLfloat size);
  2048. GLAPI void APIENTRY glPolygonMode (GLenum face, GLenum mode);
  2049. GLAPI void APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
  2050. GLAPI void APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
  2051. GLAPI void APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
  2052. GLAPI void APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
  2053. GLAPI void APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
  2054. GLAPI void APIENTRY glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  2055. GLAPI void APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  2056. GLAPI void APIENTRY glDrawBuffer (GLenum mode);
  2057. GLAPI void APIENTRY glClear (GLbitfield mask);
  2058. GLAPI void APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  2059. GLAPI void APIENTRY glClearStencil (GLint s);
  2060. GLAPI void APIENTRY glClearDepth (GLclampd depth);
  2061. GLAPI void APIENTRY glStencilMask (GLuint mask);
  2062. GLAPI void APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  2063. GLAPI void APIENTRY glDepthMask (GLboolean flag);
  2064. GLAPI void APIENTRY glDisable (GLenum cap);
  2065. GLAPI void APIENTRY glEnable (GLenum cap);
  2066. GLAPI void APIENTRY glFinish (void);
  2067. GLAPI void APIENTRY glFlush (void);
  2068. GLAPI void APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
  2069. GLAPI void APIENTRY glLogicOp (GLenum opcode);
  2070. GLAPI void APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
  2071. GLAPI void APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
  2072. GLAPI void APIENTRY glDepthFunc (GLenum func);
  2073. GLAPI void APIENTRY glPixelStoref (GLenum pname, GLfloat param);
  2074. GLAPI void APIENTRY glPixelStorei (GLenum pname, GLint param);
  2075. GLAPI void APIENTRY glReadBuffer (GLenum mode);
  2076. GLAPI void APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
  2077. GLAPI void APIENTRY glGetBooleanv (GLenum pname, GLboolean *params);
  2078. GLAPI void APIENTRY glGetDoublev (GLenum pname, GLdouble *params);
  2079. GLAPI GLenum APIENTRY glGetError (void);
  2080. GLAPI void APIENTRY glGetFloatv (GLenum pname, GLfloat *params);
  2081. GLAPI void APIENTRY glGetIntegerv (GLenum pname, GLint *params);
  2082. GLAPI const GLubyte * APIENTRY glGetString (GLenum name);
  2083. GLAPI void APIENTRY glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
  2084. GLAPI void APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
  2085. GLAPI void APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
  2086. GLAPI void APIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params);
  2087. GLAPI void APIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params);
  2088. GLAPI GLboolean APIENTRY glIsEnabled (GLenum cap);
  2089. GLAPI void APIENTRY glDepthRange (GLclampd near, GLclampd far);
  2090. GLAPI void APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
  2091. #endif /* GL3_PROTOTYPES */
  2092. typedef void (APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
  2093. typedef void (APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
  2094. typedef void (APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
  2095. typedef void (APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
  2096. typedef void (APIENTRYP PFNGLPOINTSIZEPROC) (GLfloat size);
  2097. typedef void (APIENTRYP PFNGLPOLYGONMODEPROC) (GLenum face, GLenum mode);
  2098. typedef void (APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
  2099. typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
  2100. typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
  2101. typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
  2102. typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
  2103. typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  2104. typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  2105. typedef void (APIENTRYP PFNGLDRAWBUFFERPROC) (GLenum mode);
  2106. typedef void (APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
  2107. typedef void (APIENTRYP PFNGLCLEARCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  2108. typedef void (APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
  2109. typedef void (APIENTRYP PFNGLCLEARDEPTHPROC) (GLclampd depth);
  2110. typedef void (APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
  2111. typedef void (APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  2112. typedef void (APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
  2113. typedef void (APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
  2114. typedef void (APIENTRYP PFNGLENABLEPROC) (GLenum cap);
  2115. typedef void (APIENTRYP PFNGLFINISHPROC) (void);
  2116. typedef void (APIENTRYP PFNGLFLUSHPROC) (void);
  2117. typedef void (APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
  2118. typedef void (APIENTRYP PFNGLLOGICOPPROC) (GLenum opcode);
  2119. typedef void (APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
  2120. typedef void (APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
  2121. typedef void (APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
  2122. typedef void (APIENTRYP PFNGLPIXELSTOREFPROC) (GLenum pname, GLfloat param);
  2123. typedef void (APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
  2124. typedef void (APIENTRYP PFNGLREADBUFFERPROC) (GLenum mode);
  2125. typedef void (APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
  2126. typedef void (APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *params);
  2127. typedef void (APIENTRYP PFNGLGETDOUBLEVPROC) (GLenum pname, GLdouble *params);
  2128. typedef GLenum (APIENTRYP PFNGLGETERRORPROC) (void);
  2129. typedef void (APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *params);
  2130. typedef void (APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params);
  2131. typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
  2132. typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
  2133. typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
  2134. typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  2135. typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, GLint level, GLenum pname, GLfloat *params);
  2136. typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
  2137. typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
  2138. typedef void (APIENTRYP PFNGLDEPTHRANGEPROC) (GLclampd near, GLclampd far);
  2139. typedef void (APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
  2140. #endif
  2141.  
  2142. #ifndef GL_VERSION_1_1
  2143. #define GL_VERSION_1_1 1
  2144. #ifdef GL3_PROTOTYPES
  2145. GLAPI void APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
  2146. GLAPI void APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
  2147. GLAPI void APIENTRY glGetPointerv (GLenum pname, GLvoid* *params);
  2148. GLAPI void APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
  2149. GLAPI void APIENTRY glCopyTexImage1D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  2150. GLAPI void APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  2151. GLAPI void APIENTRY glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  2152. GLAPI void APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  2153. GLAPI void APIENTRY glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
  2154. GLAPI void APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
  2155. GLAPI void APIENTRY glBindTexture (GLenum target, GLuint texture);
  2156. GLAPI void APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
  2157. GLAPI void APIENTRY glGenTextures (GLsizei n, GLuint *textures);
  2158. GLAPI GLboolean APIENTRY glIsTexture (GLuint texture);
  2159. #endif /* GL3_PROTOTYPES */
  2160. typedef void (APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
  2161. typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
  2162. typedef void (APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, GLvoid* *params);
  2163. typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
  2164. typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  2165. typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  2166. typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  2167. typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  2168. typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
  2169. typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
  2170. typedef void (APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
  2171. typedef void (APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
  2172. typedef void (APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
  2173. typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
  2174. #endif
  2175.  
  2176. #ifndef GL_VERSION_1_2
  2177. #define GL_VERSION_1_2 1
  2178. #ifdef GL3_PROTOTYPES
  2179. GLAPI void APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  2180. GLAPI void APIENTRY glBlendEquation (GLenum mode);
  2181. GLAPI void APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
  2182. GLAPI void APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  2183. GLAPI void 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);
  2184. GLAPI void APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  2185. #endif /* GL3_PROTOTYPES */
  2186. typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  2187. typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
  2188. typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
  2189. typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  2190. typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
  2191. typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  2192. #endif
  2193.  
  2194. #ifndef GL_VERSION_1_3
  2195. #define GL_VERSION_1_3 1
  2196. #ifdef GL3_PROTOTYPES
  2197. GLAPI void APIENTRY glActiveTexture (GLenum texture);
  2198. GLAPI void APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
  2199. GLAPI void APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
  2200. GLAPI void APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
  2201. GLAPI void APIENTRY glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
  2202. GLAPI void 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);
  2203. GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
  2204. GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
  2205. GLAPI void APIENTRY glGetCompressedTexImage (GLenum target, GLint level, GLvoid *img);
  2206. #endif /* GL3_PROTOTYPES */
  2207. typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
  2208. typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
  2209. typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
  2210. typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
  2211. typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
  2212. typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
  2213. typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
  2214. typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
  2215. typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
  2216. #endif
  2217.  
  2218. #ifndef GL_VERSION_1_4
  2219. #define GL_VERSION_1_4 1
  2220. #ifdef GL3_PROTOTYPES
  2221. GLAPI void APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  2222. GLAPI void APIENTRY glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  2223. GLAPI void APIENTRY glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  2224. GLAPI void APIENTRY glPointParameterf (GLenum pname, GLfloat param);
  2225. GLAPI void APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);
  2226. GLAPI void APIENTRY glPointParameteri (GLenum pname, GLint param);
  2227. GLAPI void APIENTRY glPointParameteriv (GLenum pname, const GLint *params);
  2228. #endif /* GL3_PROTOTYPES */
  2229. typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  2230. typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  2231. typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  2232. typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
  2233. typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
  2234. typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
  2235. typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
  2236. #endif
  2237.  
  2238. #ifndef GL_VERSION_1_5
  2239. #define GL_VERSION_1_5 1
  2240. #ifdef GL3_PROTOTYPES
  2241. GLAPI void APIENTRY glGenQueries (GLsizei n, GLuint *ids);
  2242. GLAPI void APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
  2243. GLAPI GLboolean APIENTRY glIsQuery (GLuint id);
  2244. GLAPI void APIENTRY glBeginQuery (GLenum target, GLuint id);
  2245. GLAPI void APIENTRY glEndQuery (GLenum target);
  2246. GLAPI void APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
  2247. GLAPI void APIENTRY glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params);
  2248. GLAPI void APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
  2249. GLAPI void APIENTRY glBindBuffer (GLenum target, GLuint buffer);
  2250. GLAPI void APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
  2251. GLAPI void APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
  2252. GLAPI GLboolean APIENTRY glIsBuffer (GLuint buffer);
  2253. GLAPI void APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
  2254. GLAPI void APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
  2255. GLAPI void APIENTRY glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
  2256. GLAPI GLvoid* APIENTRY glMapBuffer (GLenum target, GLenum access);
  2257. GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum target);
  2258. GLAPI void APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
  2259. GLAPI void APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, GLvoid* *params);
  2260. #endif /* GL3_PROTOTYPES */
  2261. typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
  2262. typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
  2263. typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);
  2264. typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
  2265. typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
  2266. typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
  2267. typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
  2268. typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
  2269. typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
  2270. typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
  2271. typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
  2272. typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
  2273. typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
  2274. typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
  2275. typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
  2276. typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
  2277. typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
  2278. typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  2279. typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
  2280. #endif
  2281.  
  2282. #ifndef GL_VERSION_2_0
  2283. #define GL_VERSION_2_0 1
  2284. #ifdef GL3_PROTOTYPES
  2285. GLAPI void APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
  2286. GLAPI void APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
  2287. GLAPI void APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  2288. GLAPI void APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
  2289. GLAPI void APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
  2290. GLAPI void APIENTRY glAttachShader (GLuint program, GLuint shader);
  2291. GLAPI void APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
  2292. GLAPI void APIENTRY glCompileShader (GLuint shader);
  2293. GLAPI GLuint APIENTRY glCreateProgram (void);
  2294. GLAPI GLuint APIENTRY glCreateShader (GLenum type);
  2295. GLAPI void APIENTRY glDeleteProgram (GLuint program);
  2296. GLAPI void APIENTRY glDeleteShader (GLuint shader);
  2297. GLAPI void APIENTRY glDetachShader (GLuint program, GLuint shader);
  2298. GLAPI void APIENTRY glDisableVertexAttribArray (GLuint index);
  2299. GLAPI void APIENTRY glEnableVertexAttribArray (GLuint index);
  2300. GLAPI void APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  2301. GLAPI void APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  2302. GLAPI void APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
  2303. GLAPI GLint APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
  2304. GLAPI void APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
  2305. GLAPI void APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  2306. GLAPI void APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
  2307. GLAPI void APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  2308. GLAPI void APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  2309. GLAPI GLint APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
  2310. GLAPI void APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
  2311. GLAPI void APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
  2312. GLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);
  2313. GLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
  2314. GLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
  2315. GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid* *pointer);
  2316. GLAPI GLboolean APIENTRY glIsProgram (GLuint program);
  2317. GLAPI GLboolean APIENTRY glIsShader (GLuint shader);
  2318. GLAPI void APIENTRY glLinkProgram (GLuint program);
  2319. GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
  2320. GLAPI void APIENTRY glUseProgram (GLuint program);
  2321. GLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0);
  2322. GLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
  2323. GLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  2324. GLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  2325. GLAPI void APIENTRY glUniform1i (GLint location, GLint v0);
  2326. GLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
  2327. GLAPI void APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
  2328. GLAPI void APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  2329. GLAPI void APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
  2330. GLAPI void APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
  2331. GLAPI void APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
  2332. GLAPI void APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
  2333. GLAPI void APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
  2334. GLAPI void APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
  2335. GLAPI void APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
  2336. GLAPI void APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
  2337. GLAPI void APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2338. GLAPI void APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2339. GLAPI void APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2340. GLAPI void APIENTRY glValidateProgram (GLuint program);
  2341. GLAPI void APIENTRY glVertexAttrib1d (GLuint index, GLdouble x);
  2342. GLAPI void APIENTRY glVertexAttrib1dv (GLuint index, const GLdouble *v);
  2343. GLAPI void APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
  2344. GLAPI void APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
  2345. GLAPI void APIENTRY glVertexAttrib1s (GLuint index, GLshort x);
  2346. GLAPI void APIENTRY glVertexAttrib1sv (GLuint index, const GLshort *v);
  2347. GLAPI void APIENTRY glVertexAttrib2d (GLuint index, GLdouble x, GLdouble y);
  2348. GLAPI void APIENTRY glVertexAttrib2dv (GLuint index, const GLdouble *v);
  2349. GLAPI void APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
  2350. GLAPI void APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
  2351. GLAPI void APIENTRY glVertexAttrib2s (GLuint index, GLshort x, GLshort y);
  2352. GLAPI void APIENTRY glVertexAttrib2sv (GLuint index, const GLshort *v);
  2353. GLAPI void APIENTRY glVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  2354. GLAPI void APIENTRY glVertexAttrib3dv (GLuint index, const GLdouble *v);
  2355. GLAPI void APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  2356. GLAPI void APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
  2357. GLAPI void APIENTRY glVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z);
  2358. GLAPI void APIENTRY glVertexAttrib3sv (GLuint index, const GLshort *v);
  2359. GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint index, const GLbyte *v);
  2360. GLAPI void APIENTRY glVertexAttrib4Niv (GLuint index, const GLint *v);
  2361. GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint index, const GLshort *v);
  2362. GLAPI void APIENTRY glVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  2363. GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint index, const GLubyte *v);
  2364. GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint index, const GLuint *v);
  2365. GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint index, const GLushort *v);
  2366. GLAPI void APIENTRY glVertexAttrib4bv (GLuint index, const GLbyte *v);
  2367. GLAPI void APIENTRY glVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  2368. GLAPI void APIENTRY glVertexAttrib4dv (GLuint index, const GLdouble *v);
  2369. GLAPI void APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  2370. GLAPI void APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
  2371. GLAPI void APIENTRY glVertexAttrib4iv (GLuint index, const GLint *v);
  2372. GLAPI void APIENTRY glVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  2373. GLAPI void APIENTRY glVertexAttrib4sv (GLuint index, const GLshort *v);
  2374. GLAPI void APIENTRY glVertexAttrib4ubv (GLuint index, const GLubyte *v);
  2375. GLAPI void APIENTRY glVertexAttrib4uiv (GLuint index, const GLuint *v);
  2376. GLAPI void APIENTRY glVertexAttrib4usv (GLuint index, const GLushort *v);
  2377. GLAPI void APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
  2378. #endif /* GL3_PROTOTYPES */
  2379. typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
  2380. typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
  2381. typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  2382. typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
  2383. typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
  2384. typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
  2385. typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
  2386. typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
  2387. typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
  2388. typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
  2389. typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
  2390. typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
  2391. typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
  2392. typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
  2393. typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
  2394. typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  2395. typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  2396. typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
  2397. typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
  2398. typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
  2399. typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  2400. typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
  2401. typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  2402. typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  2403. typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
  2404. typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
  2405. typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
  2406. typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
  2407. typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
  2408. typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
  2409. typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
  2410. typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
  2411. typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
  2412. typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
  2413. typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
  2414. typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
  2415. typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
  2416. typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
  2417. typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  2418. typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  2419. typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
  2420. typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
  2421. typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
  2422. typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  2423. typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  2424. typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  2425. typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  2426. typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  2427. typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
  2428. typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
  2429. typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
  2430. typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
  2431. typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2432. typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2433. typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2434. typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
  2435. typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
  2436. typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
  2437. typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
  2438. typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
  2439. typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
  2440. typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
  2441. typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
  2442. typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
  2443. typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
  2444. typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
  2445. typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
  2446. typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
  2447. typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  2448. typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
  2449. typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  2450. typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
  2451. typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
  2452. typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
  2453. typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
  2454. typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
  2455. typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
  2456. typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  2457. typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
  2458. typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
  2459. typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
  2460. typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
  2461. typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  2462. typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
  2463. typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  2464. typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
  2465. typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
  2466. typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  2467. typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
  2468. typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
  2469. typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
  2470. typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
  2471. typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
  2472. #endif
  2473.  
  2474. #ifndef GL_VERSION_2_1
  2475. #define GL_VERSION_2_1 1
  2476. #ifdef GL3_PROTOTYPES
  2477. GLAPI void APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2478. GLAPI void APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2479. GLAPI void APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2480. GLAPI void APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2481. GLAPI void APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2482. GLAPI void APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2483. #endif /* GL3_PROTOTYPES */
  2484. typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2485. typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2486. typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2487. typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2488. typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2489. typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2490. #endif
  2491.  
  2492. #ifndef GL_VERSION_3_0
  2493. #define GL_VERSION_3_0 1
  2494. /* OpenGL 3.0 also reuses entry points from these extensions: */
  2495. /* ARB_framebuffer_object */
  2496. /* ARB_map_buffer_range */
  2497. /* ARB_vertex_array_object */
  2498. #ifdef GL3_PROTOTYPES
  2499. GLAPI void APIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  2500. GLAPI void APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
  2501. GLAPI void APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
  2502. GLAPI void APIENTRY glEnablei (GLenum target, GLuint index);
  2503. GLAPI void APIENTRY glDisablei (GLenum target, GLuint index);
  2504. GLAPI GLboolean APIENTRY glIsEnabledi (GLenum target, GLuint index);
  2505. GLAPI void APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
  2506. GLAPI void APIENTRY glEndTransformFeedback (void);
  2507. GLAPI void APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  2508. GLAPI void APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
  2509. GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
  2510. GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  2511. GLAPI void APIENTRY glClampColor (GLenum target, GLenum clamp);
  2512. GLAPI void APIENTRY glBeginConditionalRender (GLuint id, GLenum mode);
  2513. GLAPI void APIENTRY glEndConditionalRender (void);
  2514. GLAPI void APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  2515. GLAPI void APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
  2516. GLAPI void APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
  2517. GLAPI void APIENTRY glVertexAttribI1i (GLuint index, GLint x);
  2518. GLAPI void APIENTRY glVertexAttribI2i (GLuint index, GLint x, GLint y);
  2519. GLAPI void APIENTRY glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z);
  2520. GLAPI void APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
  2521. GLAPI void APIENTRY glVertexAttribI1ui (GLuint index, GLuint x);
  2522. GLAPI void APIENTRY glVertexAttribI2ui (GLuint index, GLuint x, GLuint y);
  2523. GLAPI void APIENTRY glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z);
  2524. GLAPI void APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  2525. GLAPI void APIENTRY glVertexAttribI1iv (GLuint index, const GLint *v);
  2526. GLAPI void APIENTRY glVertexAttribI2iv (GLuint index, const GLint *v);
  2527. GLAPI void APIENTRY glVertexAttribI3iv (GLuint index, const GLint *v);
  2528. GLAPI void APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
  2529. GLAPI void APIENTRY glVertexAttribI1uiv (GLuint index, const GLuint *v);
  2530. GLAPI void APIENTRY glVertexAttribI2uiv (GLuint index, const GLuint *v);
  2531. GLAPI void APIENTRY glVertexAttribI3uiv (GLuint index, const GLuint *v);
  2532. GLAPI void APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
  2533. GLAPI void APIENTRY glVertexAttribI4bv (GLuint index, const GLbyte *v);
  2534. GLAPI void APIENTRY glVertexAttribI4sv (GLuint index, const GLshort *v);
  2535. GLAPI void APIENTRY glVertexAttribI4ubv (GLuint index, const GLubyte *v);
  2536. GLAPI void APIENTRY glVertexAttribI4usv (GLuint index, const GLushort *v);
  2537. GLAPI void APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
  2538. GLAPI void APIENTRY glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name);
  2539. GLAPI GLint APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
  2540. GLAPI void APIENTRY glUniform1ui (GLint location, GLuint v0);
  2541. GLAPI void APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
  2542. GLAPI void APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
  2543. GLAPI void APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  2544. GLAPI void APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
  2545. GLAPI void APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
  2546. GLAPI void APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
  2547. GLAPI void APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
  2548. GLAPI void APIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);
  2549. GLAPI void APIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);
  2550. GLAPI void APIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);
  2551. GLAPI void APIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);
  2552. GLAPI void APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
  2553. GLAPI void APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
  2554. GLAPI void APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
  2555. GLAPI void APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  2556. GLAPI const GLubyte * APIENTRY glGetStringi (GLenum name, GLuint index);
  2557. #endif /* GL3_PROTOTYPES */
  2558. typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  2559. typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
  2560. typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
  2561. typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
  2562. typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
  2563. typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
  2564. typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
  2565. typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
  2566. typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  2567. typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
  2568. typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
  2569. typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  2570. typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
  2571. typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
  2572. typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
  2573. typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  2574. typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
  2575. typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
  2576. typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);
  2577. typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);
  2578. typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);
  2579. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
  2580. typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);
  2581. typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);
  2582. typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
  2583. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  2584. typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);
  2585. typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);
  2586. typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);
  2587. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
  2588. typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);
  2589. typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);
  2590. typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);
  2591. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
  2592. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);
  2593. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);
  2594. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);
  2595. typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);
  2596. typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
  2597. typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
  2598. typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
  2599. typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
  2600. typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
  2601. typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
  2602. typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  2603. typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  2604. typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  2605. typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  2606. typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  2607. typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
  2608. typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
  2609. typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
  2610. typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
  2611. typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
  2612. typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
  2613. typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
  2614. typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  2615. typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
  2616. #endif
  2617.  
  2618. #ifndef GL_VERSION_3_1
  2619. #define GL_VERSION_3_1 1
  2620. /* OpenGL 3.1 also reuses entry points from these extensions: */
  2621. /* ARB_copy_buffer */
  2622. /* ARB_uniform_buffer_object */
  2623. #ifdef GL3_PROTOTYPES
  2624. GLAPI void APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  2625. GLAPI void APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  2626. GLAPI void APIENTRY glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer);
  2627. GLAPI void APIENTRY glPrimitiveRestartIndex (GLuint index);
  2628. #endif /* GL3_PROTOTYPES */
  2629. typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  2630. typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  2631. typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
  2632. typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);
  2633. #endif
  2634.  
  2635. #ifndef GL_VERSION_3_2
  2636. #define GL_VERSION_3_2 1
  2637. /* OpenGL 3.2 also reuses entry points from these extensions: */
  2638. /* ARB_draw_elements_base_vertex */
  2639. /* ARB_provoking_vertex */
  2640. /* ARB_sync */
  2641. /* ARB_texture_multisample */
  2642. #ifdef GL3_PROTOTYPES
  2643. GLAPI void APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
  2644. GLAPI void APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
  2645. GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level);
  2646. #endif /* GL3_PROTOTYPES */
  2647. typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
  2648. typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
  2649. typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  2650. #endif
  2651.  
  2652. #ifndef GL_VERSION_3_3
  2653. #define GL_VERSION_3_3 1
  2654. /* OpenGL 3.3 also reuses entry points from these extensions: */
  2655. /* ARB_blend_func_extended */
  2656. /* ARB_sampler_objects */
  2657. /* ARB_explicit_attrib_location, but it has none */
  2658. /* ARB_occlusion_query2 (no entry points) */
  2659. /* ARB_shader_bit_encoding (no entry points) */
  2660. /* ARB_texture_rgb10_a2ui (no entry points) */
  2661. /* ARB_texture_swizzle (no entry points) */
  2662. /* ARB_timer_query */
  2663. /* ARB_vertex_type_2_10_10_10_rev */
  2664. #ifdef GL3_PROTOTYPES
  2665. GLAPI void APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
  2666. #endif /* GL3_PROTOTYPES */
  2667. typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
  2668. #endif
  2669.  
  2670. #ifndef GL_VERSION_4_0
  2671. #define GL_VERSION_4_0 1
  2672. /* OpenGL 4.0 also reuses entry points from these extensions: */
  2673. /* ARB_texture_query_lod (no entry points) */
  2674. /* ARB_draw_indirect */
  2675. /* ARB_gpu_shader5 (no entry points) */
  2676. /* ARB_gpu_shader_fp64 */
  2677. /* ARB_shader_subroutine */
  2678. /* ARB_tessellation_shader */
  2679. /* ARB_texture_buffer_object_rgb32 (no entry points) */
  2680. /* ARB_texture_cube_map_array (no entry points) */
  2681. /* ARB_texture_gather (no entry points) */
  2682. /* ARB_transform_feedback2 */
  2683. /* ARB_transform_feedback3 */
  2684. #ifdef GL3_PROTOTYPES
  2685. GLAPI void APIENTRY glMinSampleShading (GLclampf value);
  2686. GLAPI void APIENTRY glBlendEquationi (GLuint buf, GLenum mode);
  2687. GLAPI void APIENTRY glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  2688. GLAPI void APIENTRY glBlendFunci (GLuint buf, GLenum src, GLenum dst);
  2689. GLAPI void APIENTRY glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  2690. #endif /* GL3_PROTOTYPES */
  2691. typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLclampf value);
  2692. typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
  2693. typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  2694. typedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
  2695. typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  2696. #endif
  2697.  
  2698. #ifndef GL_VERSION_4_1
  2699. #define GL_VERSION_4_1 1
  2700. /* OpenGL 4.1 reuses entry points from these extensions: */
  2701. /* ARB_ES2_compatibility */
  2702. /* ARB_get_program_binary */
  2703. /* ARB_separate_shader_objects */
  2704. /* ARB_shader_precision (no entry points) */
  2705. /* ARB_vertex_attrib_64bit */
  2706. /* ARB_viewport_array */
  2707. #endif
  2708.  
  2709. #ifndef GL_VERSION_4_2
  2710. #define GL_VERSION_4_2 1
  2711. /* OpenGL 4.2 reuses entry points from these extensions: */
  2712. /* ARB_base_instance */
  2713. /* ARB_shading_language_420pack (no entry points) */
  2714. /* ARB_transform_feedback_instanced */
  2715. /* ARB_compressed_texture_pixel_storage (no entry points) */
  2716. /* ARB_conservative_depth (no entry points) */
  2717. /* ARB_internalformat_query */
  2718. /* ARB_map_buffer_alignment (no entry points) */
  2719. /* ARB_shader_atomic_counters */
  2720. /* ARB_shader_image_load_store */
  2721. /* ARB_shading_language_packing (no entry points) */
  2722. /* ARB_texture_storage */
  2723. #endif
  2724.  
  2725. #ifndef GL_ARB_depth_buffer_float
  2726. #define GL_ARB_depth_buffer_float 1
  2727. #endif
  2728.  
  2729. #ifndef GL_ARB_framebuffer_object
  2730. #define GL_ARB_framebuffer_object 1
  2731. #ifdef GL3_PROTOTYPES
  2732. GLAPI GLboolean APIENTRY glIsRenderbuffer (GLuint renderbuffer);
  2733. GLAPI void APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
  2734. GLAPI void APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
  2735. GLAPI void APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
  2736. GLAPI void APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  2737. GLAPI void APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
  2738. GLAPI GLboolean APIENTRY glIsFramebuffer (GLuint framebuffer);
  2739. GLAPI void APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
  2740. GLAPI void APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
  2741. GLAPI void APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
  2742. GLAPI GLenum APIENTRY glCheckFramebufferStatus (GLenum target);
  2743. GLAPI void APIENTRY glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  2744. GLAPI void APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  2745. GLAPI void APIENTRY glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  2746. GLAPI void APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  2747. GLAPI void APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
  2748. GLAPI void APIENTRY glGenerateMipmap (GLenum target);
  2749. GLAPI void APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  2750. GLAPI void APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  2751. GLAPI void APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  2752. #endif /* GL3_PROTOTYPES */
  2753. typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
  2754. typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
  2755. typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
  2756. typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
  2757. typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  2758. typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  2759. typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
  2760. typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
  2761. typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
  2762. typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
  2763. typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
  2764. typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  2765. typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  2766. typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  2767. typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  2768. typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
  2769. typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
  2770. typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  2771. typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  2772. typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  2773. #endif
  2774.  
  2775. #ifndef GL_ARB_framebuffer_sRGB
  2776. #define GL_ARB_framebuffer_sRGB 1
  2777. #endif
  2778.  
  2779. #ifndef GL_ARB_half_float_vertex
  2780. #define GL_ARB_half_float_vertex 1
  2781. #endif
  2782.  
  2783. #ifndef GL_ARB_map_buffer_range
  2784. #define GL_ARB_map_buffer_range 1
  2785. #ifdef GL3_PROTOTYPES
  2786. GLAPI GLvoid* APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  2787. GLAPI void APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
  2788. #endif /* GL3_PROTOTYPES */
  2789. typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  2790. typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  2791. #endif
  2792.  
  2793. #ifndef GL_ARB_texture_compression_rgtc
  2794. #define GL_ARB_texture_compression_rgtc 1
  2795. #endif
  2796.  
  2797. #ifndef GL_ARB_texture_rg
  2798. #define GL_ARB_texture_rg 1
  2799. #endif
  2800.  
  2801. #ifndef GL_ARB_vertex_array_object
  2802. #define GL_ARB_vertex_array_object 1
  2803. #ifdef GL3_PROTOTYPES
  2804. GLAPI void APIENTRY glBindVertexArray (GLuint array);
  2805. GLAPI void APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
  2806. GLAPI void APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
  2807. GLAPI GLboolean APIENTRY glIsVertexArray (GLuint array);
  2808. #endif /* GL3_PROTOTYPES */
  2809. typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
  2810. typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
  2811. typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
  2812. typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
  2813. #endif
  2814.  
  2815. #ifndef GL_ARB_uniform_buffer_object
  2816. #define GL_ARB_uniform_buffer_object 1
  2817. #ifdef GL3_PROTOTYPES
  2818. GLAPI void APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
  2819. GLAPI void APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  2820. GLAPI void APIENTRY glGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
  2821. GLAPI GLuint APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
  2822. GLAPI void APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  2823. GLAPI void APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  2824. GLAPI void APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  2825. #endif /* GL3_PROTOTYPES */
  2826. typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
  2827. typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  2828. typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
  2829. typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
  2830. typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  2831. typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  2832. typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  2833. #endif
  2834.  
  2835. #ifndef GL_ARB_copy_buffer
  2836. #define GL_ARB_copy_buffer 1
  2837. #ifdef GL3_PROTOTYPES
  2838. GLAPI void APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  2839. #endif /* GL3_PROTOTYPES */
  2840. typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  2841. #endif
  2842.  
  2843. #ifndef GL_ARB_depth_clamp
  2844. #define GL_ARB_depth_clamp 1
  2845. #endif
  2846.  
  2847. #ifndef GL_ARB_draw_elements_base_vertex
  2848. #define GL_ARB_draw_elements_base_vertex 1
  2849. #ifdef GL3_PROTOTYPES
  2850. GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
  2851. GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
  2852. GLAPI void APIENTRY glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);
  2853. GLAPI void APIENTRY glMultiDrawElementsBaseVertex (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, const GLint *basevertex);
  2854. #endif /* GL3_PROTOTYPES */
  2855. typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
  2856. typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
  2857. typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);
  2858. typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, const GLint *basevertex);
  2859. #endif
  2860.  
  2861. #ifndef GL_ARB_fragment_coord_conventions
  2862. #define GL_ARB_fragment_coord_conventions 1
  2863. #endif
  2864.  
  2865. #ifndef GL_ARB_provoking_vertex
  2866. #define GL_ARB_provoking_vertex 1
  2867. #ifdef GL3_PROTOTYPES
  2868. GLAPI void APIENTRY glProvokingVertex (GLenum mode);
  2869. #endif /* GL3_PROTOTYPES */
  2870. typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode);
  2871. #endif
  2872.  
  2873. #ifndef GL_ARB_seamless_cube_map
  2874. #define GL_ARB_seamless_cube_map 1
  2875. #endif
  2876.  
  2877. #ifndef GL_ARB_sync
  2878. #define GL_ARB_sync 1
  2879. #ifdef GL3_PROTOTYPES
  2880. GLAPI GLsync APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
  2881. GLAPI GLboolean APIENTRY glIsSync (GLsync sync);
  2882. GLAPI void APIENTRY glDeleteSync (GLsync sync);
  2883. GLAPI GLenum APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
  2884. GLAPI void APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
  2885. GLAPI void APIENTRY glGetInteger64v (GLenum pname, GLint64 *params);
  2886. GLAPI void APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  2887. #endif /* GL3_PROTOTYPES */
  2888. typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
  2889. typedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
  2890. typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
  2891. typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  2892. typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  2893. typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params);
  2894. typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  2895. #endif
  2896.  
  2897. #ifndef GL_ARB_texture_multisample
  2898. #define GL_ARB_texture_multisample 1
  2899. #ifdef GL3_PROTOTYPES
  2900. GLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
  2901. GLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
  2902. GLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
  2903. GLAPI void APIENTRY glSampleMaski (GLuint index, GLbitfield mask);
  2904. #endif /* GL3_PROTOTYPES */
  2905. typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
  2906. typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
  2907. typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
  2908. typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);
  2909. #endif
  2910.  
  2911. #ifndef GL_ARB_vertex_array_bgra
  2912. #define GL_ARB_vertex_array_bgra 1
  2913. #endif
  2914.  
  2915. #ifndef GL_ARB_draw_buffers_blend
  2916. #define GL_ARB_draw_buffers_blend 1
  2917. #ifdef GL3_PROTOTYPES
  2918. GLAPI void APIENTRY glBlendEquationiARB (GLuint buf, GLenum mode);
  2919. GLAPI void APIENTRY glBlendEquationSeparateiARB (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  2920. GLAPI void APIENTRY glBlendFunciARB (GLuint buf, GLenum src, GLenum dst);
  2921. GLAPI void APIENTRY glBlendFuncSeparateiARB (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  2922. #endif /* GL3_PROTOTYPES */
  2923. typedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);
  2924. typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  2925. typedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);
  2926. typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  2927. #endif
  2928.  
  2929. #ifndef GL_ARB_sample_shading
  2930. #define GL_ARB_sample_shading 1
  2931. #ifdef GL3_PROTOTYPES
  2932. GLAPI void APIENTRY glMinSampleShadingARB (GLclampf value);
  2933. #endif /* GL3_PROTOTYPES */
  2934. typedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value);
  2935. #endif
  2936.  
  2937. #ifndef GL_ARB_texture_cube_map_array
  2938. #define GL_ARB_texture_cube_map_array 1
  2939. #endif
  2940.  
  2941. #ifndef GL_ARB_texture_gather
  2942. #define GL_ARB_texture_gather 1
  2943. #endif
  2944.  
  2945. #ifndef GL_ARB_texture_query_lod
  2946. #define GL_ARB_texture_query_lod 1
  2947. #endif
  2948.  
  2949. #ifndef GL_ARB_shading_language_include
  2950. #define GL_ARB_shading_language_include 1
  2951. #ifdef GL3_PROTOTYPES
  2952. GLAPI void APIENTRY glNamedStringARB (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
  2953. GLAPI void APIENTRY glDeleteNamedStringARB (GLint namelen, const GLchar *name);
  2954. GLAPI void APIENTRY glCompileShaderIncludeARB (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);
  2955. GLAPI GLboolean APIENTRY glIsNamedStringARB (GLint namelen, const GLchar *name);
  2956. GLAPI void APIENTRY glGetNamedStringARB (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);
  2957. GLAPI void APIENTRY glGetNamedStringivARB (GLint namelen, const GLchar *name, GLenum pname, GLint *params);
  2958. #endif /* GL3_PROTOTYPES */
  2959. typedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
  2960. typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
  2961. typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);
  2962. typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
  2963. typedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);
  2964. typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar *name, GLenum pname, GLint *params);
  2965. #endif
  2966.  
  2967. #ifndef GL_ARB_texture_compression_bptc
  2968. #define GL_ARB_texture_compression_bptc 1
  2969. #endif
  2970.  
  2971. #ifndef GL_ARB_blend_func_extended
  2972. #define GL_ARB_blend_func_extended 1
  2973. #ifdef GL3_PROTOTYPES
  2974. GLAPI void APIENTRY glBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
  2975. GLAPI GLint APIENTRY glGetFragDataIndex (GLuint program, const GLchar *name);
  2976. #endif /* GL3_PROTOTYPES */
  2977. typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
  2978. typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name);
  2979. #endif
  2980.  
  2981. #ifndef GL_ARB_explicit_attrib_location
  2982. #define GL_ARB_explicit_attrib_location 1
  2983. #endif
  2984.  
  2985. #ifndef GL_ARB_occlusion_query2
  2986. #define GL_ARB_occlusion_query2 1
  2987. #endif
  2988.  
  2989. #ifndef GL_ARB_sampler_objects
  2990. #define GL_ARB_sampler_objects 1
  2991. #ifdef GL3_PROTOTYPES
  2992. GLAPI void APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
  2993. GLAPI void APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
  2994. GLAPI GLboolean APIENTRY glIsSampler (GLuint sampler);
  2995. GLAPI void APIENTRY glBindSampler (GLuint unit, GLuint sampler);
  2996. GLAPI void APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
  2997. GLAPI void APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
  2998. GLAPI void APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
  2999. GLAPI void APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
  3000. GLAPI void APIENTRY glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param);
  3001. GLAPI void APIENTRY glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param);
  3002. GLAPI void APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
  3003. GLAPI void APIENTRY glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params);
  3004. GLAPI void APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
  3005. GLAPI void APIENTRY glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params);
  3006. #endif /* GL3_PROTOTYPES */
  3007. typedef void (APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
  3008. typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
  3009. typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
  3010. typedef void (APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
  3011. typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
  3012. typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
  3013. typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
  3014. typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
  3015. typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
  3016. typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);
  3017. typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
  3018. typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);
  3019. typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
  3020. typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);
  3021. #endif
  3022.  
  3023. #ifndef GL_ARB_shader_bit_encoding
  3024. #define GL_ARB_shader_bit_encoding 1
  3025. #endif
  3026.  
  3027. #ifndef GL_ARB_texture_rgb10_a2ui
  3028. #define GL_ARB_texture_rgb10_a2ui 1
  3029. #endif
  3030.  
  3031. #ifndef GL_ARB_texture_swizzle
  3032. #define GL_ARB_texture_swizzle 1
  3033. #endif
  3034.  
  3035. #ifndef GL_ARB_timer_query
  3036. #define GL_ARB_timer_query 1
  3037. #ifdef GL3_PROTOTYPES
  3038. GLAPI void APIENTRY glQueryCounter (GLuint id, GLenum target);
  3039. GLAPI void APIENTRY glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 *params);
  3040. GLAPI void APIENTRY glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 *params);
  3041. #endif /* GL3_PROTOTYPES */
  3042. typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);
  3043. typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params);
  3044. typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params);
  3045. #endif
  3046.  
  3047. #ifndef GL_ARB_vertex_type_2_10_10_10_rev
  3048. #define GL_ARB_vertex_type_2_10_10_10_rev 1
  3049. #ifdef GL3_PROTOTYPES
  3050. GLAPI void APIENTRY glVertexP2ui (GLenum type, GLuint value);
  3051. GLAPI void APIENTRY glVertexP2uiv (GLenum type, const GLuint *value);
  3052. GLAPI void APIENTRY glVertexP3ui (GLenum type, GLuint value);
  3053. GLAPI void APIENTRY glVertexP3uiv (GLenum type, const GLuint *value);
  3054. GLAPI void APIENTRY glVertexP4ui (GLenum type, GLuint value);
  3055. GLAPI void APIENTRY glVertexP4uiv (GLenum type, const GLuint *value);
  3056. GLAPI void APIENTRY glTexCoordP1ui (GLenum type, GLuint coords);
  3057. GLAPI void APIENTRY glTexCoordP1uiv (GLenum type, const GLuint *coords);
  3058. GLAPI void APIENTRY glTexCoordP2ui (GLenum type, GLuint coords);
  3059. GLAPI void APIENTRY glTexCoordP2uiv (GLenum type, const GLuint *coords);
  3060. GLAPI void APIENTRY glTexCoordP3ui (GLenum type, GLuint coords);
  3061. GLAPI void APIENTRY glTexCoordP3uiv (GLenum type, const GLuint *coords);
  3062. GLAPI void APIENTRY glTexCoordP4ui (GLenum type, GLuint coords);
  3063. GLAPI void APIENTRY glTexCoordP4uiv (GLenum type, const GLuint *coords);
  3064. GLAPI void APIENTRY glMultiTexCoordP1ui (GLenum texture, GLenum type, GLuint coords);
  3065. GLAPI void APIENTRY glMultiTexCoordP1uiv (GLenum texture, GLenum type, const GLuint *coords);
  3066. GLAPI void APIENTRY glMultiTexCoordP2ui (GLenum texture, GLenum type, GLuint coords);
  3067. GLAPI void APIENTRY glMultiTexCoordP2uiv (GLenum texture, GLenum type, const GLuint *coords);
  3068. GLAPI void APIENTRY glMultiTexCoordP3ui (GLenum texture, GLenum type, GLuint coords);
  3069. GLAPI void APIENTRY glMultiTexCoordP3uiv (GLenum texture, GLenum type, const GLuint *coords);
  3070. GLAPI void APIENTRY glMultiTexCoordP4ui (GLenum texture, GLenum type, GLuint coords);
  3071. GLAPI void APIENTRY glMultiTexCoordP4uiv (GLenum texture, GLenum type, const GLuint *coords);
  3072. GLAPI void APIENTRY glNormalP3ui (GLenum type, GLuint coords);
  3073. GLAPI void APIENTRY glNormalP3uiv (GLenum type, const GLuint *coords);
  3074. GLAPI void APIENTRY glColorP3ui (GLenum type, GLuint color);
  3075. GLAPI void APIENTRY glColorP3uiv (GLenum type, const GLuint *color);
  3076. GLAPI void APIENTRY glColorP4ui (GLenum type, GLuint color);
  3077. GLAPI void APIENTRY glColorP4uiv (GLenum type, const GLuint *color);
  3078. GLAPI void APIENTRY glSecondaryColorP3ui (GLenum type, GLuint color);
  3079. GLAPI void APIENTRY glSecondaryColorP3uiv (GLenum type, const GLuint *color);
  3080. GLAPI void APIENTRY glVertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3081. GLAPI void APIENTRY glVertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3082. GLAPI void APIENTRY glVertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3083. GLAPI void APIENTRY glVertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3084. GLAPI void APIENTRY glVertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3085. GLAPI void APIENTRY glVertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3086. GLAPI void APIENTRY glVertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3087. GLAPI void APIENTRY glVertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3088. #endif /* GL3_PROTOTYPES */
  3089. typedef void (APIENTRYP PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);
  3090. typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint *value);
  3091. typedef void (APIENTRYP PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);
  3092. typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint *value);
  3093. typedef void (APIENTRYP PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);
  3094. typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint *value);
  3095. typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);
  3096. typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint *coords);
  3097. typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);
  3098. typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint *coords);
  3099. typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);
  3100. typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint *coords);
  3101. typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);
  3102. typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint *coords);
  3103. typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);
  3104. typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  3105. typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);
  3106. typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  3107. typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);
  3108. typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  3109. typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);
  3110. typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  3111. typedef void (APIENTRYP PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);
  3112. typedef void (APIENTRYP PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint *coords);
  3113. typedef void (APIENTRYP PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);
  3114. typedef void (APIENTRYP PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint *color);
  3115. typedef void (APIENTRYP PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);
  3116. typedef void (APIENTRYP PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint *color);
  3117. typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);
  3118. typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint *color);
  3119. typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3120. typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3121. typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3122. typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3123. typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3124. typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3125. typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  3126. typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  3127. #endif
  3128.  
  3129. #ifndef GL_ARB_draw_indirect
  3130. #define GL_ARB_draw_indirect 1
  3131. #ifdef GL3_PROTOTYPES
  3132. GLAPI void APIENTRY glDrawArraysIndirect (GLenum mode, const GLvoid *indirect);
  3133. GLAPI void APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const GLvoid *indirect);
  3134. #endif /* GL3_PROTOTYPES */
  3135. typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid *indirect);
  3136. typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid *indirect);
  3137. #endif
  3138.  
  3139. #ifndef GL_ARB_gpu_shader5
  3140. #define GL_ARB_gpu_shader5 1
  3141. #endif
  3142.  
  3143. #ifndef GL_ARB_gpu_shader_fp64
  3144. #define GL_ARB_gpu_shader_fp64 1
  3145. #ifdef GL3_PROTOTYPES
  3146. GLAPI void APIENTRY glUniform1d (GLint location, GLdouble x);
  3147. GLAPI void APIENTRY glUniform2d (GLint location, GLdouble x, GLdouble y);
  3148. GLAPI void APIENTRY glUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z);
  3149. GLAPI void APIENTRY glUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  3150. GLAPI void APIENTRY glUniform1dv (GLint location, GLsizei count, const GLdouble *value);
  3151. GLAPI void APIENTRY glUniform2dv (GLint location, GLsizei count, const GLdouble *value);
  3152. GLAPI void APIENTRY glUniform3dv (GLint location, GLsizei count, const GLdouble *value);
  3153. GLAPI void APIENTRY glUniform4dv (GLint location, GLsizei count, const GLdouble *value);
  3154. GLAPI void APIENTRY glUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3155. GLAPI void APIENTRY glUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3156. GLAPI void APIENTRY glUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3157. GLAPI void APIENTRY glUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3158. GLAPI void APIENTRY glUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3159. GLAPI void APIENTRY glUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3160. GLAPI void APIENTRY glUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3161. GLAPI void APIENTRY glUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3162. GLAPI void APIENTRY glUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3163. GLAPI void APIENTRY glGetUniformdv (GLuint program, GLint location, GLdouble *params);
  3164. #endif /* GL3_PROTOTYPES */
  3165. typedef void (APIENTRYP PFNGLUNIFORM1DPROC) (GLint location, GLdouble x);
  3166. typedef void (APIENTRYP PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y);
  3167. typedef void (APIENTRYP PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z);
  3168. typedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  3169. typedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  3170. typedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  3171. typedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  3172. typedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  3173. typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3174. typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3175. typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3176. typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3177. typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3178. typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3179. typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3180. typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3181. typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3182. typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params);
  3183. #endif
  3184.  
  3185. #ifndef GL_ARB_shader_subroutine
  3186. #define GL_ARB_shader_subroutine 1
  3187. #ifdef GL3_PROTOTYPES
  3188. GLAPI GLint APIENTRY glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name);
  3189. GLAPI GLuint APIENTRY glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name);
  3190. GLAPI void APIENTRY glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
  3191. GLAPI void APIENTRY glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
  3192. GLAPI void APIENTRY glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
  3193. GLAPI void APIENTRY glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices);
  3194. GLAPI void APIENTRY glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params);
  3195. GLAPI void APIENTRY glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
  3196. #endif /* GL3_PROTOTYPES */
  3197. typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name);
  3198. typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name);
  3199. typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
  3200. typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
  3201. typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
  3202. typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices);
  3203. typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params);
  3204. typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
  3205. #endif
  3206.  
  3207. #ifndef GL_ARB_tessellation_shader
  3208. #define GL_ARB_tessellation_shader 1
  3209. #ifdef GL3_PROTOTYPES
  3210. GLAPI void APIENTRY glPatchParameteri (GLenum pname, GLint value);
  3211. GLAPI void APIENTRY glPatchParameterfv (GLenum pname, const GLfloat *values);
  3212. #endif /* GL3_PROTOTYPES */
  3213. typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
  3214. typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values);
  3215. #endif
  3216.  
  3217. #ifndef GL_ARB_texture_buffer_object_rgb32
  3218. #define GL_ARB_texture_buffer_object_rgb32 1
  3219. #endif
  3220.  
  3221. #ifndef GL_ARB_transform_feedback2
  3222. #define GL_ARB_transform_feedback2 1
  3223. #ifdef GL3_PROTOTYPES
  3224. GLAPI void APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
  3225. GLAPI void APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
  3226. GLAPI void APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
  3227. GLAPI GLboolean APIENTRY glIsTransformFeedback (GLuint id);
  3228. GLAPI void APIENTRY glPauseTransformFeedback (void);
  3229. GLAPI void APIENTRY glResumeTransformFeedback (void);
  3230. GLAPI void APIENTRY glDrawTransformFeedback (GLenum mode, GLuint id);
  3231. #endif /* GL3_PROTOTYPES */
  3232. typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
  3233. typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
  3234. typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
  3235. typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
  3236. typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
  3237. typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
  3238. typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);
  3239. #endif
  3240.  
  3241. #ifndef GL_ARB_transform_feedback3
  3242. #define GL_ARB_transform_feedback3 1
  3243. #ifdef GL3_PROTOTYPES
  3244. GLAPI void APIENTRY glDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream);
  3245. GLAPI void APIENTRY glBeginQueryIndexed (GLenum target, GLuint index, GLuint id);
  3246. GLAPI void APIENTRY glEndQueryIndexed (GLenum target, GLuint index);
  3247. GLAPI void APIENTRY glGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint *params);
  3248. #endif /* GL3_PROTOTYPES */
  3249. typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);
  3250. typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);
  3251. typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);
  3252. typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
  3253. #endif
  3254.  
  3255. #ifndef GL_ARB_ES2_compatibility
  3256. #define GL_ARB_ES2_compatibility 1
  3257. #ifdef GL3_PROTOTYPES
  3258. GLAPI void APIENTRY glReleaseShaderCompiler (void);
  3259. GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
  3260. GLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
  3261. GLAPI void APIENTRY glDepthRangef (GLclampf n, GLclampf f);
  3262. GLAPI void APIENTRY glClearDepthf (GLclampf d);
  3263. #endif /* GL3_PROTOTYPES */
  3264. typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
  3265. typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
  3266. typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
  3267. typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f);
  3268. typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLclampf d);
  3269. #endif
  3270.  
  3271. #ifndef GL_ARB_get_program_binary
  3272. #define GL_ARB_get_program_binary 1
  3273. #ifdef GL3_PROTOTYPES
  3274. GLAPI void APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  3275. GLAPI void APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
  3276. GLAPI void APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
  3277. #endif /* GL3_PROTOTYPES */
  3278. typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  3279. typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
  3280. typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
  3281. #endif
  3282.  
  3283. #ifndef GL_ARB_separate_shader_objects
  3284. #define GL_ARB_separate_shader_objects 1
  3285. #ifdef GL3_PROTOTYPES
  3286. GLAPI void APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
  3287. GLAPI void APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program);
  3288. GLAPI GLuint APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar* *strings);
  3289. GLAPI void APIENTRY glBindProgramPipeline (GLuint pipeline);
  3290. GLAPI void APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);
  3291. GLAPI void APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines);
  3292. GLAPI GLboolean APIENTRY glIsProgramPipeline (GLuint pipeline);
  3293. GLAPI void APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);
  3294. GLAPI void APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0);
  3295. GLAPI void APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);
  3296. GLAPI void APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
  3297. GLAPI void APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3298. GLAPI void APIENTRY glProgramUniform1d (GLuint program, GLint location, GLdouble v0);
  3299. GLAPI void APIENTRY glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3300. GLAPI void APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
  3301. GLAPI void APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3302. GLAPI void APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
  3303. GLAPI void APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);
  3304. GLAPI void APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
  3305. GLAPI void APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3306. GLAPI void APIENTRY glProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1);
  3307. GLAPI void APIENTRY glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3308. GLAPI void APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
  3309. GLAPI void APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3310. GLAPI void APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
  3311. GLAPI void APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);
  3312. GLAPI void APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  3313. GLAPI void APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3314. GLAPI void APIENTRY glProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
  3315. GLAPI void APIENTRY glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3316. GLAPI void APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
  3317. GLAPI void APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3318. GLAPI void APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  3319. GLAPI void APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);
  3320. GLAPI void APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  3321. GLAPI void APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3322. GLAPI void APIENTRY glProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
  3323. GLAPI void APIENTRY glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3324. GLAPI void APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  3325. GLAPI void APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3326. GLAPI void APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3327. GLAPI void APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3328. GLAPI void APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3329. GLAPI void APIENTRY glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3330. GLAPI void APIENTRY glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3331. GLAPI void APIENTRY glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3332. GLAPI void APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3333. GLAPI void APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3334. GLAPI void APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3335. GLAPI void APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3336. GLAPI void APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3337. GLAPI void APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3338. GLAPI void APIENTRY glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3339. GLAPI void APIENTRY glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3340. GLAPI void APIENTRY glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3341. GLAPI void APIENTRY glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3342. GLAPI void APIENTRY glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3343. GLAPI void APIENTRY glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3344. GLAPI void APIENTRY glValidateProgramPipeline (GLuint pipeline);
  3345. GLAPI void APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  3346. #endif /* GL3_PROTOTYPES */
  3347. typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  3348. typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
  3349. typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar* *strings);
  3350. typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
  3351. typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);
  3352. typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
  3353. typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
  3354. typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);
  3355. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);
  3356. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3357. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);
  3358. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3359. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0);
  3360. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3361. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);
  3362. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3363. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);
  3364. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3365. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
  3366. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3367. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1);
  3368. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3369. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
  3370. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3371. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
  3372. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3373. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  3374. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3375. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
  3376. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3377. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
  3378. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3379. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  3380. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  3381. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  3382. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  3383. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
  3384. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  3385. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  3386. typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  3387. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3388. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3389. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3390. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3391. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3392. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3393. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3394. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3395. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3396. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3397. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3398. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3399. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3400. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3401. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3402. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3403. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3404. typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  3405. typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);
  3406. typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  3407. #endif
  3408.  
  3409. #ifndef GL_ARB_vertex_attrib_64bit
  3410. #define GL_ARB_vertex_attrib_64bit 1
  3411. #ifdef GL3_PROTOTYPES
  3412. GLAPI void APIENTRY glVertexAttribL1d (GLuint index, GLdouble x);
  3413. GLAPI void APIENTRY glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y);
  3414. GLAPI void APIENTRY glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  3415. GLAPI void APIENTRY glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  3416. GLAPI void APIENTRY glVertexAttribL1dv (GLuint index, const GLdouble *v);
  3417. GLAPI void APIENTRY glVertexAttribL2dv (GLuint index, const GLdouble *v);
  3418. GLAPI void APIENTRY glVertexAttribL3dv (GLuint index, const GLdouble *v);
  3419. GLAPI void APIENTRY glVertexAttribL4dv (GLuint index, const GLdouble *v);
  3420. GLAPI void APIENTRY glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  3421. GLAPI void APIENTRY glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble *params);
  3422. #endif /* GL3_PROTOTYPES */
  3423. typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x);
  3424. typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y);
  3425. typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  3426. typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  3427. typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v);
  3428. typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v);
  3429. typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v);
  3430. typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v);
  3431. typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  3432. typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params);
  3433. #endif
  3434.  
  3435. #ifndef GL_ARB_viewport_array
  3436. #define GL_ARB_viewport_array 1
  3437. #ifdef GL3_PROTOTYPES
  3438. GLAPI void APIENTRY glViewportArrayv (GLuint first, GLsizei count, const GLfloat *v);
  3439. GLAPI void APIENTRY glViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
  3440. GLAPI void APIENTRY glViewportIndexedfv (GLuint index, const GLfloat *v);
  3441. GLAPI void APIENTRY glScissorArrayv (GLuint first, GLsizei count, const GLint *v);
  3442. GLAPI void APIENTRY glScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
  3443. GLAPI void APIENTRY glScissorIndexedv (GLuint index, const GLint *v);
  3444. GLAPI void APIENTRY glDepthRangeArrayv (GLuint first, GLsizei count, const GLclampd *v);
  3445. GLAPI void APIENTRY glDepthRangeIndexed (GLuint index, GLclampd n, GLclampd f);
  3446. GLAPI void APIENTRY glGetFloati_v (GLenum target, GLuint index, GLfloat *data);
  3447. GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data);
  3448. #endif /* GL3_PROTOTYPES */
  3449. typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v);
  3450. typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
  3451. typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v);
  3452. typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v);
  3453. typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
  3454. typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v);
  3455. typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd *v);
  3456. typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f);
  3457. typedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data);
  3458. typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);
  3459. #endif
  3460.  
  3461. #ifndef GL_ARB_cl_event
  3462. #define GL_ARB_cl_event 1
  3463. #ifdef GL3_PROTOTYPES
  3464. GLAPI GLsync APIENTRY glCreateSyncFromCLeventARB (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
  3465. #endif /* GL3_PROTOTYPES */
  3466. typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
  3467. #endif
  3468.  
  3469. #ifndef GL_ARB_debug_output
  3470. #define GL_ARB_debug_output 1
  3471. #ifdef GL3_PROTOTYPES
  3472. GLAPI void APIENTRY glDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  3473. GLAPI void APIENTRY glDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  3474. GLAPI void APIENTRY glDebugMessageCallbackARB (GLDEBUGPROCARB callback, const GLvoid *userParam);
  3475. GLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  3476. #endif /* GL3_PROTOTYPES */
  3477. typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  3478. typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  3479. typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const GLvoid *userParam);
  3480. typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  3481. #endif
  3482.  
  3483. #ifndef GL_ARB_robustness
  3484. #define GL_ARB_robustness 1
  3485. #ifdef GL3_PROTOTYPES
  3486. GLAPI GLenum APIENTRY glGetGraphicsResetStatusARB (void);
  3487. GLAPI void APIENTRY glGetnMapdvARB (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
  3488. GLAPI void APIENTRY glGetnMapfvARB (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
  3489. GLAPI void APIENTRY glGetnMapivARB (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
  3490. GLAPI void APIENTRY glGetnPixelMapfvARB (GLenum map, GLsizei bufSize, GLfloat *values);
  3491. GLAPI void APIENTRY glGetnPixelMapuivARB (GLenum map, GLsizei bufSize, GLuint *values);
  3492. GLAPI void APIENTRY glGetnPixelMapusvARB (GLenum map, GLsizei bufSize, GLushort *values);
  3493. GLAPI void APIENTRY glGetnPolygonStippleARB (GLsizei bufSize, GLubyte *pattern);
  3494. GLAPI void APIENTRY glGetnColorTableARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);
  3495. GLAPI void APIENTRY glGetnConvolutionFilterARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);
  3496. GLAPI void APIENTRY glGetnSeparableFilterARB (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);
  3497. GLAPI void APIENTRY glGetnHistogramARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
  3498. GLAPI void APIENTRY glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
  3499. GLAPI void APIENTRY glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);
  3500. GLAPI void APIENTRY glReadnPixelsARB (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
  3501. GLAPI void APIENTRY glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);
  3502. GLAPI void APIENTRY glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  3503. GLAPI void APIENTRY glGetnUniformivARB (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  3504. GLAPI void APIENTRY glGetnUniformuivARB (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
  3505. GLAPI void APIENTRY glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
  3506. #endif /* GL3_PROTOTYPES */
  3507. typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void);
  3508. typedef void (APIENTRYP PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
  3509. typedef void (APIENTRYP PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
  3510. typedef void (APIENTRYP PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
  3511. typedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat *values);
  3512. typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint *values);
  3513. typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort *values);
  3514. typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte *pattern);
  3515. typedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);
  3516. typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);
  3517. typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);
  3518. typedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
  3519. typedef void (APIENTRYP PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
  3520. typedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);
  3521. typedef void (APIENTRYP PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
  3522. typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);
  3523. typedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  3524. typedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  3525. typedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
  3526. typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
  3527. #endif
  3528.  
  3529. #ifndef GL_ARB_shader_stencil_export
  3530. #define GL_ARB_shader_stencil_export 1
  3531. #endif
  3532.  
  3533. #ifndef GL_ARB_base_instance
  3534. #define GL_ARB_base_instance 1
  3535. #ifdef GL3_PROTOTYPES
  3536. GLAPI void APIENTRY glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);
  3537. GLAPI void APIENTRY glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance);
  3538. GLAPI void APIENTRY glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);
  3539. #endif /* GL3_PROTOTYPES */
  3540. typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);
  3541. typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance);
  3542. typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);
  3543. #endif
  3544.  
  3545. #ifndef GL_ARB_shading_language_420pack
  3546. #define GL_ARB_shading_language_420pack 1
  3547. #endif
  3548.  
  3549. #ifndef GL_ARB_transform_feedback_instanced
  3550. #define GL_ARB_transform_feedback_instanced 1
  3551. #ifdef GL3_PROTOTYPES
  3552. GLAPI void APIENTRY glDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei primcount);
  3553. GLAPI void APIENTRY glDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei primcount);
  3554. #endif /* GL3_PROTOTYPES */
  3555. typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei primcount);
  3556. typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei primcount);
  3557. #endif
  3558.  
  3559. #ifndef GL_ARB_compressed_texture_pixel_storage
  3560. #define GL_ARB_compressed_texture_pixel_storage 1
  3561. #endif
  3562.  
  3563. #ifndef GL_ARB_conservative_depth
  3564. #define GL_ARB_conservative_depth 1
  3565. #endif
  3566.  
  3567. #ifndef GL_ARB_internalformat_query
  3568. #define GL_ARB_internalformat_query 1
  3569. #ifdef GL3_PROTOTYPES
  3570. GLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
  3571. #endif /* GL3_PROTOTYPES */
  3572. typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
  3573. #endif
  3574.  
  3575. #ifndef GL_ARB_map_buffer_alignment
  3576. #define GL_ARB_map_buffer_alignment 1
  3577. #endif
  3578.  
  3579. #ifndef GL_ARB_shader_atomic_counters
  3580. #define GL_ARB_shader_atomic_counters 1
  3581. #ifdef GL3_PROTOTYPES
  3582. GLAPI void APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
  3583. #endif /* GL3_PROTOTYPES */
  3584. typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
  3585. #endif
  3586.  
  3587. #ifndef GL_ARB_shader_image_load_store
  3588. #define GL_ARB_shader_image_load_store 1
  3589. #ifdef GL3_PROTOTYPES
  3590. GLAPI void APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
  3591. GLAPI void APIENTRY glMemoryBarrier (GLbitfield barriers);
  3592. #endif /* GL3_PROTOTYPES */
  3593. typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
  3594. typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);
  3595. #endif
  3596.  
  3597. #ifndef GL_ARB_shading_language_packing
  3598. #define GL_ARB_shading_language_packing 1
  3599. #endif
  3600.  
  3601. #ifndef GL_ARB_texture_storage
  3602. #define GL_ARB_texture_storage 1
  3603. #ifdef GL3_PROTOTYPES
  3604. GLAPI void APIENTRY glTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3605. GLAPI void APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3606. GLAPI void APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3607. GLAPI void APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3608. GLAPI void APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3609. GLAPI void APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3610. #endif /* GL3_PROTOTYPES */
  3611. typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3612. typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3613. typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3614. typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  3615. typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  3616. typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  3617. #endif
  3618.  
  3619.  
  3620. #ifdef __cplusplus
  3621. }
  3622. #endif
  3623.  
  3624. #endif
  3625.  
  3626.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement