Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef __glext_h_
  2. #define __glext_h_
  3.  
  4. /* $Revision: 19260 $ on $Date:: 2012-09-20 11:30:36 -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. /*------------------------------------------------------------------------*
  20.  * OES extension tokens
  21.  *------------------------------------------------------------------------*/
  22.  
  23. /* GL_OES_blend_equation_separate */
  24. #ifndef GL_OES_blend_equation_separate
  25. /* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */
  26. #define GL_BLEND_EQUATION_RGB_OES                               0x8009
  27. #define GL_BLEND_EQUATION_ALPHA_OES                             0x883D
  28. #endif
  29.  
  30. /* GL_OES_blend_func_separate */
  31. #ifndef GL_OES_blend_func_separate
  32. #define GL_BLEND_DST_RGB_OES                                    0x80C8
  33. #define GL_BLEND_SRC_RGB_OES                                    0x80C9
  34. #define GL_BLEND_DST_ALPHA_OES                                  0x80CA
  35. #define GL_BLEND_SRC_ALPHA_OES                                  0x80CB
  36. #endif
  37.  
  38. /* GL_OES_blend_subtract */
  39. #ifndef GL_OES_blend_subtract
  40. #define GL_BLEND_EQUATION_OES                                   0x8009
  41. #define GL_FUNC_ADD_OES                                         0x8006
  42. #define GL_FUNC_SUBTRACT_OES                                    0x800A
  43. #define GL_FUNC_REVERSE_SUBTRACT_OES                            0x800B
  44. #endif
  45.  
  46. /* GL_OES_compressed_ETC1_RGB8_texture */
  47. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  48. #define GL_ETC1_RGB8_OES                                        0x8D64
  49. #endif
  50.  
  51. /* GL_OES_depth24 */
  52. #ifndef GL_OES_depth24
  53. #define GL_DEPTH_COMPONENT24_OES                                0x81A6
  54. #endif
  55.  
  56. /* GL_OES_depth32 */
  57. #ifndef GL_OES_depth32
  58. #define GL_DEPTH_COMPONENT32_OES                                0x81A7
  59. #endif
  60.  
  61. /* GL_OES_draw_texture */
  62. #ifndef GL_OES_draw_texture
  63. #define GL_TEXTURE_CROP_RECT_OES                                0x8B9D
  64. #endif
  65.  
  66. /* GL_OES_EGL_image */
  67. #ifndef GL_OES_EGL_image
  68. typedef void* GLeglImageOES;
  69. #endif
  70.  
  71. /* GL_OES_EGL_image_external */
  72. #ifndef GL_OES_EGL_image_external
  73. /* GLeglImageOES defined in GL_OES_EGL_image already. */
  74. #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
  75. #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
  76. #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
  77. #endif
  78.  
  79. /* GL_OES_element_index_uint */
  80. #ifndef GL_OES_element_index_uint
  81. #define GL_UNSIGNED_INT                                         0x1405
  82. #endif
  83.  
  84. /* GL_OES_fixed_point */
  85. #ifndef GL_OES_fixed_point
  86. #define GL_FIXED_OES                                            0x140C
  87. #endif
  88.  
  89. /* GL_OES_framebuffer_object */
  90. #ifndef GL_OES_framebuffer_object
  91. #define GL_NONE_OES                                             0
  92. #define GL_FRAMEBUFFER_OES                                      0x8D40
  93. #define GL_RENDERBUFFER_OES                                     0x8D41
  94. #define GL_RGBA4_OES                                            0x8056
  95. #define GL_RGB5_A1_OES                                          0x8057
  96. #define GL_RGB565_OES                                           0x8D62
  97. #define GL_DEPTH_COMPONENT16_OES                                0x81A5
  98. #define GL_RENDERBUFFER_WIDTH_OES                               0x8D42
  99. #define GL_RENDERBUFFER_HEIGHT_OES                              0x8D43
  100. #define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                     0x8D44
  101. #define GL_RENDERBUFFER_RED_SIZE_OES                            0x8D50
  102. #define GL_RENDERBUFFER_GREEN_SIZE_OES                          0x8D51
  103. #define GL_RENDERBUFFER_BLUE_SIZE_OES                           0x8D52
  104. #define GL_RENDERBUFFER_ALPHA_SIZE_OES                          0x8D53
  105. #define GL_RENDERBUFFER_DEPTH_SIZE_OES                          0x8D54
  106. #define GL_RENDERBUFFER_STENCIL_SIZE_OES                        0x8D55
  107. #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES               0x8CD0
  108. #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES               0x8CD1
  109. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES             0x8CD2
  110. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES     0x8CD3
  111. #define GL_COLOR_ATTACHMENT0_OES                                0x8CE0
  112. #define GL_DEPTH_ATTACHMENT_OES                                 0x8D00
  113. #define GL_STENCIL_ATTACHMENT_OES                               0x8D20
  114. #define GL_FRAMEBUFFER_COMPLETE_OES                             0x8CD5
  115. #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES                0x8CD6
  116. #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES        0x8CD7
  117. #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES                0x8CD9
  118. #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES                   0x8CDA
  119. #define GL_FRAMEBUFFER_UNSUPPORTED_OES                          0x8CDD
  120. #define GL_FRAMEBUFFER_BINDING_OES                              0x8CA6
  121. #define GL_RENDERBUFFER_BINDING_OES                             0x8CA7
  122. #define GL_MAX_RENDERBUFFER_SIZE_OES                            0x84E8
  123. #define GL_INVALID_FRAMEBUFFER_OPERATION_OES                    0x0506
  124. #endif
  125.  
  126. /* GL_OES_mapbuffer */
  127. #ifndef GL_OES_mapbuffer
  128. #define GL_WRITE_ONLY_OES                                       0x88B9
  129. #define GL_BUFFER_ACCESS_OES                                    0x88BB
  130. #define GL_BUFFER_MAPPED_OES                                    0x88BC
  131. #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
  132. #endif
  133.  
  134. /* GL_OES_matrix_get */
  135. #ifndef GL_OES_matrix_get
  136. #define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES               0x898D
  137. #define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES              0x898E
  138. #define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES                 0x898F
  139. #endif
  140.  
  141. /* GL_OES_matrix_palette */
  142. #ifndef GL_OES_matrix_palette
  143. #define GL_MAX_VERTEX_UNITS_OES                                 0x86A4
  144. #define GL_MAX_PALETTE_MATRICES_OES                             0x8842
  145. #define GL_MATRIX_PALETTE_OES                                   0x8840
  146. #define GL_MATRIX_INDEX_ARRAY_OES                               0x8844
  147. #define GL_WEIGHT_ARRAY_OES                                     0x86AD
  148. #define GL_CURRENT_PALETTE_MATRIX_OES                           0x8843
  149. #define GL_MATRIX_INDEX_ARRAY_SIZE_OES                          0x8846
  150. #define GL_MATRIX_INDEX_ARRAY_TYPE_OES                          0x8847
  151. #define GL_MATRIX_INDEX_ARRAY_STRIDE_OES                        0x8848
  152. #define GL_MATRIX_INDEX_ARRAY_POINTER_OES                       0x8849
  153. #define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES                0x8B9E
  154. #define GL_WEIGHT_ARRAY_SIZE_OES                                0x86AB
  155. #define GL_WEIGHT_ARRAY_TYPE_OES                                0x86A9
  156. #define GL_WEIGHT_ARRAY_STRIDE_OES                              0x86AA
  157. #define GL_WEIGHT_ARRAY_POINTER_OES                             0x86AC
  158. #define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES                      0x889E
  159. #endif
  160.  
  161. /* GL_OES_packed_depth_stencil */
  162. #ifndef GL_OES_packed_depth_stencil
  163. #define GL_DEPTH_STENCIL_OES                                    0x84F9
  164. #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
  165. #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
  166. #endif
  167.  
  168. /* GL_OES_required_internalformat */
  169. /* No new tokens introduced by this extension. */
  170.  
  171. /* GL_OES_rgb8_rgba8 */
  172. #ifndef GL_OES_rgb8_rgba8
  173. #define GL_RGB8_OES                                             0x8051
  174. #define GL_RGBA8_OES                                            0x8058
  175. #endif
  176.  
  177. /* GL_OES_stencil1 */
  178. #ifndef GL_OES_stencil1
  179. #define GL_STENCIL_INDEX1_OES                                   0x8D46
  180. #endif
  181.  
  182. /* GL_OES_stencil4 */
  183. #ifndef GL_OES_stencil4
  184. #define GL_STENCIL_INDEX4_OES                                   0x8D47
  185. #endif
  186.  
  187. /* GL_OES_stencil8 */
  188. #ifndef GL_OES_stencil8
  189. #define GL_STENCIL_INDEX8_OES                                   0x8D48
  190. #endif
  191.  
  192. /* GL_OES_stencil_wrap */
  193. #ifndef GL_OES_stencil_wrap
  194. #define GL_INCR_WRAP_OES                                        0x8507
  195. #define GL_DECR_WRAP_OES                                        0x8508
  196. #endif
  197.  
  198. /* GL_OES_texture_cube_map */
  199. #ifndef GL_OES_texture_cube_map
  200. #define GL_NORMAL_MAP_OES                                       0x8511
  201. #define GL_REFLECTION_MAP_OES                                   0x8512
  202. #define GL_TEXTURE_CUBE_MAP_OES                                 0x8513
  203. #define GL_TEXTURE_BINDING_CUBE_MAP_OES                         0x8514
  204. #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                      0x8515
  205. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                      0x8516
  206. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                      0x8517
  207. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                      0x8518
  208. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                      0x8519
  209. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                      0x851A
  210. #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                        0x851C
  211. #define GL_TEXTURE_GEN_MODE_OES                                 0x2500
  212. #define GL_TEXTURE_GEN_STR_OES                                  0x8D60
  213. #endif
  214.  
  215. /* GL_OES_texture_mirrored_repeat */
  216. #ifndef GL_OES_texture_mirrored_repeat
  217. #define GL_MIRRORED_REPEAT_OES                                  0x8370
  218. #endif
  219.  
  220. /* GL_OES_vertex_array_object */
  221. #ifndef GL_OES_vertex_array_object
  222. #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
  223. #endif
  224.  
  225. /*------------------------------------------------------------------------*
  226.  * AMD extension tokens
  227.  *------------------------------------------------------------------------*/
  228.  
  229. /* GL_AMD_compressed_3DC_texture */
  230. #ifndef GL_AMD_compressed_3DC_texture
  231. #define GL_3DC_X_AMD                                            0x87F9
  232. #define GL_3DC_XY_AMD                                           0x87FA
  233. #endif
  234.  
  235. /* GL_AMD_compressed_ATC_texture */
  236. #ifndef GL_AMD_compressed_ATC_texture
  237. #define GL_ATC_RGB_AMD                                          0x8C92
  238. #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
  239. #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
  240. #endif
  241.  
  242. /*------------------------------------------------------------------------*
  243.  * APPLE extension tokens
  244.  *------------------------------------------------------------------------*/
  245.  
  246. /* GL_APPLE_copy_texture_levels */
  247. /* No new tokens introduced by this extension. */
  248.  
  249. /* GL_APPLE_framebuffer_multisample */
  250. #ifndef GL_APPLE_framebuffer_multisample
  251. #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
  252. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
  253. #define GL_MAX_SAMPLES_APPLE                                    0x8D57
  254. #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
  255. #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
  256. #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
  257. #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
  258. #endif
  259.  
  260. /* GL_APPLE_sync */
  261. #ifndef GL_APPLE_sync
  262.  
  263. /* These types are defined with reference to <inttypes.h>
  264.  * in the Apple extension spec, but here we use the Khronos
  265.  * portable types in khrplatform.h, and assume those types
  266.  * are always defined.
  267.  * If any other extensions using these types are defined,
  268.  * the typedefs must move out of this block and be shared.
  269.  */
  270. typedef khronos_int64_t GLint64;
  271. typedef khronos_uint64_t GLuint64;
  272. typedef struct __GLsync *GLsync;
  273.  
  274. #define GL_SYNC_OBJECT_APPLE                                    0x8A53
  275. #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
  276. #define GL_OBJECT_TYPE_APPLE                                    0x9112
  277. #define GL_SYNC_CONDITION_APPLE                                 0x9113
  278. #define GL_SYNC_STATUS_APPLE                                    0x9114
  279. #define GL_SYNC_FLAGS_APPLE                                     0x9115
  280. #define GL_SYNC_FENCE_APPLE                                     0x9116
  281. #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
  282. #define GL_UNSIGNALED_APPLE                                     0x9118
  283. #define GL_SIGNALED_APPLE                                       0x9119
  284. #define GL_ALREADY_SIGNALED_APPLE                               0x911A
  285. #define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
  286. #define GL_CONDITION_SATISFIED_APPLE                            0x911C
  287. #define GL_WAIT_FAILED_APPLE                                    0x911D
  288. #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
  289. #define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
  290. #endif
  291.  
  292. /* GL_APPLE_texture_2D_limited_npot */
  293. /* No new tokens introduced by this extension. */
  294.  
  295. /* GL_APPLE_texture_format_BGRA8888 */
  296. #ifndef GL_APPLE_texture_format_BGRA8888
  297. #define GL_BGRA_EXT                                             0x80E1
  298. #endif
  299.  
  300. /* GL_APPLE_texture_max_level */
  301. #ifndef GL_APPLE_texture_max_level
  302. #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
  303. #endif
  304.  
  305. /*------------------------------------------------------------------------*
  306.  * ARM extension tokens
  307.  *------------------------------------------------------------------------*/
  308.  
  309. /* GL_ARM_rgba8 */
  310. /* No new tokens introduced by this extension. */
  311.  
  312. /*------------------------------------------------------------------------*
  313.  * EXT extension tokens
  314.  *------------------------------------------------------------------------*/
  315.  
  316. /* GL_EXT_blend_minmax */
  317. #ifndef GL_EXT_blend_minmax
  318. #define GL_MIN_EXT                                              0x8007
  319. #define GL_MAX_EXT                                              0x8008
  320. #endif
  321.  
  322. /* GL_EXT_discard_framebuffer */
  323. #ifndef GL_EXT_discard_framebuffer
  324. #define GL_COLOR_EXT                                            0x1800
  325. #define GL_DEPTH_EXT                                            0x1801
  326. #define GL_STENCIL_EXT                                          0x1802
  327. #endif
  328.  
  329. /* GL_EXT_map_buffer_range */
  330. #ifndef GL_EXT_map_buffer_range
  331. #define GL_MAP_READ_BIT_EXT                                     0x0001
  332. #define GL_MAP_WRITE_BIT_EXT                                    0x0002
  333. #define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
  334. #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
  335. #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
  336. #define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
  337. #endif
  338.  
  339. /* GL_EXT_multisampled_render_to_texture */
  340. #ifndef GL_EXT_multisampled_render_to_texture
  341. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
  342. /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
  343. #define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
  344. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
  345. #define GL_MAX_SAMPLES_EXT                                      0x8D57
  346. #endif
  347.  
  348. /* GL_EXT_multi_draw_arrays */
  349. /* No new tokens introduced by this extension. */
  350.  
  351. /* GL_EXT_read_format_bgra */
  352. #ifndef GL_EXT_read_format_bgra
  353. #define GL_BGRA_EXT                                             0x80E1
  354. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
  355. #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
  356. #endif
  357.  
  358. /* GL_EXT_robustness */
  359. #ifndef GL_EXT_robustness
  360. /* reuse GL_NO_ERROR */
  361. #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
  362. #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
  363. #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
  364. #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
  365. #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
  366. #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
  367. #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
  368. #endif
  369.  
  370. /* GL_EXT_sRGB */
  371. #ifndef GL_EXT_sRGB
  372. #define GL_SRGB_EXT                                             0x8C40
  373. #define GL_SRGB_ALPHA_EXT                                       0x8C42
  374. #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
  375. #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
  376. #endif
  377.  
  378. /* GL_EXT_texture_compression_dxt1 */
  379. #ifndef GL_EXT_texture_compression_dxt1
  380. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
  381. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
  382. #endif
  383.  
  384. /* GL_EXT_texture_filter_anisotropic */
  385. #ifndef GL_EXT_texture_filter_anisotropic
  386. #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
  387. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
  388. #endif
  389.  
  390. /* GL_EXT_texture_format_BGRA8888 */
  391. #ifndef GL_EXT_texture_format_BGRA8888
  392. #define GL_BGRA_EXT                                             0x80E1
  393. #endif
  394.  
  395. /* GL_EXT_texture_lod_bias */
  396. #ifndef GL_EXT_texture_lod_bias
  397. #define GL_MAX_TEXTURE_LOD_BIAS_EXT                             0x84FD
  398. #define GL_TEXTURE_FILTER_CONTROL_EXT                           0x8500
  399. #define GL_TEXTURE_LOD_BIAS_EXT                                 0x8501
  400. #endif
  401.  
  402. /* GL_EXT_texture_storage */
  403. #ifndef GL_EXT_texture_storage
  404. #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
  405. #define GL_ALPHA8_EXT                                           0x803C
  406. #define GL_LUMINANCE8_EXT                                       0x8040
  407. #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
  408. #define GL_RGBA32F_EXT                                          0x8814
  409. #define GL_RGB32F_EXT                                           0x8815
  410. #define GL_ALPHA32F_EXT                                         0x8816
  411. #define GL_LUMINANCE32F_EXT                                     0x8818
  412. #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
  413. /* reuse GL_RGBA16F_EXT */
  414. #define GL_RGB16F_EXT                                           0x881B
  415. #define GL_ALPHA16F_EXT                                         0x881C
  416. #define GL_LUMINANCE16F_EXT                                     0x881E
  417. #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
  418. #define GL_RGB10_A2_EXT                                         0x8059
  419. #define GL_RGB10_EXT                                            0x8052
  420. #define GL_BGRA8_EXT                                            0x93A1
  421. #endif
  422.  
  423. /*------------------------------------------------------------------------*
  424.  * IMG extension tokens
  425.  *------------------------------------------------------------------------*/
  426.  
  427. /* GL_IMG_read_format */
  428. #ifndef GL_IMG_read_format
  429. #define GL_BGRA_IMG                                             0x80E1
  430. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
  431. #endif
  432.  
  433. /* GL_IMG_texture_compression_pvrtc */
  434. #ifndef GL_IMG_texture_compression_pvrtc
  435. #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
  436. #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
  437. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
  438. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
  439. #endif
  440.  
  441. /* GL_IMG_texture_env_enhanced_fixed_function */
  442. #ifndef GL_IMG_texture_env_enhanced_fixed_function
  443. #define GL_MODULATE_COLOR_IMG                                   0x8C04
  444. #define GL_RECIP_ADD_SIGNED_ALPHA_IMG                           0x8C05
  445. #define GL_TEXTURE_ALPHA_MODULATE_IMG                           0x8C06
  446. #define GL_FACTOR_ALPHA_MODULATE_IMG                            0x8C07
  447. #define GL_FRAGMENT_ALPHA_MODULATE_IMG                          0x8C08
  448. #define GL_ADD_BLEND_IMG                                        0x8C09
  449. #define GL_DOT3_RGBA_IMG                                        0x86AF
  450. #endif
  451.  
  452. /* GL_IMG_user_clip_plane */
  453. #ifndef GL_IMG_user_clip_plane
  454. #define GL_CLIP_PLANE0_IMG                                      0x3000
  455. #define GL_CLIP_PLANE1_IMG                                      0x3001
  456. #define GL_CLIP_PLANE2_IMG                                      0x3002
  457. #define GL_CLIP_PLANE3_IMG                                      0x3003
  458. #define GL_CLIP_PLANE4_IMG                                      0x3004
  459. #define GL_CLIP_PLANE5_IMG                                      0x3005
  460. #define GL_MAX_CLIP_PLANES_IMG                                  0x0D32
  461. #endif
  462.  
  463. /* GL_IMG_multisampled_render_to_texture */
  464. #ifndef GL_IMG_multisampled_render_to_texture
  465. #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
  466. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
  467. #define GL_MAX_SAMPLES_IMG                                      0x9135
  468. #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
  469. #endif
  470.  
  471. /*------------------------------------------------------------------------*
  472.  * NV extension tokens
  473.  *------------------------------------------------------------------------*/
  474.  
  475. /* GL_NV_fence */
  476. #ifndef GL_NV_fence
  477. #define GL_ALL_COMPLETED_NV                                     0x84F2
  478. #define GL_FENCE_STATUS_NV                                      0x84F3
  479. #define GL_FENCE_CONDITION_NV                                   0x84F4
  480. #endif
  481.  
  482. /*------------------------------------------------------------------------*
  483.  * QCOM extension tokens
  484.  *------------------------------------------------------------------------*/
  485.  
  486. /* GL_QCOM_driver_control */
  487. /* No new tokens introduced by this extension. */
  488.  
  489. /* GL_QCOM_extended_get */
  490. #ifndef GL_QCOM_extended_get
  491. #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
  492. #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
  493. #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
  494. #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
  495. #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
  496. #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
  497. #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
  498. #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
  499. #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
  500. #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
  501. #define GL_STATE_RESTORE                                        0x8BDC
  502. #endif
  503.  
  504. /* GL_QCOM_extended_get2 */
  505. /* No new tokens introduced by this extension. */
  506.  
  507. /* GL_QCOM_perfmon_global_mode */
  508. #ifndef GL_QCOM_perfmon_global_mode
  509. #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
  510. #endif
  511.  
  512. /* GL_QCOM_writeonly_rendering */
  513. #ifndef GL_QCOM_writeonly_rendering
  514. #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
  515. #endif
  516.  
  517. /* GL_QCOM_tiled_rendering */
  518. #ifndef GL_QCOM_tiled_rendering
  519. #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
  520. #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
  521. #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
  522. #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
  523. #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
  524. #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
  525. #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
  526. #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
  527. #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
  528. #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
  529. #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
  530. #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
  531. #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
  532. #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
  533. #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
  534. #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
  535. #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
  536. #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
  537. #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
  538. #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
  539. #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
  540. #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
  541. #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
  542. #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
  543. #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
  544. #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
  545. #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
  546. #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
  547. #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
  548. #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
  549. #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
  550. #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
  551. #endif
  552.  
  553. /*------------------------------------------------------------------------*
  554.  * End of extension tokens, start of corresponding extension functions
  555.  *------------------------------------------------------------------------*/
  556.  
  557. /*------------------------------------------------------------------------*
  558.  * OES extension functions
  559.  *------------------------------------------------------------------------*/
  560.  
  561. /* GL_OES_blend_equation_separate */
  562. #ifndef GL_OES_blend_equation_separate
  563. #define GL_OES_blend_equation_separate 1
  564. #ifdef GL_GLEXT_PROTOTYPES
  565. GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
  566. #endif
  567. typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
  568. #endif
  569.  
  570. /* GL_OES_blend_func_separate */
  571. #ifndef GL_OES_blend_func_separate
  572. #define GL_OES_blend_func_separate 1
  573. #ifdef GL_GLEXT_PROTOTYPES
  574. GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  575. #endif
  576. typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  577. #endif
  578.  
  579. /* GL_OES_blend_subtract */
  580. #ifndef GL_OES_blend_subtract
  581. #define GL_OES_blend_subtract 1
  582. #ifdef GL_GLEXT_PROTOTYPES
  583. GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
  584. #endif
  585. typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
  586. #endif
  587.  
  588. /* GL_OES_byte_coordinates */
  589. #ifndef GL_OES_byte_coordinates
  590. #define GL_OES_byte_coordinates 1
  591. #endif
  592.  
  593. /* GL_OES_compressed_ETC1_RGB8_texture */
  594. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  595. #define GL_OES_compressed_ETC1_RGB8_texture 1
  596. #endif
  597.  
  598. /* GL_OES_depth24 */
  599. #ifndef GL_OES_depth24
  600. #define GL_OES_depth24 1
  601. #endif
  602.  
  603. /* GL_OES_depth32 */
  604. #ifndef GL_OES_depth32
  605. #define GL_OES_depth32 1
  606. #endif
  607.  
  608. /* GL_OES_draw_texture */
  609. #ifndef GL_OES_draw_texture
  610. #define GL_OES_draw_texture 1
  611. #ifdef GL_GLEXT_PROTOTYPES
  612. GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
  613. GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
  614. GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
  615. GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
  616. GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
  617. GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
  618. GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
  619. GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
  620. #endif
  621. typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
  622. typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
  623. typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
  624. typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
  625. typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
  626. typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
  627. typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
  628. typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
  629. #endif
  630.  
  631. /* GL_OES_EGL_image */
  632. #ifndef GL_OES_EGL_image
  633. #define GL_OES_EGL_image 1
  634. #ifdef GL_GLEXT_PROTOTYPES
  635. GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  636. GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  637. #endif
  638. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  639. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  640. #endif
  641.  
  642. /* GL_OES_EGL_image_external */
  643. #ifndef GL_OES_EGL_image_external
  644. #define GL_OES_EGL_image_external 1
  645. /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  646. #endif
  647.  
  648. /* GL_OES_element_index_uint */
  649. #ifndef GL_OES_element_index_uint
  650. #define GL_OES_element_index_uint 1
  651. #endif
  652.  
  653. /* GL_OES_extended_matrix_palette */
  654. #ifndef GL_OES_extended_matrix_palette
  655. #define GL_OES_extended_matrix_palette 1
  656. #endif
  657.  
  658. /* GL_OES_fbo_render_mipmap */
  659. #ifndef GL_OES_fbo_render_mipmap
  660. #define GL_OES_fbo_render_mipmap 1
  661. #endif
  662.  
  663. /* GL_OES_fixed_point */
  664. #ifndef GL_OES_fixed_point
  665. #define GL_OES_fixed_point 1
  666. #ifdef GL_GLEXT_PROTOTYPES
  667. GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
  668. GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
  669. GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
  670. GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
  671. GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
  672. GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
  673. GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
  674. GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
  675. GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
  676. GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
  677. GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
  678. GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
  679. GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
  680. GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params);
  681. GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
  682. GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
  683. GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
  684. GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
  685. GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
  686. GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
  687. GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
  688. GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
  689. GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
  690. GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
  691. GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
  692. GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
  693. GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
  694. GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
  695. GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
  696. GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
  697. GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
  698. GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
  699. GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
  700. GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
  701. GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
  702. GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
  703. GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
  704. GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
  705. GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
  706. #endif
  707. typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
  708. typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
  709. typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
  710. typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
  711. typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
  712. typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar);
  713. typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
  714. typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params);
  715. typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
  716. typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]);
  717. typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
  718. typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
  719. typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
  720. typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params);
  721. typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
  722. typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
  723. typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params);
  724. typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
  725. typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
  726. typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
  727. typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
  728. typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
  729. typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params);
  730. typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
  731. typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
  732. typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
  733. typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
  734. typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
  735. typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
  736. typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
  737. typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
  738. typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
  739. typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
  740. typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
  741. typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
  742. typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
  743. typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
  744. typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
  745. typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
  746. #endif
  747.  
  748. /* GL_OES_framebuffer_object */
  749. #ifndef GL_OES_framebuffer_object
  750. #define GL_OES_framebuffer_object 1
  751. #ifdef GL_GLEXT_PROTOTYPES
  752. GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
  753. GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
  754. GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers);
  755. GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers);
  756. GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  757. GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params);
  758. GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
  759. GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
  760. GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers);
  761. GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers);
  762. GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
  763. GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  764. GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  765. GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params);
  766. GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
  767. #endif
  768. typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
  769. typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
  770. typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
  771. typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
  772. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  773. typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
  774. typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
  775. typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
  776. typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
  777. typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
  778. typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
  779. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  780. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  781. typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
  782. typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
  783. #endif
  784.  
  785. /* GL_OES_mapbuffer */
  786. #ifndef GL_OES_mapbuffer
  787. #define GL_OES_mapbuffer 1
  788. #ifdef GL_GLEXT_PROTOTYPES
  789. GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  790. GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  791. GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid ** params);
  792. #endif
  793. typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  794. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  795. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid ** params);
  796. #endif
  797.  
  798. /* GL_OES_matrix_get */
  799. #ifndef GL_OES_matrix_get
  800. #define GL_OES_matrix_get 1
  801. #endif
  802.  
  803. /* GL_OES_matrix_palette */
  804. #ifndef GL_OES_matrix_palette
  805. #define GL_OES_matrix_palette 1
  806. #ifdef GL_GLEXT_PROTOTYPES
  807. GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
  808. GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
  809. GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  810. GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  811. #endif
  812. typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
  813. typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
  814. typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  815. typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  816. #endif
  817.  
  818. /* GL_OES_packed_depth_stencil */
  819. #ifndef GL_OES_packed_depth_stencil
  820. #define GL_OES_packed_depth_stencil 1
  821. #endif
  822.  
  823. /* GL_OES_required_internalformat */
  824. #ifndef GL_OES_required_internalformat
  825. #define GL_OES_required_internalformat 1
  826. #endif
  827.  
  828. /* GL_OES_query_matrix */
  829. #ifndef GL_OES_query_matrix
  830. #define GL_OES_query_matrix 1
  831. #ifdef GL_GLEXT_PROTOTYPES
  832. GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);
  833. #endif
  834. typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]);
  835. #endif
  836.  
  837. /* GL_OES_rgb8_rgba8 */
  838. #ifndef GL_OES_rgb8_rgba8
  839. #define GL_OES_rgb8_rgba8 1
  840. #endif
  841.  
  842. /* GL_OES_single_precision */
  843. #ifndef GL_OES_single_precision
  844. #define GL_OES_single_precision 1
  845. #ifdef GL_GLEXT_PROTOTYPES
  846. GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar);
  847. GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
  848. GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
  849. GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
  850. GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
  851. GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
  852. #endif
  853. typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar);
  854. typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
  855. typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
  856. typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
  857. typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]);
  858. typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
  859. #endif
  860.  
  861. /* GL_OES_stencil1 */
  862. #ifndef GL_OES_stencil1
  863. #define GL_OES_stencil1 1
  864. #endif
  865.  
  866. /* GL_OES_stencil4 */
  867. #ifndef GL_OES_stencil4
  868. #define GL_OES_stencil4 1
  869. #endif
  870.  
  871. /* GL_OES_stencil8 */
  872. #ifndef GL_OES_stencil8
  873. #define GL_OES_stencil8 1
  874. #endif
  875.  
  876. /* GL_OES_stencil_wrap */
  877. #ifndef GL_OES_stencil_wrap
  878. #define GL_OES_stencil_wrap 1
  879. #endif
  880.  
  881. /* GL_OES_texture_cube_map */
  882. #ifndef GL_OES_texture_cube_map
  883. #define GL_OES_texture_cube_map 1
  884. #ifdef GL_GLEXT_PROTOTYPES
  885. GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param);
  886. GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
  887. GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
  888. GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
  889. GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
  890. GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
  891. GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
  892. GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
  893. GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
  894. #endif
  895. typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
  896. typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
  897. typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
  898. typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
  899. typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
  900. typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
  901. typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
  902. typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
  903. typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
  904. #endif
  905.  
  906. /* GL_OES_texture_env_crossbar */
  907. #ifndef GL_OES_texture_env_crossbar
  908. #define GL_OES_texture_env_crossbar 1
  909. #endif
  910.  
  911. /* GL_OES_texture_mirrored_repeat */
  912. #ifndef GL_OES_texture_mirrored_repeat
  913. #define GL_OES_texture_mirrored_repeat 1
  914. #endif
  915.  
  916. /* GL_OES_vertex_array_object */
  917. #ifndef GL_OES_vertex_array_object
  918. #define GL_OES_vertex_array_object 1
  919. #ifdef GL_GLEXT_PROTOTYPES
  920. GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  921. GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  922. GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  923. GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  924. #endif
  925. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  926. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  927. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  928. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  929. #endif
  930.  
  931. /*------------------------------------------------------------------------*
  932.  * AMD extension functions
  933.  *------------------------------------------------------------------------*/
  934.  
  935. /* GL_AMD_compressed_3DC_texture */
  936. #ifndef GL_AMD_compressed_3DC_texture
  937. #define GL_AMD_compressed_3DC_texture 1
  938. #endif
  939.  
  940. /* GL_AMD_compressed_ATC_texture */
  941. #ifndef GL_AMD_compressed_ATC_texture
  942. #define GL_AMD_compressed_ATC_texture 1
  943. #endif
  944.  
  945. /*------------------------------------------------------------------------*
  946.  * APPLE extension functions
  947.  *------------------------------------------------------------------------*/
  948.  
  949. /* GL_APPLE_copy_texture_levels */
  950. #ifndef GL_APPLE_copy_texture_levels
  951. #define GL_APPLE_copy_texture_levels 1
  952. #ifdef GL_GLEXT_PROTOTYPES
  953. GL_API void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  954. #endif
  955. typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  956. #endif
  957.  
  958. /* GL_APPLE_framebuffer_multisample */
  959. #ifndef GL_APPLE_framebuffer_multisample
  960. #define GL_APPLE_framebuffer_multisample 1
  961. #ifdef GL_GLEXT_PROTOTYPES
  962. GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  963. GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  964. #endif /* GL_GLEXT_PROTOTYPES */
  965. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  966. typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  967. #endif
  968.  
  969. /* GL_APPLE_sync */
  970. #ifndef GL_APPLE_sync
  971. #define GL_APPLE_sync 1
  972. #ifdef GL_GLEXT_PROTOTYPES
  973. GL_API GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  974. GL_API GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  975. GL_API void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  976. GL_API GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  977. GL_API void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  978. GL_API void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  979. GL_API void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  980. #endif
  981. typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  982. typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  983. typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  984. typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  985. typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  986. typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  987. typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  988. #endif
  989.  
  990. /* GL_APPLE_texture_2D_limited_npot */
  991. #ifndef GL_APPLE_texture_2D_limited_npot
  992. #define GL_APPLE_texture_2D_limited_npot 1
  993. #endif
  994.  
  995. /* GL_APPLE_texture_format_BGRA8888 */
  996. #ifndef GL_APPLE_texture_format_BGRA8888
  997. #define GL_APPLE_texture_format_BGRA8888 1
  998. #endif
  999.  
  1000. /* GL_APPLE_texture_max_level */
  1001. #ifndef GL_APPLE_texture_max_level
  1002. #define GL_APPLE_texture_max_level 1
  1003. #endif
  1004.  
  1005. /*------------------------------------------------------------------------*
  1006.  * ARM extension functions
  1007.  *------------------------------------------------------------------------*/
  1008.  
  1009. /* GL_ARM_rgba8 */
  1010. #ifndef GL_ARM_rgba8
  1011. #define GL_ARM_rgba8 1
  1012. #endif
  1013.  
  1014. /*------------------------------------------------------------------------*
  1015.  * EXT extension functions
  1016.  *------------------------------------------------------------------------*/
  1017.  
  1018. /* GL_EXT_blend_minmax */
  1019. #ifndef GL_EXT_blend_minmax
  1020. #define GL_EXT_blend_minmax 1
  1021. #endif
  1022.  
  1023. /* GL_EXT_discard_framebuffer */
  1024. #ifndef GL_EXT_discard_framebuffer
  1025. #define GL_EXT_discard_framebuffer 1
  1026. #ifdef GL_GLEXT_PROTOTYPES
  1027. GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1028. #endif
  1029. typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1030. #endif
  1031.  
  1032. /* GL_EXT_map_buffer_range */
  1033. #ifndef GL_EXT_map_buffer_range
  1034. #define GL_EXT_map_buffer_range 1
  1035. #ifdef GL_GLEXT_PROTOTYPES
  1036. GL_API void GL_APIENTRY *glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1037. GL_API void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  1038. #endif
  1039. typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1040. typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1041. #endif
  1042.  
  1043. /* GL_EXT_multisampled_render_to_texture */
  1044. #ifndef GL_EXT_multisampled_render_to_texture
  1045. #define GL_EXT_multisampled_render_to_texture 1
  1046. #ifdef GL_GLEXT_PROTOTYPES
  1047. GL_API void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1048. GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1049. #endif
  1050. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1051. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1052. #endif
  1053.  
  1054. /* GL_EXT_multi_draw_arrays */
  1055. #ifndef GL_EXT_multi_draw_arrays
  1056. #define GL_EXT_multi_draw_arrays 1
  1057. #ifdef GL_GLEXT_PROTOTYPES
  1058. GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  1059. GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  1060. #endif /* GL_GLEXT_PROTOTYPES */
  1061. typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  1062. typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  1063. #endif
  1064.  
  1065. /* GL_EXT_read_format_bgra */
  1066. #ifndef GL_EXT_read_format_bgra
  1067. #define GL_EXT_read_format_bgra 1
  1068. #endif
  1069.  
  1070. /* GL_EXT_robustness */
  1071. #ifndef GL_EXT_robustness
  1072. #define GL_EXT_robustness 1
  1073. #ifdef GL_GLEXT_PROTOTYPES
  1074. GL_API GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  1075. GL_API void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1076. GL_API void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
  1077. GL_API void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1078. #endif
  1079. typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  1080. typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1081. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
  1082. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1083. #endif
  1084.  
  1085. /* GL_EXT_sRGB */
  1086. #ifndef GL_EXT_sRGB
  1087. #define GL_EXT_sRGB 1
  1088. #endif
  1089.  
  1090. /* GL_EXT_texture_compression_dxt1 */
  1091. #ifndef GL_EXT_texture_compression_dxt1
  1092. #define GL_EXT_texture_compression_dxt1 1
  1093. #endif
  1094.  
  1095. /* GL_EXT_texture_filter_anisotropic */
  1096. #ifndef GL_EXT_texture_filter_anisotropic
  1097. #define GL_EXT_texture_filter_anisotropic 1
  1098. #endif
  1099.  
  1100. /* GL_EXT_texture_format_BGRA8888 */
  1101. #ifndef GL_EXT_texture_format_BGRA8888
  1102. #define GL_EXT_texture_format_BGRA8888 1
  1103. #endif
  1104.  
  1105. /* GL_EXT_texture_lod_bias */
  1106. #ifndef GL_EXT_texture_lod_bias
  1107. #define GL_EXT_texture_lod_bias 1
  1108. #endif
  1109.  
  1110. /* GL_EXT_texture_storage */
  1111. #ifndef GL_EXT_texture_storage
  1112. #define GL_EXT_texture_storage 1
  1113. #ifdef GL_GLEXT_PROTOTYPES
  1114. GL_API void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1115. GL_API void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1116. GL_API void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1117. GL_API void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1118. GL_API void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1119. GL_API void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1120. #endif
  1121. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1122. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1123. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1124. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1125. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1126. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1127. #endif
  1128.  
  1129. /*------------------------------------------------------------------------*
  1130.  * IMG extension functions
  1131.  *------------------------------------------------------------------------*/
  1132.  
  1133. /* GL_IMG_read_format */
  1134. #ifndef GL_IMG_read_format
  1135. #define GL_IMG_read_format 1
  1136. #endif
  1137.  
  1138. /* GL_IMG_texture_compression_pvrtc */
  1139. #ifndef GL_IMG_texture_compression_pvrtc
  1140. #define GL_IMG_texture_compression_pvrtc 1
  1141. #endif
  1142.  
  1143. /* GL_IMG_texture_env_enhanced_fixed_function */
  1144. #ifndef GL_IMG_texture_env_enhanced_fixed_function
  1145. #define GL_IMG_texture_env_enhanced_fixed_function 1
  1146. #endif
  1147.  
  1148. /* GL_IMG_user_clip_plane */
  1149. #ifndef GL_IMG_user_clip_plane
  1150. #define GL_IMG_user_clip_plane 1
  1151. #ifdef GL_GLEXT_PROTOTYPES
  1152. GL_API void GL_APIENTRY glClipPlanefIMG (GLenum, const GLfloat *);
  1153. GL_API void GL_APIENTRY glClipPlanexIMG (GLenum, const GLfixed *);
  1154. #endif
  1155. typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn);
  1156. typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn);
  1157. #endif
  1158.  
  1159. /* GL_IMG_multisampled_render_to_texture */
  1160. #ifndef GL_IMG_multisampled_render_to_texture
  1161. #define GL_IMG_multisampled_render_to_texture 1
  1162. #ifdef GL_GLEXT_PROTOTYPES
  1163. GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1164. GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1165. #endif
  1166. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1167. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1168. #endif
  1169.  
  1170. /*------------------------------------------------------------------------*
  1171.  * NV extension functions
  1172.  *------------------------------------------------------------------------*/
  1173.  
  1174. /* NV_fence */
  1175. #ifndef GL_NV_fence
  1176. #define GL_NV_fence 1
  1177. #ifdef GL_GLEXT_PROTOTYPES
  1178. GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  1179. GL_API void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  1180. GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  1181. GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  1182. GL_API void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  1183. GL_API void GL_APIENTRY glFinishFenceNV (GLuint);
  1184. GL_API void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  1185. #endif
  1186. typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1187. typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1188. typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1189. typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1190. typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1191. typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1192. typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1193. #endif
  1194.  
  1195. /*------------------------------------------------------------------------*
  1196.  * QCOM extension functions
  1197.  *------------------------------------------------------------------------*/
  1198.  
  1199. /* GL_QCOM_driver_control */
  1200. #ifndef GL_QCOM_driver_control
  1201. #define GL_QCOM_driver_control 1
  1202. #ifdef GL_GLEXT_PROTOTYPES
  1203. GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1204. GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1205. GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1206. GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1207. #endif
  1208. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1209. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1210. typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1211. typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1212. #endif
  1213.  
  1214. /* GL_QCOM_extended_get */
  1215. #ifndef GL_QCOM_extended_get
  1216. #define GL_QCOM_extended_get 1
  1217. #ifdef GL_GLEXT_PROTOTYPES
  1218. GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1219. GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1220. GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1221. GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1222. GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1223. GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1224. GL_API 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);
  1225. GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1226. #endif
  1227. typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1228. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1229. typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1230. typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1231. typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1232. typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1233. 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);
  1234. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1235. #endif
  1236.  
  1237. /* GL_QCOM_extended_get2 */
  1238. #ifndef GL_QCOM_extended_get2
  1239. #define GL_QCOM_extended_get2 1
  1240. #ifdef GL_GLEXT_PROTOTYPES
  1241. GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1242. GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1243. GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  1244. GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1245. #endif
  1246. typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1247. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1248. typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  1249. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1250. #endif
  1251.  
  1252. /* GL_QCOM_perfmon_global_mode */
  1253. #ifndef GL_QCOM_perfmon_global_mode
  1254. #define GL_QCOM_perfmon_global_mode 1
  1255. #endif
  1256.  
  1257. /* GL_QCOM_writeonly_rendering */
  1258. #ifndef GL_QCOM_writeonly_rendering
  1259. #define GL_QCOM_writeonly_rendering 1
  1260. #endif
  1261.  
  1262. /* GL_QCOM_tiled_rendering */
  1263. #ifndef GL_QCOM_tiled_rendering
  1264. #define GL_QCOM_tiled_rendering 1
  1265. #ifdef GL_GLEXT_PROTOTYPES
  1266. GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1267. GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  1268. #endif
  1269. typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1270. typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  1271. #endif
  1272.  
  1273. #ifdef __cplusplus
  1274. }
  1275. #endif
  1276.  
  1277. #endif /* __glext_h_ */
  1278.  
  1279.