Subversion Repositories Games.Prince of Persia

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #ifndef __gl2ext_h_
  2. #define __gl2ext_h_
  3.  
  4. /* $Revision: 22801 $ on $Date:: 2013-08-21 03:20:48 -0700 #$ */
  5.  
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10. /*
  11.  * This document is licensed under the SGI Free Software B License Version
  12.  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
  13.  */
  14.  
  15. #ifndef GL_APIENTRYP
  16. #   define GL_APIENTRYP GL_APIENTRY*
  17. #endif
  18.  
  19. /* New types shared by several extensions */
  20.  
  21. #ifndef __gl3_h_
  22. /* These are defined with respect to <inttypes.h> in the
  23.  * Apple extension spec, but they are also used by non-APPLE
  24.  * extensions, and in the Khronos header we use the Khronos
  25.  * portable types in khrplatform.h, which must be defined.
  26.  */
  27. typedef khronos_int64_t GLint64;
  28. typedef khronos_uint64_t GLuint64;
  29. typedef struct __GLsync *GLsync;
  30. #endif
  31.  
  32.  
  33. /*------------------------------------------------------------------------*
  34.  * OES extension tokens
  35.  *------------------------------------------------------------------------*/
  36.  
  37. /* GL_OES_compressed_ETC1_RGB8_texture */
  38. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  39. #define GL_ETC1_RGB8_OES                                        0x8D64
  40. #endif
  41.  
  42. /* GL_OES_compressed_paletted_texture */
  43. #ifndef GL_OES_compressed_paletted_texture
  44. #define GL_PALETTE4_RGB8_OES                                    0x8B90
  45. #define GL_PALETTE4_RGBA8_OES                                   0x8B91
  46. #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
  47. #define GL_PALETTE4_RGBA4_OES                                   0x8B93
  48. #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
  49. #define GL_PALETTE8_RGB8_OES                                    0x8B95
  50. #define GL_PALETTE8_RGBA8_OES                                   0x8B96
  51. #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
  52. #define GL_PALETTE8_RGBA4_OES                                   0x8B98
  53. #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
  54. #endif
  55.  
  56. /* GL_OES_depth24 */
  57. #ifndef GL_OES_depth24
  58. #define GL_DEPTH_COMPONENT24_OES                                0x81A6
  59. #endif
  60.  
  61. /* GL_OES_depth32 */
  62. #ifndef GL_OES_depth32
  63. #define GL_DEPTH_COMPONENT32_OES                                0x81A7
  64. #endif
  65.  
  66. /* GL_OES_depth_texture */
  67. /* No new tokens introduced by this extension. */
  68.  
  69. /* GL_OES_EGL_image */
  70. #ifndef GL_OES_EGL_image
  71. typedef void* GLeglImageOES;
  72. #endif
  73.  
  74. /* GL_OES_EGL_image_external */
  75. #ifndef GL_OES_EGL_image_external
  76. /* GLeglImageOES defined in GL_OES_EGL_image already. */
  77. #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
  78. #define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
  79. #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
  80. #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
  81. #endif
  82.  
  83. /* GL_OES_element_index_uint */
  84. #ifndef GL_OES_element_index_uint
  85. #define GL_UNSIGNED_INT                                         0x1405
  86. #endif
  87.  
  88. /* GL_OES_get_program_binary */
  89. #ifndef GL_OES_get_program_binary
  90. #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
  91. #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
  92. #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
  93. #endif
  94.  
  95. /* GL_OES_mapbuffer */
  96. #ifndef GL_OES_mapbuffer
  97. #define GL_WRITE_ONLY_OES                                       0x88B9
  98. #define GL_BUFFER_ACCESS_OES                                    0x88BB
  99. #define GL_BUFFER_MAPPED_OES                                    0x88BC
  100. #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
  101. #endif
  102.  
  103. /* GL_OES_packed_depth_stencil */
  104. #ifndef GL_OES_packed_depth_stencil
  105. #define GL_DEPTH_STENCIL_OES                                    0x84F9
  106. #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
  107. #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
  108. #endif
  109.  
  110. /* GL_OES_required_internalformat */
  111. #ifndef GL_OES_required_internalformat
  112. #define GL_ALPHA8_OES                                           0x803C
  113. #define GL_DEPTH_COMPONENT16_OES                                0x81A5
  114. /* reuse GL_DEPTH_COMPONENT24_OES */
  115. /* reuse GL_DEPTH24_STENCIL8_OES */
  116. /* reuse GL_DEPTH_COMPONENT32_OES */
  117. #define GL_LUMINANCE4_ALPHA4_OES                                0x8043
  118. #define GL_LUMINANCE8_ALPHA8_OES                                0x8045
  119. #define GL_LUMINANCE8_OES                                       0x8040
  120. #define GL_RGBA4_OES                                            0x8056
  121. #define GL_RGB5_A1_OES                                          0x8057
  122. #define GL_RGB565_OES                                           0x8D62
  123. /* reuse GL_RGB8_OES */
  124. /* reuse GL_RGBA8_OES */
  125. /* reuse GL_RGB10_EXT */
  126. /* reuse GL_RGB10_A2_EXT */
  127. #endif
  128.  
  129. /* GL_OES_rgb8_rgba8 */
  130. #ifndef GL_OES_rgb8_rgba8
  131. #define GL_RGB8_OES                                             0x8051
  132. #define GL_RGBA8_OES                                            0x8058
  133. #endif
  134.  
  135. /* GL_OES_standard_derivatives */
  136. #ifndef GL_OES_standard_derivatives
  137. #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
  138. #endif
  139.  
  140. /* GL_OES_stencil1 */
  141. #ifndef GL_OES_stencil1
  142. #define GL_STENCIL_INDEX1_OES                                   0x8D46
  143. #endif
  144.  
  145. /* GL_OES_stencil4 */
  146. #ifndef GL_OES_stencil4
  147. #define GL_STENCIL_INDEX4_OES                                   0x8D47
  148. #endif
  149.  
  150. #ifndef GL_OES_surfaceless_context
  151. #define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219
  152. #endif
  153.  
  154. /* GL_OES_texture_3D */
  155. #ifndef GL_OES_texture_3D
  156. #define GL_TEXTURE_WRAP_R_OES                                   0x8072
  157. #define GL_TEXTURE_3D_OES                                       0x806F
  158. #define GL_TEXTURE_BINDING_3D_OES                               0x806A
  159. #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
  160. #define GL_SAMPLER_3D_OES                                       0x8B5F
  161. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
  162. #endif
  163.  
  164. /* GL_OES_texture_float */
  165. /* No new tokens introduced by this extension. */
  166.  
  167. /* GL_OES_texture_float_linear */
  168. /* No new tokens introduced by this extension. */
  169.  
  170. /* GL_OES_texture_half_float */
  171. #ifndef GL_OES_texture_half_float
  172. #define GL_HALF_FLOAT_OES                                       0x8D61
  173. #endif
  174.  
  175. /* GL_OES_texture_half_float_linear */
  176. /* No new tokens introduced by this extension. */
  177.  
  178. /* GL_OES_texture_npot */
  179. /* No new tokens introduced by this extension. */
  180.  
  181. /* GL_OES_vertex_array_object */
  182. #ifndef GL_OES_vertex_array_object
  183. #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
  184. #endif
  185.  
  186. /* GL_OES_vertex_half_float */
  187. /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
  188.  
  189. /* GL_OES_vertex_type_10_10_10_2 */
  190. #ifndef GL_OES_vertex_type_10_10_10_2
  191. #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
  192. #define GL_INT_10_10_10_2_OES                                   0x8DF7
  193. #endif
  194.  
  195. /*------------------------------------------------------------------------*
  196.  * KHR extension tokens
  197.  *------------------------------------------------------------------------*/
  198.  
  199. #ifndef GL_KHR_debug
  200. typedef void (GL_APIENTRYP GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
  201. #define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR                         0x8242
  202. #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR                 0x8243
  203. #define GL_DEBUG_CALLBACK_FUNCTION_KHR                          0x8244
  204. #define GL_DEBUG_CALLBACK_USER_PARAM_KHR                        0x8245
  205. #define GL_DEBUG_SOURCE_API_KHR                                 0x8246
  206. #define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR                       0x8247
  207. #define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR                     0x8248
  208. #define GL_DEBUG_SOURCE_THIRD_PARTY_KHR                         0x8249
  209. #define GL_DEBUG_SOURCE_APPLICATION_KHR                         0x824A
  210. #define GL_DEBUG_SOURCE_OTHER_KHR                               0x824B
  211. #define GL_DEBUG_TYPE_ERROR_KHR                                 0x824C
  212. #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR                   0x824D
  213. #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR                    0x824E
  214. #define GL_DEBUG_TYPE_PORTABILITY_KHR                           0x824F
  215. #define GL_DEBUG_TYPE_PERFORMANCE_KHR                           0x8250
  216. #define GL_DEBUG_TYPE_OTHER_KHR                                 0x8251
  217. #define GL_DEBUG_TYPE_MARKER_KHR                                0x8268
  218. #define GL_DEBUG_TYPE_PUSH_GROUP_KHR                            0x8269
  219. #define GL_DEBUG_TYPE_POP_GROUP_KHR                             0x826A
  220. #define GL_DEBUG_SEVERITY_NOTIFICATION_KHR                      0x826B
  221. #define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR                      0x826C
  222. #define GL_DEBUG_GROUP_STACK_DEPTH_KHR                          0x826D
  223. #define GL_BUFFER_KHR                                           0x82E0
  224. #define GL_SHADER_KHR                                           0x82E1
  225. #define GL_PROGRAM_KHR                                          0x82E2
  226. #define GL_QUERY_KHR                                            0x82E3
  227. /* PROGRAM_PIPELINE only in GL */
  228. #define GL_SAMPLER_KHR                                          0x82E6
  229. /* DISPLAY_LIST only in GL */
  230. #define GL_MAX_LABEL_LENGTH_KHR                                 0x82E8
  231. #define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR                         0x9143
  232. #define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR                        0x9144
  233. #define GL_DEBUG_LOGGED_MESSAGES_KHR                            0x9145
  234. #define GL_DEBUG_SEVERITY_HIGH_KHR                              0x9146
  235. #define GL_DEBUG_SEVERITY_MEDIUM_KHR                            0x9147
  236. #define GL_DEBUG_SEVERITY_LOW_KHR                               0x9148
  237. #define GL_DEBUG_OUTPUT_KHR                                     0x92E0
  238. #define GL_CONTEXT_FLAG_DEBUG_BIT_KHR                           0x00000002
  239. #define GL_STACK_OVERFLOW_KHR                                   0x0503
  240. #define GL_STACK_UNDERFLOW_KHR                                  0x0504
  241. #endif
  242.  
  243. #ifndef GL_KHR_texture_compression_astc_ldr
  244. #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0
  245. #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1
  246. #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2
  247. #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3
  248. #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4
  249. #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5
  250. #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6
  251. #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7
  252. #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8
  253. #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9
  254. #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA
  255. #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB
  256. #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC
  257. #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD
  258. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0
  259. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1
  260. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2
  261. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3
  262. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4
  263. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5
  264. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6
  265. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7
  266. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8
  267. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9
  268. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA
  269. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB
  270. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC
  271. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD
  272. #endif
  273.  
  274. /*------------------------------------------------------------------------*
  275.  * AMD extension tokens
  276.  *------------------------------------------------------------------------*/
  277.  
  278. /* GL_AMD_compressed_3DC_texture */
  279. #ifndef GL_AMD_compressed_3DC_texture
  280. #define GL_3DC_X_AMD                                            0x87F9
  281. #define GL_3DC_XY_AMD                                           0x87FA
  282. #endif
  283.  
  284. /* GL_AMD_compressed_ATC_texture */
  285. #ifndef GL_AMD_compressed_ATC_texture
  286. #define GL_ATC_RGB_AMD                                          0x8C92
  287. #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
  288. #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
  289. #endif
  290.  
  291. /* GL_AMD_performance_monitor */
  292. #ifndef GL_AMD_performance_monitor
  293. #define GL_COUNTER_TYPE_AMD                                     0x8BC0
  294. #define GL_COUNTER_RANGE_AMD                                    0x8BC1
  295. #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
  296. #define GL_PERCENTAGE_AMD                                       0x8BC3
  297. #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
  298. #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
  299. #define GL_PERFMON_RESULT_AMD                                   0x8BC6
  300. #endif
  301.  
  302. /* GL_AMD_program_binary_Z400 */
  303. #ifndef GL_AMD_program_binary_Z400
  304. #define GL_Z400_BINARY_AMD                                      0x8740
  305. #endif
  306.  
  307. /*------------------------------------------------------------------------*
  308.  * ANGLE extension tokens
  309.  *------------------------------------------------------------------------*/
  310.  
  311. /* GL_ANGLE_depth_texture */
  312. #ifndef GL_ANGLE_depth_texture
  313. #define GL_DEPTH_COMPONENT                                      0x1902
  314. #define GL_DEPTH_STENCIL_OES                                    0x84F9
  315. #define GL_UNSIGNED_SHORT                                       0x1403
  316. #define GL_UNSIGNED_INT                                         0x1405
  317. #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
  318. #define GL_DEPTH_COMPONENT16                                    0x81A5
  319. #define GL_DEPTH_COMPONENT32_OES                                0x81A7
  320. #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
  321. #endif
  322.  
  323. /* GL_ANGLE_framebuffer_blit */
  324. #ifndef GL_ANGLE_framebuffer_blit
  325. #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
  326. #define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
  327. #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
  328. #define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
  329. #endif
  330.  
  331. /* GL_ANGLE_framebuffer_multisample */
  332. #ifndef GL_ANGLE_framebuffer_multisample
  333. #define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
  334. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
  335. #define GL_MAX_SAMPLES_ANGLE                                    0x8D57
  336. #endif
  337.  
  338. /* GL_ANGLE_instanced_arrays */
  339. #ifndef GL_ANGLE_instanced_arrays
  340. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
  341. #endif
  342.  
  343. /* GL_ANGLE_pack_reverse_row_order */
  344. #ifndef GL_ANGLE_pack_reverse_row_order
  345. #define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
  346. #endif
  347.  
  348. /* GL_ANGLE_program_binary */
  349. #ifndef GL_ANGLE_program_binary
  350. #define GL_PROGRAM_BINARY_ANGLE                                 0x93A6
  351. #endif
  352.  
  353. /* GL_ANGLE_texture_compression_dxt3 */
  354. #ifndef GL_ANGLE_texture_compression_dxt3
  355. #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
  356. #endif
  357.  
  358. /* GL_ANGLE_texture_compression_dxt5 */
  359. #ifndef GL_ANGLE_texture_compression_dxt5
  360. #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
  361. #endif
  362.  
  363. /* GL_ANGLE_texture_usage */
  364. #ifndef GL_ANGLE_texture_usage
  365. #define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
  366. #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
  367. #endif
  368.  
  369. /* GL_ANGLE_translated_shader_source */
  370. #ifndef GL_ANGLE_translated_shader_source
  371. #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
  372. #endif
  373.  
  374. /*------------------------------------------------------------------------*
  375.  * APPLE extension tokens
  376.  *------------------------------------------------------------------------*/
  377.  
  378. /* GL_APPLE_copy_texture_levels */
  379. /* No new tokens introduced by this extension. */
  380.  
  381. /* GL_APPLE_framebuffer_multisample */
  382. #ifndef GL_APPLE_framebuffer_multisample
  383. #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
  384. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
  385. #define GL_MAX_SAMPLES_APPLE                                    0x8D57
  386. #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
  387. #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
  388. #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
  389. #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
  390. #endif
  391.  
  392. /* GL_APPLE_rgb_422 */
  393. #ifndef GL_APPLE_rgb_422
  394. #define GL_RGB_422_APPLE                                        0x8A1F
  395. #define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
  396. #define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
  397. #endif
  398.  
  399. /* GL_APPLE_sync */
  400. #ifndef GL_APPLE_sync
  401.  
  402. #define GL_SYNC_OBJECT_APPLE                                    0x8A53
  403. #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
  404. #define GL_OBJECT_TYPE_APPLE                                    0x9112
  405. #define GL_SYNC_CONDITION_APPLE                                 0x9113
  406. #define GL_SYNC_STATUS_APPLE                                    0x9114
  407. #define GL_SYNC_FLAGS_APPLE                                     0x9115
  408. #define GL_SYNC_FENCE_APPLE                                     0x9116
  409. #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
  410. #define GL_UNSIGNALED_APPLE                                     0x9118
  411. #define GL_SIGNALED_APPLE                                       0x9119
  412. #define GL_ALREADY_SIGNALED_APPLE                               0x911A
  413. #define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
  414. #define GL_CONDITION_SATISFIED_APPLE                            0x911C
  415. #define GL_WAIT_FAILED_APPLE                                    0x911D
  416. #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
  417. #define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
  418. #endif
  419.  
  420. /* GL_APPLE_texture_format_BGRA8888 */
  421. #ifndef GL_APPLE_texture_format_BGRA8888
  422. #define GL_BGRA_EXT                                             0x80E1
  423. #endif
  424.  
  425. /* GL_APPLE_texture_max_level */
  426. #ifndef GL_APPLE_texture_max_level
  427. #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
  428. #endif
  429.  
  430. /*------------------------------------------------------------------------*
  431.  * ARM extension tokens
  432.  *------------------------------------------------------------------------*/
  433.  
  434. /* GL_ARM_mali_program_binary */
  435. #ifndef GL_ARM_mali_program_binary
  436. #define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
  437. #endif
  438.  
  439. /* GL_ARM_mali_shader_binary */
  440. #ifndef GL_ARM_mali_shader_binary
  441. #define GL_MALI_SHADER_BINARY_ARM                               0x8F60
  442. #endif
  443.  
  444. /* GL_ARM_rgba8 */
  445. /* No new tokens introduced by this extension. */
  446.  
  447. /*------------------------------------------------------------------------*
  448.  * EXT extension tokens
  449.  *------------------------------------------------------------------------*/
  450.  
  451. /* GL_EXT_blend_minmax */
  452. #ifndef GL_EXT_blend_minmax
  453. #define GL_MIN_EXT                                              0x8007
  454. #define GL_MAX_EXT                                              0x8008
  455. #endif
  456.  
  457. /* GL_EXT_color_buffer_half_float */
  458. #ifndef GL_EXT_color_buffer_half_float
  459. #define GL_RGBA16F_EXT                                          0x881A
  460. #define GL_RGB16F_EXT                                           0x881B
  461. #define GL_RG16F_EXT                                            0x822F
  462. #define GL_R16F_EXT                                             0x822D
  463. #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
  464. #define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
  465. #endif
  466.  
  467. /* GL_EXT_debug_label */
  468. #ifndef GL_EXT_debug_label
  469. #define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
  470. #define GL_PROGRAM_OBJECT_EXT                                   0x8B40
  471. #define GL_SHADER_OBJECT_EXT                                    0x8B48
  472. #define GL_BUFFER_OBJECT_EXT                                    0x9151
  473. #define GL_QUERY_OBJECT_EXT                                     0x9153
  474. #define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
  475. #endif
  476.  
  477. /* GL_EXT_debug_marker */
  478. /* No new tokens introduced by this extension. */
  479.  
  480. /* GL_EXT_discard_framebuffer */
  481. #ifndef GL_EXT_discard_framebuffer
  482. #define GL_COLOR_EXT                                            0x1800
  483. #define GL_DEPTH_EXT                                            0x1801
  484. #define GL_STENCIL_EXT                                          0x1802
  485. #endif
  486.  
  487. #ifndef GL_EXT_disjoint_timer_query
  488. #define GL_QUERY_COUNTER_BITS_EXT                               0x8864
  489. #define GL_CURRENT_QUERY_EXT                                    0x8865
  490. #define GL_QUERY_RESULT_EXT                                     0x8866
  491. #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
  492. #define GL_TIME_ELAPSED_EXT                                     0x88BF
  493. #define GL_TIMESTAMP_EXT                                        0x8E28
  494. #define GL_GPU_DISJOINT_EXT                                     0x8FBB
  495. #endif
  496.  
  497. #ifndef GL_EXT_draw_buffers
  498. #define GL_EXT_draw_buffers 1
  499. #define GL_MAX_COLOR_ATTACHMENTS_EXT                            0x8CDF
  500. #define GL_MAX_DRAW_BUFFERS_EXT                                 0x8824
  501. #define GL_DRAW_BUFFER0_EXT                                     0x8825
  502. #define GL_DRAW_BUFFER1_EXT                                     0x8826
  503. #define GL_DRAW_BUFFER2_EXT                                     0x8827
  504. #define GL_DRAW_BUFFER3_EXT                                     0x8828
  505. #define GL_DRAW_BUFFER4_EXT                                     0x8829
  506. #define GL_DRAW_BUFFER5_EXT                                     0x882A
  507. #define GL_DRAW_BUFFER6_EXT                                     0x882B
  508. #define GL_DRAW_BUFFER7_EXT                                     0x882C
  509. #define GL_DRAW_BUFFER8_EXT                                     0x882D
  510. #define GL_DRAW_BUFFER9_EXT                                     0x882E
  511. #define GL_DRAW_BUFFER10_EXT                                    0x882F
  512. #define GL_DRAW_BUFFER11_EXT                                    0x8830
  513. #define GL_DRAW_BUFFER12_EXT                                    0x8831
  514. #define GL_DRAW_BUFFER13_EXT                                    0x8832
  515. #define GL_DRAW_BUFFER14_EXT                                    0x8833
  516. #define GL_DRAW_BUFFER15_EXT                                    0x8834
  517. #define GL_COLOR_ATTACHMENT0_EXT                                0x8CE0
  518. #define GL_COLOR_ATTACHMENT1_EXT                                0x8CE1
  519. #define GL_COLOR_ATTACHMENT2_EXT                                0x8CE2
  520. #define GL_COLOR_ATTACHMENT3_EXT                                0x8CE3
  521. #define GL_COLOR_ATTACHMENT4_EXT                                0x8CE4
  522. #define GL_COLOR_ATTACHMENT5_EXT                                0x8CE5
  523. #define GL_COLOR_ATTACHMENT6_EXT                                0x8CE6
  524. #define GL_COLOR_ATTACHMENT7_EXT                                0x8CE7
  525. #define GL_COLOR_ATTACHMENT8_EXT                                0x8CE8
  526. #define GL_COLOR_ATTACHMENT9_EXT                                0x8CE9
  527. #define GL_COLOR_ATTACHMENT10_EXT                               0x8CEA
  528. #define GL_COLOR_ATTACHMENT11_EXT                               0x8CEB
  529. #define GL_COLOR_ATTACHMENT12_EXT                               0x8CEC
  530. #define GL_COLOR_ATTACHMENT13_EXT                               0x8CED
  531. #define GL_COLOR_ATTACHMENT14_EXT                               0x8CEE
  532. #define GL_COLOR_ATTACHMENT15_EXT                               0x8CEF
  533. #endif
  534.  
  535. /* GL_EXT_map_buffer_range */
  536. #ifndef GL_EXT_map_buffer_range
  537. #define GL_MAP_READ_BIT_EXT                                     0x0001
  538. #define GL_MAP_WRITE_BIT_EXT                                    0x0002
  539. #define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
  540. #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
  541. #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
  542. #define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
  543. #endif
  544.  
  545. /* GL_EXT_multisampled_render_to_texture */
  546. #ifndef GL_EXT_multisampled_render_to_texture
  547. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
  548. /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
  549. #define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
  550. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
  551. #define GL_MAX_SAMPLES_EXT                                      0x8D57
  552. #endif
  553.  
  554. /* GL_EXT_multiview_draw_buffers */
  555. #ifndef GL_EXT_multiview_draw_buffers
  556. #define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
  557. #define GL_MULTIVIEW_EXT                                        0x90F1
  558. #define GL_DRAW_BUFFER_EXT                                      0x0C01
  559. #define GL_READ_BUFFER_EXT                                      0x0C02
  560. #define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
  561. #endif
  562.  
  563. /* GL_EXT_multi_draw_arrays */
  564. /* No new tokens introduced by this extension. */
  565.  
  566. /* GL_EXT_occlusion_query_boolean */
  567. #ifndef GL_EXT_occlusion_query_boolean
  568. #define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
  569. #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
  570. #define GL_CURRENT_QUERY_EXT                                    0x8865
  571. #define GL_QUERY_RESULT_EXT                                     0x8866
  572. #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
  573. #endif
  574.  
  575. /* GL_EXT_read_format_bgra */
  576. #ifndef GL_EXT_read_format_bgra
  577. #define GL_BGRA_EXT                                             0x80E1
  578. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
  579. #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
  580. #endif
  581.  
  582. /* GL_EXT_robustness */
  583. #ifndef GL_EXT_robustness
  584. /* reuse GL_NO_ERROR */
  585. #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
  586. #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
  587. #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
  588. #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
  589. #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
  590. #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
  591. #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
  592. #endif
  593.  
  594. /* GL_EXT_separate_shader_objects */
  595. #ifndef GL_EXT_separate_shader_objects
  596. #define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
  597. #define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
  598. #define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
  599. #define GL_PROGRAM_SEPARABLE_EXT                                0x8258
  600. #define GL_ACTIVE_PROGRAM_EXT                                   0x8259
  601. #define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
  602. #endif
  603.  
  604. /* GL_EXT_shader_framebuffer_fetch */
  605. #ifndef GL_EXT_shader_framebuffer_fetch
  606. #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
  607. #endif
  608.  
  609. /* GL_EXT_shader_texture_lod */
  610. /* No new tokens introduced by this extension. */
  611.  
  612. /* GL_EXT_shadow_samplers */
  613. #ifndef GL_EXT_shadow_samplers
  614. #define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
  615. #define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
  616. #define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
  617. #define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
  618. #endif
  619.  
  620. /* GL_EXT_sRGB */
  621. #ifndef GL_EXT_sRGB
  622. #define GL_SRGB_EXT                                             0x8C40
  623. #define GL_SRGB_ALPHA_EXT                                       0x8C42
  624. #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
  625. #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
  626. #endif
  627.  
  628. /* GL_EXT_sRGB_write_control */
  629. #ifndef GL_EXT_sRGB_write_control
  630. #define GL_EXT_sRGB_write_control 1
  631. #define GL_FRAMEBUFFER_SRGB_EXT                                 0x8DB9
  632. #endif
  633.  
  634. /* GL_EXT_texture_compression_dxt1 */
  635. #ifndef GL_EXT_texture_compression_dxt1
  636. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
  637. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
  638. #endif
  639.  
  640. /* GL_EXT_texture_filter_anisotropic */
  641. #ifndef GL_EXT_texture_filter_anisotropic
  642. #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
  643. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
  644. #endif
  645.  
  646. /* GL_EXT_texture_format_BGRA8888 */
  647. #ifndef GL_EXT_texture_format_BGRA8888
  648. #define GL_BGRA_EXT                                             0x80E1
  649. #endif
  650.  
  651. /* GL_EXT_texture_rg */
  652. #ifndef GL_EXT_texture_rg
  653. #define GL_RED_EXT                                              0x1903
  654. #define GL_RG_EXT                                               0x8227
  655. #define GL_R8_EXT                                               0x8229
  656. #define GL_RG8_EXT                                              0x822B
  657. #endif
  658.  
  659. /* GL_EXT_texture_sRGB_decode */
  660. #ifndef GL_EXT_texture_sRGB_decode
  661. #define GL_EXT_texture_sRGB_decode 1
  662. #define GL_TEXTURE_SRGB_DECODE_EXT                              0x8A48
  663. #define GL_DECODE_EXT                                           0x8A49
  664. #define GL_SKIP_DECODE_EXT                                      0x8A4A
  665. #endif
  666.  
  667. /* GL_EXT_texture_storage */
  668. #ifndef GL_EXT_texture_storage
  669. #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
  670. #define GL_ALPHA8_EXT                                           0x803C
  671. #define GL_LUMINANCE8_EXT                                       0x8040
  672. #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
  673. #define GL_RGBA32F_EXT                                          0x8814
  674. #define GL_RGB32F_EXT                                           0x8815
  675. #define GL_ALPHA32F_EXT                                         0x8816
  676. #define GL_LUMINANCE32F_EXT                                     0x8818
  677. #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
  678. /* reuse GL_RGBA16F_EXT */
  679. /* reuse GL_RGB16F_EXT */
  680. #define GL_ALPHA16F_EXT                                         0x881C
  681. #define GL_LUMINANCE16F_EXT                                     0x881E
  682. #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
  683. #define GL_RGB10_A2_EXT                                         0x8059
  684. #define GL_RGB10_EXT                                            0x8052
  685. #define GL_BGRA8_EXT                                            0x93A1
  686. #define GL_R8_EXT                                               0x8229
  687. #define GL_RG8_EXT                                              0x822B
  688. #define GL_R32F_EXT                                             0x822E
  689. #define GL_RG32F_EXT                                            0x8230
  690. #define GL_R16F_EXT                                             0x822D
  691. #define GL_RG16F_EXT                                            0x822F
  692. #endif
  693.  
  694. /* GL_EXT_texture_type_2_10_10_10_REV */
  695. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  696. #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
  697. #endif
  698.  
  699. /* GL_EXT_unpack_subimage */
  700. #ifndef GL_EXT_unpack_subimage
  701. #define GL_UNPACK_ROW_LENGTH_EXT                                0x0CF2
  702. #define GL_UNPACK_SKIP_ROWS_EXT                                 0x0CF3
  703. #define GL_UNPACK_SKIP_PIXELS_EXT                               0x0CF4
  704. #endif
  705.  
  706. /*------------------------------------------------------------------------*
  707.  * DMP extension tokens
  708.  *------------------------------------------------------------------------*/
  709.  
  710. /* GL_DMP_shader_binary */
  711. #ifndef GL_DMP_shader_binary
  712. #define GL_SHADER_BINARY_DMP                                    0x9250
  713. #endif
  714.  
  715. /*------------------------------------------------------------------------*
  716.  * FJ extension tokens
  717.  *------------------------------------------------------------------------*/
  718.  
  719. /* GL_FJ_shader_binary_GCCSO */
  720. #ifndef GL_FJ_shader_binary_GCCSO
  721. #define GL_GCCSO_SHADER_BINARY_FJ                               0x9260
  722. #endif
  723.  
  724. /*------------------------------------------------------------------------*
  725.  * IMG extension tokens
  726.  *------------------------------------------------------------------------*/
  727.  
  728. /* GL_IMG_program_binary */
  729. #ifndef GL_IMG_program_binary
  730. #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
  731. #endif
  732.  
  733. /* GL_IMG_read_format */
  734. #ifndef GL_IMG_read_format
  735. #define GL_BGRA_IMG                                             0x80E1
  736. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
  737. #endif
  738.  
  739. /* GL_IMG_shader_binary */
  740. #ifndef GL_IMG_shader_binary
  741. #define GL_SGX_BINARY_IMG                                       0x8C0A
  742. #endif
  743.  
  744. /* GL_IMG_texture_compression_pvrtc */
  745. #ifndef GL_IMG_texture_compression_pvrtc
  746. #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
  747. #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
  748. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
  749. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
  750. #endif
  751.  
  752. /* GL_IMG_texture_compression_pvrtc2 */
  753. #ifndef GL_IMG_texture_compression_pvrtc2
  754. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                     0x9137
  755. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                     0x9138
  756. #endif
  757.  
  758. /* GL_IMG_multisampled_render_to_texture */
  759. #ifndef GL_IMG_multisampled_render_to_texture
  760. #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
  761. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
  762. #define GL_MAX_SAMPLES_IMG                                      0x9135
  763. #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
  764. #endif
  765.  
  766. /*------------------------------------------------------------------------*
  767.  * NV extension tokens
  768.  *------------------------------------------------------------------------*/
  769.  
  770. /* GL_NV_coverage_sample */
  771. #ifndef GL_NV_coverage_sample
  772. #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
  773. #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
  774. #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
  775. #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
  776. #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
  777. #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
  778. #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
  779. #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
  780. #define GL_COVERAGE_BUFFER_BIT_NV                               0x00008000
  781. #endif
  782.  
  783. /* GL_NV_depth_nonlinear */
  784. #ifndef GL_NV_depth_nonlinear
  785. #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
  786. #endif
  787.  
  788. /* GL_NV_draw_buffers */
  789. #ifndef GL_NV_draw_buffers
  790. #define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
  791. #define GL_DRAW_BUFFER0_NV                                      0x8825
  792. #define GL_DRAW_BUFFER1_NV                                      0x8826
  793. #define GL_DRAW_BUFFER2_NV                                      0x8827
  794. #define GL_DRAW_BUFFER3_NV                                      0x8828
  795. #define GL_DRAW_BUFFER4_NV                                      0x8829
  796. #define GL_DRAW_BUFFER5_NV                                      0x882A
  797. #define GL_DRAW_BUFFER6_NV                                      0x882B
  798. #define GL_DRAW_BUFFER7_NV                                      0x882C
  799. #define GL_DRAW_BUFFER8_NV                                      0x882D
  800. #define GL_DRAW_BUFFER9_NV                                      0x882E
  801. #define GL_DRAW_BUFFER10_NV                                     0x882F
  802. #define GL_DRAW_BUFFER11_NV                                     0x8830
  803. #define GL_DRAW_BUFFER12_NV                                     0x8831
  804. #define GL_DRAW_BUFFER13_NV                                     0x8832
  805. #define GL_DRAW_BUFFER14_NV                                     0x8833
  806. #define GL_DRAW_BUFFER15_NV                                     0x8834
  807. #define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
  808. #define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
  809. #define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
  810. #define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
  811. #define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
  812. #define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
  813. #define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
  814. #define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
  815. #define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
  816. #define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
  817. #define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
  818. #define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
  819. #define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
  820. #define GL_COLOR_ATTACHMENT13_NV                                0x8CED
  821. #define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
  822. #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
  823. #endif
  824.  
  825. /* GL_NV_draw_instanced */
  826. /* No new tokens introduced by this extension. */
  827.  
  828. /* GL_NV_fbo_color_attachments */
  829. #ifndef GL_NV_fbo_color_attachments
  830. #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
  831. /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
  832. #endif
  833.  
  834. /* GL_NV_fence */
  835. #ifndef GL_NV_fence
  836. #define GL_ALL_COMPLETED_NV                                     0x84F2
  837. #define GL_FENCE_STATUS_NV                                      0x84F3
  838. #define GL_FENCE_CONDITION_NV                                   0x84F4
  839. #endif
  840.  
  841. /* GL_NV_framebuffer_blit */
  842. #ifndef GL_NV_framebuffer_blit
  843. #define GL_READ_FRAMEBUFFER_NV                                  0x8CA8
  844. #define GL_DRAW_FRAMEBUFFER_NV                                  0x8CA9
  845. #define GL_DRAW_FRAMEBUFFER_BINDING_NV                          0x8CA6
  846. #define GL_READ_FRAMEBUFFER_BINDING_NV                          0x8CAA
  847. #endif
  848.  
  849. /* GL_NV_framebuffer_multisample */
  850. #ifndef GL_NV_framebuffer_multisample
  851. #define GL_RENDERBUFFER_SAMPLES_NV                              0x8CAB
  852. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                0x8D56
  853. #define GL_MAX_SAMPLES_NV                                       0x8D57
  854. #endif
  855.  
  856. /* GL_NV_generate_mipmap_sRGB */
  857. /* No new tokens introduced by this extension. */
  858.  
  859. /* GL_NV_instanced_arrays */
  860. #ifndef GL_NV_instanced_arrays
  861. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                       0x88FE
  862. #endif
  863.  
  864. /* GL_NV_read_buffer */
  865. #ifndef GL_NV_read_buffer
  866. #define GL_READ_BUFFER_NV                                       0x0C02
  867. #endif
  868.  
  869. /* GL_NV_read_buffer_front */
  870. /* No new tokens introduced by this extension. */
  871.  
  872. /* GL_NV_read_depth */
  873. /* No new tokens introduced by this extension. */
  874.  
  875. /* GL_NV_read_depth_stencil */
  876. /* No new tokens introduced by this extension. */
  877.  
  878. /* GL_NV_read_stencil */
  879. /* No new tokens introduced by this extension. */
  880.  
  881. /* GL_NV_shadow_samplers_array */
  882. #ifndef GL_NV_shadow_samplers_array
  883. #define GL_SAMPLER_2D_ARRAY_SHADOW_NV                           0x8DC4
  884. #endif
  885.  
  886. /* GL_NV_shadow_samplers_cube */
  887. #ifndef GL_NV_shadow_samplers_cube
  888. #define GL_SAMPLER_CUBE_SHADOW_NV                               0x8DC5
  889. #endif
  890.  
  891. /* GL_NV_sRGB_formats */
  892. #ifndef GL_NV_sRGB_formats
  893. #define GL_SLUMINANCE_NV                                        0x8C46
  894. #define GL_SLUMINANCE_ALPHA_NV                                  0x8C44
  895. #define GL_SRGB8_NV                                             0x8C41
  896. #define GL_SLUMINANCE8_NV                                       0x8C47
  897. #define GL_SLUMINANCE8_ALPHA8_NV                                0x8C45
  898. #define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                         0x8C4C
  899. #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                   0x8C4D
  900. #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                   0x8C4E
  901. #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                   0x8C4F
  902. #define GL_ETC1_SRGB8_NV                                        0x88EE
  903. #endif
  904.  
  905. /* GL_NV_texture_border_clamp */
  906. #ifndef GL_NV_texture_border_clamp
  907. #define GL_TEXTURE_BORDER_COLOR_NV                              0x1004
  908. #define GL_CLAMP_TO_BORDER_NV                                   0x812D
  909. #endif
  910.  
  911. /* GL_NV_texture_compression_s3tc_update */
  912. /* No new tokens introduced by this extension. */
  913.  
  914. /* GL_NV_texture_npot_2D_mipmap */
  915. /* No new tokens introduced by this extension. */
  916.  
  917. /*------------------------------------------------------------------------*
  918.  * QCOM extension tokens
  919.  *------------------------------------------------------------------------*/
  920.  
  921. /* GL_QCOM_alpha_test */
  922. #ifndef GL_QCOM_alpha_test
  923. #define GL_ALPHA_TEST_QCOM                                      0x0BC0
  924. #define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
  925. #define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
  926. #endif
  927.  
  928. /* GL_QCOM_binning_control */
  929. #ifndef GL_QCOM_binning_control
  930. #define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
  931. #define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
  932. #define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
  933. #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
  934. #endif
  935.  
  936. /* GL_QCOM_driver_control */
  937. /* No new tokens introduced by this extension. */
  938.  
  939. /* GL_QCOM_extended_get */
  940. #ifndef GL_QCOM_extended_get
  941. #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
  942. #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
  943. #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
  944. #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
  945. #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
  946. #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
  947. #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
  948. #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
  949. #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
  950. #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
  951. #define GL_STATE_RESTORE                                        0x8BDC
  952. #endif
  953.  
  954. /* GL_QCOM_extended_get2 */
  955. /* No new tokens introduced by this extension. */
  956.  
  957. /* GL_QCOM_perfmon_global_mode */
  958. #ifndef GL_QCOM_perfmon_global_mode
  959. #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
  960. #endif
  961.  
  962. /* GL_QCOM_writeonly_rendering */
  963. #ifndef GL_QCOM_writeonly_rendering
  964. #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
  965. #endif
  966.  
  967. /* GL_QCOM_tiled_rendering */
  968. #ifndef GL_QCOM_tiled_rendering
  969. #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
  970. #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
  971. #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
  972. #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
  973. #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
  974. #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
  975. #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
  976. #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
  977. #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
  978. #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
  979. #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
  980. #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
  981. #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
  982. #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
  983. #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
  984. #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
  985. #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
  986. #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
  987. #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
  988. #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
  989. #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
  990. #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
  991. #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
  992. #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
  993. #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
  994. #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
  995. #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
  996. #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
  997. #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
  998. #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
  999. #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
  1000. #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
  1001. #endif
  1002.  
  1003. /*------------------------------------------------------------------------*
  1004.  * VIV extension tokens
  1005.  *------------------------------------------------------------------------*/
  1006.  
  1007. /* GL_VIV_shader_binary */
  1008. #ifndef GL_VIV_shader_binary
  1009. #define GL_SHADER_BINARY_VIV                                    0x8FC4
  1010. #endif
  1011.  
  1012. /*------------------------------------------------------------------------*
  1013.  * End of extension tokens, start of corresponding extension functions
  1014.  *------------------------------------------------------------------------*/
  1015.  
  1016. /*------------------------------------------------------------------------*
  1017.  * OES extension functions
  1018.  *------------------------------------------------------------------------*/
  1019.  
  1020. /* GL_OES_compressed_ETC1_RGB8_texture */
  1021. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  1022. #define GL_OES_compressed_ETC1_RGB8_texture 1
  1023. #endif
  1024.  
  1025. /* GL_OES_compressed_paletted_texture */
  1026. #ifndef GL_OES_compressed_paletted_texture
  1027. #define GL_OES_compressed_paletted_texture 1
  1028. #endif
  1029.  
  1030. /* GL_OES_depth24 */
  1031. #ifndef GL_OES_depth24
  1032. #define GL_OES_depth24 1
  1033. #endif
  1034.  
  1035. /* GL_OES_depth32 */
  1036. #ifndef GL_OES_depth32
  1037. #define GL_OES_depth32 1
  1038. #endif
  1039.  
  1040. /* GL_OES_depth_texture */
  1041. #ifndef GL_OES_depth_texture
  1042. #define GL_OES_depth_texture 1
  1043. #endif
  1044.  
  1045. /* GL_OES_EGL_image */
  1046. #ifndef GL_OES_EGL_image
  1047. #define GL_OES_EGL_image 1
  1048. #ifdef GL_GLEXT_PROTOTYPES
  1049. GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  1050. GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  1051. #endif
  1052. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  1053. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  1054. #endif
  1055.  
  1056. /* GL_OES_EGL_image_external */
  1057. #ifndef GL_OES_EGL_image_external
  1058. #define GL_OES_EGL_image_external 1
  1059. /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  1060. #endif
  1061.  
  1062. /* GL_OES_element_index_uint */
  1063. #ifndef GL_OES_element_index_uint
  1064. #define GL_OES_element_index_uint 1
  1065. #endif
  1066.  
  1067. /* GL_OES_fbo_render_mipmap */
  1068. #ifndef GL_OES_fbo_render_mipmap
  1069. #define GL_OES_fbo_render_mipmap 1
  1070. #endif
  1071.  
  1072. /* GL_OES_fragment_precision_high */
  1073. #ifndef GL_OES_fragment_precision_high
  1074. #define GL_OES_fragment_precision_high 1
  1075. #endif
  1076.  
  1077. /* GL_OES_get_program_binary */
  1078. #ifndef GL_OES_get_program_binary
  1079. #define GL_OES_get_program_binary 1
  1080. #ifdef GL_GLEXT_PROTOTYPES
  1081. GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1082. GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1083. #endif
  1084. typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1085. typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1086. #endif
  1087.  
  1088. /* GL_OES_mapbuffer */
  1089. #ifndef GL_OES_mapbuffer
  1090. #define GL_OES_mapbuffer 1
  1091. #ifdef GL_GLEXT_PROTOTYPES
  1092. GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  1093. GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  1094. GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid **params);
  1095. #endif
  1096. typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  1097. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  1098. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid **params);
  1099. #endif
  1100.  
  1101. /* GL_OES_packed_depth_stencil */
  1102. #ifndef GL_OES_packed_depth_stencil
  1103. #define GL_OES_packed_depth_stencil 1
  1104. #endif
  1105.  
  1106. /* GL_OES_required_internalformat */
  1107. #ifndef GL_OES_required_internalformat
  1108. #define GL_OES_required_internalformat 1
  1109. #endif
  1110.  
  1111. /* GL_OES_rgb8_rgba8 */
  1112. #ifndef GL_OES_rgb8_rgba8
  1113. #define GL_OES_rgb8_rgba8 1
  1114. #endif
  1115.  
  1116. /* GL_OES_standard_derivatives */
  1117. #ifndef GL_OES_standard_derivatives
  1118. #define GL_OES_standard_derivatives 1
  1119. #endif
  1120.  
  1121. /* GL_OES_stencil1 */
  1122. #ifndef GL_OES_stencil1
  1123. #define GL_OES_stencil1 1
  1124. #endif
  1125.  
  1126. /* GL_OES_stencil4 */
  1127. #ifndef GL_OES_stencil4
  1128. #define GL_OES_stencil4 1
  1129. #endif
  1130.  
  1131. #ifndef GL_OES_surfaceless_context
  1132. #define GL_OES_surfaceless_context 1
  1133. #endif
  1134.  
  1135. /* GL_OES_texture_3D */
  1136. #ifndef GL_OES_texture_3D
  1137. #define GL_OES_texture_3D 1
  1138. #ifdef GL_GLEXT_PROTOTYPES
  1139. GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  1140. GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
  1141. GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1142. GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  1143. GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
  1144. GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1145. #endif
  1146. typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  1147. typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
  1148. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1149. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  1150. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
  1151. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1152. #endif
  1153.  
  1154. /* GL_OES_texture_float */
  1155. #ifndef GL_OES_texture_float
  1156. #define GL_OES_texture_float 1
  1157. #endif
  1158.  
  1159. /* GL_OES_texture_float_linear */
  1160. #ifndef GL_OES_texture_float_linear
  1161. #define GL_OES_texture_float_linear 1
  1162. #endif
  1163.  
  1164. /* GL_OES_texture_half_float */
  1165. #ifndef GL_OES_texture_half_float
  1166. #define GL_OES_texture_half_float 1
  1167. #endif
  1168.  
  1169. /* GL_OES_texture_half_float_linear */
  1170. #ifndef GL_OES_texture_half_float_linear
  1171. #define GL_OES_texture_half_float_linear 1
  1172. #endif
  1173.  
  1174. /* GL_OES_texture_npot */
  1175. #ifndef GL_OES_texture_npot
  1176. #define GL_OES_texture_npot 1
  1177. #endif
  1178.  
  1179. /* GL_OES_vertex_array_object */
  1180. #ifndef GL_OES_vertex_array_object
  1181. #define GL_OES_vertex_array_object 1
  1182. #ifdef GL_GLEXT_PROTOTYPES
  1183. GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  1184. GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  1185. GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  1186. GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  1187. #endif
  1188. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  1189. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  1190. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  1191. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  1192. #endif
  1193.  
  1194. /* GL_OES_vertex_half_float */
  1195. #ifndef GL_OES_vertex_half_float
  1196. #define GL_OES_vertex_half_float 1
  1197. #endif
  1198.  
  1199. /* GL_OES_vertex_type_10_10_10_2 */
  1200. #ifndef GL_OES_vertex_type_10_10_10_2
  1201. #define GL_OES_vertex_type_10_10_10_2 1
  1202. #endif
  1203.  
  1204. /*------------------------------------------------------------------------*
  1205.  * KHR extension functions
  1206.  *------------------------------------------------------------------------*/
  1207.  
  1208. #ifndef GL_KHR_debug
  1209. #define GL_KHR_debug 1
  1210. #ifdef GL_GLEXT_PROTOTYPES
  1211. GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1212. GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1213. GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
  1214. GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1215. GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1216. GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
  1217. GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1218. GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1219. GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
  1220. GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1221. GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, GLvoid **params);
  1222. #endif
  1223. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1224. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1225. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
  1226. typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1227. typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1228. typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
  1229. typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1230. typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1231. typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
  1232. typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1233. typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, GLvoid **params);
  1234. #endif
  1235.  
  1236. #ifndef GL_KHR_texture_compression_astc_ldr
  1237. #define GL_KHR_texture_compression_astc_ldr 1
  1238. #endif
  1239.  
  1240.  
  1241. /*------------------------------------------------------------------------*
  1242.  * AMD extension functions
  1243.  *------------------------------------------------------------------------*/
  1244.  
  1245. /* GL_AMD_compressed_3DC_texture */
  1246. #ifndef GL_AMD_compressed_3DC_texture
  1247. #define GL_AMD_compressed_3DC_texture 1
  1248. #endif
  1249.  
  1250. /* GL_AMD_compressed_ATC_texture */
  1251. #ifndef GL_AMD_compressed_ATC_texture
  1252. #define GL_AMD_compressed_ATC_texture 1
  1253. #endif
  1254.  
  1255. /* AMD_performance_monitor */
  1256. #ifndef GL_AMD_performance_monitor
  1257. #define GL_AMD_performance_monitor 1
  1258. #ifdef GL_GLEXT_PROTOTYPES
  1259. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1260. GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1261. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1262. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1263. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1264. GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1265. GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1266. GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1267. GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  1268. GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  1269. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1270. #endif
  1271. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1272. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1273. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1274. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1275. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1276. typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1277. typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1278. typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1279. typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  1280. typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  1281. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1282. #endif
  1283.  
  1284. /* GL_AMD_program_binary_Z400 */
  1285. #ifndef GL_AMD_program_binary_Z400
  1286. #define GL_AMD_program_binary_Z400 1
  1287. #endif
  1288.  
  1289. /*------------------------------------------------------------------------*
  1290.  * ANGLE extension functions
  1291.  *------------------------------------------------------------------------*/
  1292.  
  1293. /* GL_ANGLE_depth_texture */
  1294. #ifndef GL_ANGLE_depth_texture
  1295. #define GL_ANGLE_depth_texture 1
  1296. #endif
  1297.  
  1298. /* GL_ANGLE_framebuffer_blit */
  1299. #ifndef GL_ANGLE_framebuffer_blit
  1300. #define GL_ANGLE_framebuffer_blit 1
  1301. #ifdef GL_GLEXT_PROTOTYPES
  1302. GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1303. #endif
  1304. typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1305. #endif
  1306.  
  1307. /* GL_ANGLE_framebuffer_multisample */
  1308. #ifndef GL_ANGLE_framebuffer_multisample
  1309. #define GL_ANGLE_framebuffer_multisample 1
  1310. #ifdef GL_GLEXT_PROTOTYPES
  1311. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1312. #endif
  1313. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1314. #endif
  1315.  
  1316. #ifndef GL_ANGLE_instanced_arrays
  1317. #define GL_ANGLE_instanced_arrays 1
  1318. #ifdef GL_GLEXT_PROTOTYPES
  1319. GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1320. GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1321. GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  1322. #endif
  1323. typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1324. typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1325. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  1326. #endif
  1327.  
  1328. /* GL_ANGLE_pack_reverse_row_order */
  1329. #ifndef GL_ANGLE_pack_reverse_row_order
  1330. #define GL_ANGLE_pack_reverse_row_order 1
  1331. #endif
  1332.  
  1333. /* GL_ANGLE_program_binary */
  1334. #ifndef GL_ANGLE_program_binary
  1335. #define GL_ANGLE_program_binary 1
  1336. #endif
  1337.  
  1338. /* GL_ANGLE_texture_compression_dxt3 */
  1339. #ifndef GL_ANGLE_texture_compression_dxt3
  1340. #define GL_ANGLE_texture_compression_dxt3 1
  1341. #endif
  1342.  
  1343. /* GL_ANGLE_texture_compression_dxt5 */
  1344. #ifndef GL_ANGLE_texture_compression_dxt5
  1345. #define GL_ANGLE_texture_compression_dxt5 1
  1346. #endif
  1347.  
  1348. /* GL_ANGLE_texture_usage */
  1349. #ifndef GL_ANGLE_texture_usage
  1350. #define GL_ANGLE_texture_usage 1
  1351. #endif
  1352.  
  1353. #ifndef GL_ANGLE_translated_shader_source
  1354. #define GL_ANGLE_translated_shader_source 1
  1355. #ifdef GL_GLEXT_PROTOTYPES
  1356. GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1357. #endif
  1358. typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1359. #endif
  1360.  
  1361. /*------------------------------------------------------------------------*
  1362.  * APPLE extension functions
  1363.  *------------------------------------------------------------------------*/
  1364.  
  1365. /* GL_APPLE_copy_texture_levels */
  1366. #ifndef GL_APPLE_copy_texture_levels
  1367. #define GL_APPLE_copy_texture_levels 1
  1368. #ifdef GL_GLEXT_PROTOTYPES
  1369. GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1370. #endif
  1371. typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1372. #endif
  1373.  
  1374. /* GL_APPLE_framebuffer_multisample */
  1375. #ifndef GL_APPLE_framebuffer_multisample
  1376. #define GL_APPLE_framebuffer_multisample 1
  1377. #ifdef GL_GLEXT_PROTOTYPES
  1378. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1379. GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  1380. #endif /* GL_GLEXT_PROTOTYPES */
  1381. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1382. typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  1383. #endif
  1384.  
  1385. /* GL_APPLE_rgb_422 */
  1386. #ifndef GL_APPLE_rgb_422
  1387. #define GL_APPLE_rgb_422 1
  1388. #endif
  1389.  
  1390. /* GL_APPLE_sync */
  1391. #ifndef GL_APPLE_sync
  1392. #define GL_APPLE_sync 1
  1393. #ifdef GL_GLEXT_PROTOTYPES
  1394. GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  1395. GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  1396. GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  1397. GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1398. GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1399. GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  1400. GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1401. #endif
  1402. typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  1403. typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  1404. typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  1405. typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1406. typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1407. typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  1408. typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1409. #endif
  1410.  
  1411. /* GL_APPLE_texture_format_BGRA8888 */
  1412. #ifndef GL_APPLE_texture_format_BGRA8888
  1413. #define GL_APPLE_texture_format_BGRA8888 1
  1414. #endif
  1415.  
  1416. /* GL_APPLE_texture_max_level */
  1417. #ifndef GL_APPLE_texture_max_level
  1418. #define GL_APPLE_texture_max_level 1
  1419. #endif
  1420.  
  1421. /*------------------------------------------------------------------------*
  1422.  * ARM extension functions
  1423.  *------------------------------------------------------------------------*/
  1424.  
  1425. /* GL_ARM_mali_program_binary */
  1426. #ifndef GL_ARM_mali_program_binary
  1427. #define GL_ARM_mali_program_binary 1
  1428. #endif
  1429.  
  1430. /* GL_ARM_mali_shader_binary */
  1431. #ifndef GL_ARM_mali_shader_binary
  1432. #define GL_ARM_mali_shader_binary 1
  1433. #endif
  1434.  
  1435. /* GL_ARM_rgba8 */
  1436. #ifndef GL_ARM_rgba8
  1437. #define GL_ARM_rgba8 1
  1438. #endif
  1439.  
  1440. /*------------------------------------------------------------------------*
  1441.  * EXT extension functions
  1442.  *------------------------------------------------------------------------*/
  1443.  
  1444. /* GL_EXT_blend_minmax */
  1445. #ifndef GL_EXT_blend_minmax
  1446. #define GL_EXT_blend_minmax 1
  1447. #endif
  1448.  
  1449. /* GL_EXT_color_buffer_half_float */
  1450. #ifndef GL_EXT_color_buffer_half_float
  1451. #define GL_EXT_color_buffer_half_float 1
  1452. #endif
  1453.  
  1454. /* GL_EXT_debug_label */
  1455. #ifndef GL_EXT_debug_label
  1456. #define GL_EXT_debug_label 1
  1457. #ifdef GL_GLEXT_PROTOTYPES
  1458. GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1459. GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1460. #endif
  1461. typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1462. typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1463. #endif
  1464.  
  1465. /* GL_EXT_debug_marker */
  1466. #ifndef GL_EXT_debug_marker
  1467. #define GL_EXT_debug_marker 1
  1468. #ifdef GL_GLEXT_PROTOTYPES
  1469. GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  1470. GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  1471. GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  1472. #endif
  1473. typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1474. typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1475. typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  1476. #endif
  1477.  
  1478. /* GL_EXT_discard_framebuffer */
  1479. #ifndef GL_EXT_discard_framebuffer
  1480. #define GL_EXT_discard_framebuffer 1
  1481. #ifdef GL_GLEXT_PROTOTYPES
  1482. GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1483. #endif
  1484. typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1485. #endif
  1486.  
  1487. #ifndef GL_EXT_disjoint_timer_query
  1488. #define GL_EXT_disjoint_timer_query 1
  1489. #ifdef GL_GLEXT_PROTOTYPES
  1490. GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  1491. GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  1492. GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  1493. GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  1494. GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  1495. GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
  1496. GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  1497. GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
  1498. GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  1499. GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
  1500. GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
  1501. #endif
  1502. typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  1503. typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  1504. typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  1505. typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  1506. typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  1507. typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
  1508. typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  1509. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
  1510. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  1511. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
  1512. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
  1513. #endif /* GL_EXT_disjoint_timer_query */
  1514.  
  1515. #ifndef GL_EXT_draw_buffers
  1516. #define GL_EXT_draw_buffers 1
  1517. #ifdef GL_GLEXT_PROTOTYPES
  1518. GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
  1519. #endif
  1520. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
  1521. #endif /* GL_EXT_draw_buffers */
  1522.  
  1523. /* GL_EXT_map_buffer_range */
  1524. #ifndef GL_EXT_map_buffer_range
  1525. #define GL_EXT_map_buffer_range 1
  1526. #ifdef GL_GLEXT_PROTOTYPES
  1527. GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1528. GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  1529. #endif
  1530. typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1531. typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1532. #endif
  1533.  
  1534. /* GL_EXT_multisampled_render_to_texture */
  1535. #ifndef GL_EXT_multisampled_render_to_texture
  1536. #define GL_EXT_multisampled_render_to_texture 1
  1537. #ifdef GL_GLEXT_PROTOTYPES
  1538. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);            
  1539. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1540. #endif
  1541. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1542. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1543. #endif
  1544.  
  1545. /* GL_EXT_multiview_draw_buffers */
  1546. #ifndef GL_EXT_multiview_draw_buffers
  1547. #define GL_EXT_multiview_draw_buffers 1
  1548. #ifdef GL_GLEXT_PROTOTYPES
  1549. GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
  1550. GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
  1551. GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
  1552. #endif
  1553. typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
  1554. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
  1555. typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
  1556. #endif
  1557.  
  1558. #ifndef GL_EXT_multi_draw_arrays
  1559. #define GL_EXT_multi_draw_arrays 1
  1560. #ifdef GL_GLEXT_PROTOTYPES
  1561. GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  1562. GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
  1563. #endif /* GL_GLEXT_PROTOTYPES */
  1564. typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  1565. typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
  1566. #endif
  1567.  
  1568. /* GL_EXT_occlusion_query_boolean */
  1569. #ifndef GL_EXT_occlusion_query_boolean
  1570. #define GL_EXT_occlusion_query_boolean 1
  1571. /* All entry points also exist in GL_EXT_disjoint_timer_query */
  1572. #endif
  1573.  
  1574. /* GL_EXT_read_format_bgra */
  1575. #ifndef GL_EXT_read_format_bgra
  1576. #define GL_EXT_read_format_bgra 1
  1577. #endif
  1578.  
  1579. /* GL_EXT_robustness */
  1580. #ifndef GL_EXT_robustness
  1581. #define GL_EXT_robustness 1
  1582. #ifdef GL_GLEXT_PROTOTYPES
  1583. GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  1584. GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
  1585. GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  1586. GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1587. #endif
  1588. typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  1589. typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
  1590. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  1591. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1592. #endif
  1593.  
  1594. /* GL_EXT_separate_shader_objects */
  1595. #ifndef GL_EXT_separate_shader_objects
  1596. #define GL_EXT_separate_shader_objects 1
  1597. #ifdef GL_GLEXT_PROTOTYPES
  1598. GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  1599. GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  1600. GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  1601. GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  1602. GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  1603. GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  1604. GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  1605. GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  1606. GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  1607. GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  1608. GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  1609. GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1610. GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1611. GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  1612. GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  1613. GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1614. GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1615. GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1616. GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1617. GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1618. GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1619. GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1620. GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1621. GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1622. GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1623. GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1624. GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1625. GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1626. GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  1627. GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1628. #endif
  1629. typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  1630. typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  1631. typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  1632. typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1633. typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  1634. typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  1635. typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1636. typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  1637. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  1638. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  1639. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  1640. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1641. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1642. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  1643. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  1644. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1645. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1646. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1647. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1648. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1649. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1650. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1651. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1652. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1653. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1654. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1655. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1656. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1657. typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1658. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1659. #endif
  1660.  
  1661. /* GL_EXT_shader_framebuffer_fetch */
  1662. #ifndef GL_EXT_shader_framebuffer_fetch
  1663. #define GL_EXT_shader_framebuffer_fetch 1
  1664. #endif
  1665.  
  1666. /* GL_EXT_shader_texture_lod */
  1667. #ifndef GL_EXT_shader_texture_lod
  1668. #define GL_EXT_shader_texture_lod 1
  1669. #endif
  1670.  
  1671. /* GL_EXT_shadow_samplers */
  1672. #ifndef GL_EXT_shadow_samplers
  1673. #define GL_EXT_shadow_samplers 1
  1674. #endif
  1675.  
  1676. /* GL_EXT_sRGB */
  1677. #ifndef GL_EXT_sRGB
  1678. #define GL_EXT_sRGB 1
  1679. #endif
  1680.  
  1681. /* GL_EXT_texture_compression_dxt1 */
  1682. #ifndef GL_EXT_texture_compression_dxt1
  1683. #define GL_EXT_texture_compression_dxt1 1
  1684. #endif
  1685.  
  1686. /* GL_EXT_texture_filter_anisotropic */
  1687. #ifndef GL_EXT_texture_filter_anisotropic
  1688. #define GL_EXT_texture_filter_anisotropic 1
  1689. #endif
  1690.  
  1691. /* GL_EXT_texture_format_BGRA8888 */
  1692. #ifndef GL_EXT_texture_format_BGRA8888
  1693. #define GL_EXT_texture_format_BGRA8888 1
  1694. #endif
  1695.  
  1696. /* GL_EXT_texture_rg */
  1697. #ifndef GL_EXT_texture_rg
  1698. #define GL_EXT_texture_rg 1
  1699. #endif
  1700.  
  1701. /* GL_EXT_texture_storage */
  1702. #ifndef GL_EXT_texture_storage
  1703. #define GL_EXT_texture_storage 1
  1704. #ifdef GL_GLEXT_PROTOTYPES
  1705. GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1706. GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1707. GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1708. GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1709. GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1710. GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1711. #endif
  1712. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1713. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1714. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1715. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1716. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1717. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1718. #endif
  1719.  
  1720. /* GL_EXT_texture_type_2_10_10_10_REV */
  1721. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  1722. #define GL_EXT_texture_type_2_10_10_10_REV 1
  1723. #endif
  1724.  
  1725. /* GL_EXT_unpack_subimage */
  1726. #ifndef GL_EXT_unpack_subimage
  1727. #define GL_EXT_unpack_subimage 1
  1728. #endif
  1729.  
  1730. /*------------------------------------------------------------------------*
  1731.  * DMP extension functions
  1732.  *------------------------------------------------------------------------*/
  1733.  
  1734. /* GL_DMP_shader_binary */
  1735. #ifndef GL_DMP_shader_binary
  1736. #define GL_DMP_shader_binary 1
  1737. #endif
  1738.  
  1739. /*------------------------------------------------------------------------*
  1740.  * FJ extension functions
  1741.  *------------------------------------------------------------------------*/
  1742.  
  1743. /* GL_FJ_shader_binary_GCCSO */
  1744. #ifndef GL_FJ_shader_binary_GCCSO
  1745. #define GL_FJ_shader_binary_GCCSO 1
  1746. #endif
  1747.  
  1748. /*------------------------------------------------------------------------*
  1749.  * IMG extension functions
  1750.  *------------------------------------------------------------------------*/
  1751.  
  1752. /* GL_IMG_program_binary */
  1753. #ifndef GL_IMG_program_binary
  1754. #define GL_IMG_program_binary 1
  1755. #endif
  1756.  
  1757. /* GL_IMG_read_format */
  1758. #ifndef GL_IMG_read_format
  1759. #define GL_IMG_read_format 1
  1760. #endif
  1761.  
  1762. /* GL_IMG_shader_binary */
  1763. #ifndef GL_IMG_shader_binary
  1764. #define GL_IMG_shader_binary 1
  1765. #endif
  1766.  
  1767. /* GL_IMG_texture_compression_pvrtc */
  1768. #ifndef GL_IMG_texture_compression_pvrtc
  1769. #define GL_IMG_texture_compression_pvrtc 1
  1770. #endif
  1771.  
  1772. /* GL_IMG_texture_compression_pvrtc2 */
  1773. #ifndef GL_IMG_texture_compression_pvrtc2
  1774. #define GL_IMG_texture_compression_pvrtc2 1
  1775. #endif
  1776.  
  1777. /* GL_IMG_multisampled_render_to_texture */
  1778. #ifndef GL_IMG_multisampled_render_to_texture
  1779. #define GL_IMG_multisampled_render_to_texture 1
  1780. #ifdef GL_GLEXT_PROTOTYPES
  1781. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1782. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1783. #endif
  1784. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1785. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1786. #endif
  1787.  
  1788. /*------------------------------------------------------------------------*
  1789.  * NV extension functions
  1790.  *------------------------------------------------------------------------*/
  1791.  
  1792. /* GL_NV_coverage_sample */
  1793. #ifndef GL_NV_coverage_sample
  1794. #define GL_NV_coverage_sample 1
  1795. #ifdef GL_GLEXT_PROTOTYPES
  1796. GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  1797. GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  1798. #endif
  1799. typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  1800. typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  1801. #endif
  1802.  
  1803. /* GL_NV_depth_nonlinear */
  1804. #ifndef GL_NV_depth_nonlinear
  1805. #define GL_NV_depth_nonlinear 1
  1806. #endif
  1807.  
  1808. /* GL_NV_draw_buffers */
  1809. #ifndef GL_NV_draw_buffers
  1810. #define GL_NV_draw_buffers 1
  1811. #ifdef GL_GLEXT_PROTOTYPES
  1812. GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  1813. #endif
  1814. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  1815. #endif
  1816.  
  1817. /* GL_NV_draw_instanced */
  1818. #ifndef GL_NV_draw_instanced
  1819. #define GL_NV_draw_instanced 1
  1820. #ifdef GL_GLEXT_PROTOTYPES
  1821. GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1822. GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  1823. #endif
  1824. typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1825. typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  1826. #endif
  1827.  
  1828. /* GL_NV_fbo_color_attachments */
  1829. #ifndef GL_NV_fbo_color_attachments
  1830. #define GL_NV_fbo_color_attachments 1
  1831. #endif
  1832.  
  1833. /* GL_NV_fence */
  1834. #ifndef GL_NV_fence
  1835. #define GL_NV_fence 1
  1836. #ifdef GL_GLEXT_PROTOTYPES
  1837. GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
  1838. GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
  1839. GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
  1840. GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
  1841. GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
  1842. GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
  1843. GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
  1844. #endif
  1845. typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1846. typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1847. typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1848. typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1849. typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1850. typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1851. typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1852. #endif
  1853.  
  1854. /* GL_NV_framebuffer_blit */
  1855. #ifndef GL_NV_framebuffer_blit
  1856. #define GL_NV_framebuffer_blit 1
  1857. #ifdef GL_GLEXT_PROTOTYPES
  1858. GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1859. #endif
  1860. typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1861. #endif
  1862.  
  1863. /* GL_NV_framebuffer_multisample */
  1864. #ifndef GL_NV_framebuffer_multisample
  1865. #define GL_NV_framebuffer_multisample 1
  1866. #ifdef GL_GLEXT_PROTOTYPES
  1867. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1868. #endif
  1869. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1870. #endif
  1871.  
  1872. /* GL_NV_generate_mipmap_sRGB */
  1873. #ifndef GL_NV_generate_mipmap_sRGB
  1874. #define GL_NV_generate_mipmap_sRGB 1
  1875. #endif
  1876.  
  1877. /* GL_NV_instanced_arrays */
  1878. #ifndef GL_NV_instanced_arrays
  1879. #define GL_NV_instanced_arrays 1
  1880. #ifdef GL_GLEXT_PROTOTYPES
  1881. GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
  1882. #endif
  1883. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
  1884. #endif
  1885.  
  1886. /* GL_NV_read_buffer */
  1887. #ifndef GL_NV_read_buffer
  1888. #define GL_NV_read_buffer 1
  1889. #ifdef GL_GLEXT_PROTOTYPES
  1890. GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  1891. #endif
  1892. typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  1893. #endif
  1894.  
  1895. /* GL_NV_read_buffer_front */
  1896. #ifndef GL_NV_read_buffer_front
  1897. #define GL_NV_read_buffer_front 1
  1898. #endif
  1899.  
  1900. /* GL_NV_read_depth */
  1901. #ifndef GL_NV_read_depth
  1902. #define GL_NV_read_depth 1
  1903. #endif
  1904.  
  1905. /* GL_NV_read_depth_stencil */
  1906. #ifndef GL_NV_read_depth_stencil
  1907. #define GL_NV_read_depth_stencil 1
  1908. #endif
  1909.  
  1910. /* GL_NV_read_stencil */
  1911. #ifndef GL_NV_read_stencil
  1912. #define GL_NV_read_stencil 1
  1913. #endif
  1914.  
  1915. /* GL_NV_shadow_samplers_array */
  1916. #ifndef GL_NV_shadow_samplers_array
  1917. #define GL_NV_shadow_samplers_array 1
  1918. #endif
  1919.  
  1920. /* GL_NV_shadow_samplers_cube */
  1921. #ifndef GL_NV_shadow_samplers_cube
  1922. #define GL_NV_shadow_samplers_cube 1
  1923. #endif
  1924.  
  1925. /* GL_NV_sRGB_formats */
  1926. #ifndef GL_NV_sRGB_formats
  1927. #define GL_NV_sRGB_formats 1
  1928. #endif
  1929.  
  1930. /* GL_NV_texture_border_clamp */
  1931. #ifndef GL_NV_texture_border_clamp
  1932. #define GL_NV_texture_border_clamp 1
  1933. #endif
  1934.  
  1935. /* GL_NV_texture_compression_s3tc_update */
  1936. #ifndef GL_NV_texture_compression_s3tc_update
  1937. #define GL_NV_texture_compression_s3tc_update 1
  1938. #endif
  1939.  
  1940. /* GL_NV_texture_npot_2D_mipmap */
  1941. #ifndef GL_NV_texture_npot_2D_mipmap
  1942. #define GL_NV_texture_npot_2D_mipmap 1
  1943. #endif
  1944.  
  1945. /*------------------------------------------------------------------------*
  1946.  * QCOM extension functions
  1947.  *------------------------------------------------------------------------*/
  1948.  
  1949. /* GL_QCOM_alpha_test */
  1950. #ifndef GL_QCOM_alpha_test
  1951. #define GL_QCOM_alpha_test 1
  1952. #ifdef GL_GLEXT_PROTOTYPES
  1953. GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  1954. #endif
  1955. typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  1956. #endif
  1957.  
  1958. /* GL_QCOM_binning_control */
  1959. #ifndef GL_QCOM_binning_control
  1960. #define GL_QCOM_binning_control 1
  1961. #endif
  1962.  
  1963. /* GL_QCOM_driver_control */
  1964. #ifndef GL_QCOM_driver_control
  1965. #define GL_QCOM_driver_control 1
  1966. #ifdef GL_GLEXT_PROTOTYPES
  1967. GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1968. GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1969. GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1970. GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1971. #endif
  1972. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1973. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1974. typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1975. typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1976. #endif
  1977.  
  1978. /* GL_QCOM_extended_get */
  1979. #ifndef GL_QCOM_extended_get
  1980. #define GL_QCOM_extended_get 1
  1981. #ifdef GL_GLEXT_PROTOTYPES
  1982. GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1983. GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1984. GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1985. GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1986. GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1987. GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1988. GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
  1989. GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1990. #endif
  1991. typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1992. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1993. typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1994. typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1995. typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1996. typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1997. typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
  1998. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1999. #endif
  2000.  
  2001. /* GL_QCOM_extended_get2 */
  2002. #ifndef GL_QCOM_extended_get2
  2003. #define GL_QCOM_extended_get2 1
  2004. #ifdef GL_GLEXT_PROTOTYPES
  2005. GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  2006. GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  2007. GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  2008. GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  2009. #endif
  2010. typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  2011. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  2012. typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  2013. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  2014. #endif
  2015.  
  2016. /* GL_QCOM_perfmon_global_mode */
  2017. #ifndef GL_QCOM_perfmon_global_mode
  2018. #define GL_QCOM_perfmon_global_mode 1
  2019. #endif
  2020.  
  2021. /* GL_QCOM_writeonly_rendering */
  2022. #ifndef GL_QCOM_writeonly_rendering
  2023. #define GL_QCOM_writeonly_rendering 1
  2024. #endif
  2025.  
  2026. /* GL_QCOM_tiled_rendering */
  2027. #ifndef GL_QCOM_tiled_rendering
  2028. #define GL_QCOM_tiled_rendering 1
  2029. #ifdef GL_GLEXT_PROTOTYPES
  2030. GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  2031. GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  2032. #endif
  2033. typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  2034. typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  2035. #endif
  2036.  
  2037. /*------------------------------------------------------------------------*
  2038.  * VIV extension tokens
  2039.  *------------------------------------------------------------------------*/
  2040.  
  2041. /* GL_VIV_shader_binary */
  2042. #ifndef GL_VIV_shader_binary
  2043. #define GL_VIV_shader_binary 1
  2044. #endif
  2045.  
  2046. #ifdef __cplusplus
  2047. }
  2048. #endif
  2049.  
  2050. #endif /* __gl2ext_h_ */
  2051.