Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef __gl2ext_h_
  2. #define __gl2ext_h_
  3.  
  4. /* $Revision: 10969 $ on $Date:: 2010-04-09 02:27:15 -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_compressed_ETC1_RGB8_texture */
  24. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  25. #define GL_ETC1_RGB8_OES                                        0x8D64
  26. #endif
  27.  
  28. /* GL_OES_compressed_paletted_texture */
  29. #ifndef GL_OES_compressed_paletted_texture
  30. #define GL_PALETTE4_RGB8_OES                                    0x8B90
  31. #define GL_PALETTE4_RGBA8_OES                                   0x8B91
  32. #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
  33. #define GL_PALETTE4_RGBA4_OES                                   0x8B93
  34. #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
  35. #define GL_PALETTE8_RGB8_OES                                    0x8B95
  36. #define GL_PALETTE8_RGBA8_OES                                   0x8B96
  37. #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
  38. #define GL_PALETTE8_RGBA4_OES                                   0x8B98
  39. #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
  40. #endif
  41.  
  42. /* GL_OES_depth24 */
  43. #ifndef GL_OES_depth24
  44. #define GL_DEPTH_COMPONENT24_OES                                0x81A6
  45. #endif
  46.  
  47. /* GL_OES_depth32 */
  48. #ifndef GL_OES_depth32
  49. #define GL_DEPTH_COMPONENT32_OES                                0x81A7
  50. #endif
  51.  
  52. /* GL_OES_depth_texture */
  53. /* No new tokens introduced by this extension. */
  54.  
  55. /* GL_OES_EGL_image */
  56. #ifndef GL_OES_EGL_image
  57. typedef void* GLeglImageOES;
  58. #endif
  59.  
  60. /* GL_OES_element_index_uint */
  61. #ifndef GL_OES_element_index_uint
  62. #define GL_UNSIGNED_INT                                         0x1405
  63. #endif
  64.  
  65. /* GL_OES_get_program_binary */
  66. #ifndef GL_OES_get_program_binary
  67. #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
  68. #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
  69. #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
  70. #endif
  71.  
  72. /* GL_OES_mapbuffer */
  73. #ifndef GL_OES_mapbuffer
  74. #define GL_WRITE_ONLY_OES                                       0x88B9
  75. #define GL_BUFFER_ACCESS_OES                                    0x88BB
  76. #define GL_BUFFER_MAPPED_OES                                    0x88BC
  77. #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
  78. #endif
  79.  
  80. /* GL_OES_packed_depth_stencil */
  81. #ifndef GL_OES_packed_depth_stencil
  82. #define GL_DEPTH_STENCIL_OES                                    0x84F9
  83. #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
  84. #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
  85. #endif
  86.  
  87. /* GL_OES_rgb8_rgba8 */
  88. #ifndef GL_OES_rgb8_rgba8
  89. #define GL_RGB8_OES                                             0x8051
  90. #define GL_RGBA8_OES                                            0x8058
  91. #endif
  92.  
  93. /* GL_OES_standard_derivatives */
  94. #ifndef GL_OES_standard_derivatives
  95. #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
  96. #endif
  97.  
  98. /* GL_OES_stencil1 */
  99. #ifndef GL_OES_stencil1
  100. #define GL_STENCIL_INDEX1_OES                                   0x8D46
  101. #endif
  102.  
  103. /* GL_OES_stencil4 */
  104. #ifndef GL_OES_stencil4
  105. #define GL_STENCIL_INDEX4_OES                                   0x8D47
  106. #endif
  107.  
  108. /* GL_OES_texture_3D */
  109. #ifndef GL_OES_texture_3D
  110. #define GL_TEXTURE_WRAP_R_OES                                   0x8072
  111. #define GL_TEXTURE_3D_OES                                       0x806F
  112. #define GL_TEXTURE_BINDING_3D_OES                               0x806A
  113. #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
  114. #define GL_SAMPLER_3D_OES                                       0x8B5F
  115. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
  116. #endif
  117.  
  118. /* GL_OES_texture_float */
  119. /* No new tokens introduced by this extension. */
  120.  
  121. /* GL_OES_texture_float_linear */
  122. /* No new tokens introduced by this extension. */
  123.  
  124. /* GL_OES_texture_half_float */
  125. #ifndef GL_OES_texture_half_float
  126. #define GL_HALF_FLOAT_OES                                       0x8D61
  127. #endif
  128.  
  129. /* GL_OES_texture_half_float_linear */
  130. /* No new tokens introduced by this extension. */
  131.  
  132. /* GL_OES_texture_npot */
  133. /* No new tokens introduced by this extension. */
  134.  
  135. /* GL_OES_vertex_array_object */
  136. #ifndef GL_OES_vertex_array_object
  137. #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
  138. #endif
  139.  
  140. /* GL_OES_vertex_half_float */
  141. /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
  142.  
  143. /* GL_OES_vertex_type_10_10_10_2 */
  144. #ifndef GL_OES_vertex_type_10_10_10_2
  145. #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
  146. #define GL_INT_10_10_10_2_OES                                   0x8DF7
  147. #endif
  148.  
  149. /*------------------------------------------------------------------------*
  150.  * AMD extension tokens
  151.  *------------------------------------------------------------------------*/
  152.  
  153. /* GL_AMD_compressed_3DC_texture */
  154. #ifndef GL_AMD_compressed_3DC_texture
  155. #define GL_3DC_X_AMD                                            0x87F9
  156. #define GL_3DC_XY_AMD                                           0x87FA
  157. #endif
  158.  
  159. /* GL_AMD_compressed_ATC_texture */
  160. #ifndef GL_AMD_compressed_ATC_texture
  161. #define GL_ATC_RGB_AMD                                          0x8C92
  162. #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
  163. #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
  164. #endif
  165.  
  166. /* GL_AMD_performance_monitor */
  167. #ifndef GL_AMD_performance_monitor
  168. #define GL_COUNTER_TYPE_AMD                                     0x8BC0
  169. #define GL_COUNTER_RANGE_AMD                                    0x8BC1
  170. #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
  171. #define GL_PERCENTAGE_AMD                                       0x8BC3
  172. #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
  173. #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
  174. #define GL_PERFMON_RESULT_AMD                                   0x8BC6
  175. #endif
  176.  
  177. /* GL_AMD_program_binary_Z400 */
  178. #ifndef GL_AMD_program_binary_Z400
  179. #define GL_Z400_BINARY_AMD                                      0x8740
  180. #endif
  181.  
  182. /*------------------------------------------------------------------------*
  183.  * EXT extension tokens
  184.  *------------------------------------------------------------------------*/
  185.  
  186. /* GL_EXT_blend_minmax */
  187. #ifndef GL_EXT_blend_minmax
  188. #define GL_MIN_EXT                                              0x8007
  189. #define GL_MAX_EXT                                              0x8008
  190. #endif
  191.  
  192. /* GL_EXT_discard_framebuffer */
  193. #ifndef GL_EXT_discard_framebuffer
  194. #define GL_COLOR_EXT                                            0x1800
  195. #define GL_DEPTH_EXT                                            0x1801
  196. #define GL_STENCIL_EXT                                          0x1802
  197. #endif
  198.  
  199. /* GL_EXT_multi_draw_arrays */
  200. /* No new tokens introduced by this extension. */
  201.  
  202. /* GL_EXT_read_format_bgra */
  203. #ifndef GL_EXT_read_format_bgra
  204. #define GL_BGRA_EXT                                             0x80E1
  205. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
  206. #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
  207. #endif
  208.  
  209. /* GL_EXT_texture_filter_anisotropic */
  210. #ifndef GL_EXT_texture_filter_anisotropic
  211. #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
  212. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
  213. #endif
  214.  
  215. /* GL_EXT_texture_format_BGRA8888 */
  216. #ifndef GL_EXT_texture_format_BGRA8888
  217. #define GL_BGRA_EXT                                             0x80E1
  218. #endif
  219.  
  220. /* GL_EXT_texture_type_2_10_10_10_REV */
  221. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  222. #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
  223. #endif
  224.  
  225. /* GL_EXT_texture_compression_dxt1 */
  226. #ifndef GL_EXT_texture_compression_dxt1
  227. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
  228. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
  229. #endif
  230.  
  231. /*------------------------------------------------------------------------*
  232.  * IMG extension tokens
  233.  *------------------------------------------------------------------------*/
  234.  
  235. /* GL_IMG_program_binary */
  236. #ifndef GL_IMG_program_binary
  237. #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
  238. #endif
  239.  
  240. /* GL_IMG_read_format */
  241. #ifndef GL_IMG_read_format
  242. #define GL_BGRA_IMG                                             0x80E1
  243. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
  244. #endif
  245.  
  246. /* GL_IMG_shader_binary */
  247. #ifndef GL_IMG_shader_binary
  248. #define GL_SGX_BINARY_IMG                                       0x8C0A
  249. #endif
  250.  
  251. /* GL_IMG_texture_compression_pvrtc */
  252. #ifndef GL_IMG_texture_compression_pvrtc
  253. #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
  254. #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
  255. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
  256. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
  257. #endif
  258.  
  259. /* GL_IMG_multisampled_render_to_texture */
  260. #ifndef GL_IMG_multisampled_render_to_texture
  261. #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
  262. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
  263. #define GL_MAX_SAMPLES_IMG                                      0x9135
  264. #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
  265. #endif
  266.  
  267. /*------------------------------------------------------------------------*
  268.  * NV extension tokens
  269.  *------------------------------------------------------------------------*/
  270.  
  271. /* GL_NV_fence */
  272. #ifndef GL_NV_fence
  273. #define GL_ALL_COMPLETED_NV                                     0x84F2
  274. #define GL_FENCE_STATUS_NV                                      0x84F3
  275. #define GL_FENCE_CONDITION_NV                                   0x84F4
  276. #endif
  277.  
  278. /* GL_NV_coverage_sample */
  279. #ifndef GL_NV_coverage_sample
  280. #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
  281. #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
  282. #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
  283. #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
  284. #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
  285. #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
  286. #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
  287. #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
  288. #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
  289. #endif
  290.  
  291. /* GL_NV_depth_nonlinear */
  292. #ifndef GL_NV_depth_nonlinear
  293. #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
  294. #endif
  295.  
  296. /*------------------------------------------------------------------------*
  297.  * QCOM extension tokens
  298.  *------------------------------------------------------------------------*/
  299.  
  300. /* GL_QCOM_driver_control */
  301. /* No new tokens introduced by this extension. */
  302.  
  303. /* GL_QCOM_extended_get */
  304. #ifndef GL_QCOM_extended_get
  305. #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
  306. #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
  307. #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
  308. #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
  309. #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
  310. #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
  311. #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
  312. #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
  313. #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
  314. #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
  315. #define GL_STATE_RESTORE                                        0x8BDC
  316. #endif
  317.  
  318. /* GL_QCOM_extended_get2 */
  319. /* No new tokens introduced by this extension. */
  320.  
  321. /* GL_QCOM_perfmon_global_mode */
  322. #ifndef GL_QCOM_perfmon_global_mode
  323. #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
  324. #endif
  325.  
  326. /* GL_QCOM_writeonly_rendering */
  327. #ifndef GL_QCOM_writeonly_rendering
  328. #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
  329. #endif
  330.  
  331. /* GL_QCOM_tiled_rendering */
  332. #ifndef GL_QCOM_tiled_rendering
  333. #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
  334. #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
  335. #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
  336. #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
  337. #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
  338. #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
  339. #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
  340. #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
  341. #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
  342. #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
  343. #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
  344. #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
  345. #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
  346. #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
  347. #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
  348. #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
  349. #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
  350. #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
  351. #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
  352. #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
  353. #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
  354. #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
  355. #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
  356. #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
  357. #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
  358. #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
  359. #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
  360. #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
  361. #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
  362. #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
  363. #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
  364. #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
  365. #endif
  366.  
  367. /*------------------------------------------------------------------------*
  368.  * End of extension tokens, start of corresponding extension functions
  369.  *------------------------------------------------------------------------*/
  370.  
  371. /*------------------------------------------------------------------------*
  372.  * OES extension functions
  373.  *------------------------------------------------------------------------*/
  374.  
  375. /* GL_OES_compressed_ETC1_RGB8_texture */
  376. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  377. #define GL_OES_compressed_ETC1_RGB8_texture 1
  378. #endif
  379.  
  380. /* GL_OES_compressed_paletted_texture */
  381. #ifndef GL_OES_compressed_paletted_texture
  382. #define GL_OES_compressed_paletted_texture 1
  383. #endif
  384.  
  385. /* GL_OES_depth24 */
  386. #ifndef GL_OES_depth24
  387. #define GL_OES_depth24 1
  388. #endif
  389.  
  390. /* GL_OES_depth32 */
  391. #ifndef GL_OES_depth32
  392. #define GL_OES_depth32 1
  393. #endif
  394.  
  395. /* GL_OES_depth_texture */
  396. #ifndef GL_OES_depth_texture
  397. #define GL_OES_depth_texture 1
  398. #endif
  399.  
  400. /* GL_OES_EGL_image */
  401. #ifndef GL_OES_EGL_image
  402. #define GL_OES_EGL_image 1
  403. #ifdef GL_GLEXT_PROTOTYPES
  404. GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  405. GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  406. #endif
  407. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  408. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  409. #endif
  410.  
  411. /* GL_OES_element_index_uint */
  412. #ifndef GL_OES_element_index_uint
  413. #define GL_OES_element_index_uint 1
  414. #endif
  415.  
  416. /* GL_OES_fbo_render_mipmap */
  417. #ifndef GL_OES_fbo_render_mipmap
  418. #define GL_OES_fbo_render_mipmap 1
  419. #endif
  420.  
  421. /* GL_OES_fragment_precision_high */
  422. #ifndef GL_OES_fragment_precision_high
  423. #define GL_OES_fragment_precision_high 1
  424. #endif
  425.  
  426. /* GL_OES_get_program_binary */
  427. #ifndef GL_OES_get_program_binary
  428. #define GL_OES_get_program_binary 1
  429. #ifdef GL_GLEXT_PROTOTYPES
  430. GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  431. GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  432. #endif
  433. typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  434. typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  435. #endif
  436.  
  437. /* GL_OES_mapbuffer */
  438. #ifndef GL_OES_mapbuffer
  439. #define GL_OES_mapbuffer 1
  440. #ifdef GL_GLEXT_PROTOTYPES
  441. GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  442. GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  443. GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
  444. #endif
  445. typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  446. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  447. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
  448. #endif
  449.  
  450. /* GL_OES_packed_depth_stencil */
  451. #ifndef GL_OES_packed_depth_stencil
  452. #define GL_OES_packed_depth_stencil 1
  453. #endif
  454.  
  455. /* GL_OES_rgb8_rgba8 */
  456. #ifndef GL_OES_rgb8_rgba8
  457. #define GL_OES_rgb8_rgba8 1
  458. #endif
  459.  
  460. /* GL_OES_standard_derivatives */
  461. #ifndef GL_OES_standard_derivatives
  462. #define GL_OES_standard_derivatives 1
  463. #endif
  464.  
  465. /* GL_OES_stencil1 */
  466. #ifndef GL_OES_stencil1
  467. #define GL_OES_stencil1 1
  468. #endif
  469.  
  470. /* GL_OES_stencil4 */
  471. #ifndef GL_OES_stencil4
  472. #define GL_OES_stencil4 1
  473. #endif
  474.  
  475. /* GL_OES_texture_3D */
  476. #ifndef GL_OES_texture_3D
  477. #define GL_OES_texture_3D 1
  478. #ifdef GL_GLEXT_PROTOTYPES
  479. 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);
  480. 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);
  481. GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  482. 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);
  483. 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);
  484. GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  485. #endif
  486. 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);
  487. 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);
  488. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  489. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  490. 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);
  491. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  492. #endif
  493.  
  494. /* GL_OES_texture_float */
  495. #ifndef GL_OES_texture_float
  496. #define GL_OES_texture_float 1
  497. #endif
  498.  
  499. /* GL_OES_texture_float_linear */
  500. #ifndef GL_OES_texture_float_linear
  501. #define GL_OES_texture_float_linear 1
  502. #endif
  503.  
  504. /* GL_OES_texture_half_float */
  505. #ifndef GL_OES_texture_half_float
  506. #define GL_OES_texture_half_float 1
  507. #endif
  508.  
  509. /* GL_OES_texture_half_float_linear */
  510. #ifndef GL_OES_texture_half_float_linear
  511. #define GL_OES_texture_half_float_linear 1
  512. #endif
  513.  
  514. /* GL_OES_texture_npot */
  515. #ifndef GL_OES_texture_npot
  516. #define GL_OES_texture_npot 1
  517. #endif
  518.  
  519. /* GL_OES_vertex_array_object */
  520. #ifndef GL_OES_vertex_array_object
  521. #define GL_OES_vertex_array_object 1
  522. #ifdef GL_GLEXT_PROTOTYPES
  523. GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  524. GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  525. GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  526. GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  527. #endif
  528. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  529. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  530. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  531. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  532. #endif
  533.  
  534. /* GL_OES_vertex_half_float */
  535. #ifndef GL_OES_vertex_half_float
  536. #define GL_OES_vertex_half_float 1
  537. #endif
  538.  
  539. /* GL_OES_vertex_type_10_10_10_2 */
  540. #ifndef GL_OES_vertex_type_10_10_10_2
  541. #define GL_OES_vertex_type_10_10_10_2 1
  542. #endif
  543.  
  544. /*------------------------------------------------------------------------*
  545.  * AMD extension functions
  546.  *------------------------------------------------------------------------*/
  547.  
  548. /* GL_AMD_compressed_3DC_texture */
  549. #ifndef GL_AMD_compressed_3DC_texture
  550. #define GL_AMD_compressed_3DC_texture 1
  551. #endif
  552.  
  553. /* GL_AMD_compressed_ATC_texture */
  554. #ifndef GL_AMD_compressed_ATC_texture
  555. #define GL_AMD_compressed_ATC_texture 1
  556. #endif
  557.  
  558. /* AMD_performance_monitor */
  559. #ifndef GL_AMD_performance_monitor
  560. #define GL_AMD_performance_monitor 1
  561. #ifdef GL_GLEXT_PROTOTYPES
  562. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  563. GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  564. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  565. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  566. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  567. GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  568. GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  569. GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  570. GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  571. GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  572. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  573. #endif
  574. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  575. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  576. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  577. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  578. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  579. typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  580. typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  581. typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  582. typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  583. typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  584. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  585. #endif
  586.  
  587. /* GL_AMD_program_binary_Z400 */
  588. #ifndef GL_AMD_program_binary_Z400
  589. #define GL_AMD_program_binary_Z400 1
  590. #endif
  591.  
  592. /*------------------------------------------------------------------------*
  593.  * EXT extension functions
  594.  *------------------------------------------------------------------------*/
  595.  
  596. /* GL_EXT_blend_minmax */
  597. #ifndef GL_EXT_blend_minmax
  598. #define GL_EXT_blend_minmax 1
  599. #endif
  600.  
  601. /* GL_EXT_discard_framebuffer */
  602. #ifndef GL_EXT_discard_framebuffer
  603. #define GL_EXT_discard_framebuffer 1
  604. #ifdef GL_GLEXT_PROTOTYPES
  605. GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  606. #endif
  607. typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  608. #endif
  609.  
  610. #ifndef GL_EXT_multi_draw_arrays
  611. #define GL_EXT_multi_draw_arrays 1
  612. #ifdef GL_GLEXT_PROTOTYPES
  613. GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  614. GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  615. #endif /* GL_GLEXT_PROTOTYPES */
  616. typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  617. typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  618. #endif
  619.  
  620. /* GL_EXT_read_format_bgra */
  621. #ifndef GL_EXT_read_format_bgra
  622. #define GL_EXT_read_format_bgra 1
  623. #endif
  624.  
  625. /* GL_EXT_texture_filter_anisotropic */
  626. #ifndef GL_EXT_texture_filter_anisotropic
  627. #define GL_EXT_texture_filter_anisotropic 1
  628. #endif
  629.  
  630. /* GL_EXT_texture_format_BGRA8888 */
  631. #ifndef GL_EXT_texture_format_BGRA8888
  632. #define GL_EXT_texture_format_BGRA8888 1
  633. #endif
  634.  
  635. /* GL_EXT_texture_type_2_10_10_10_REV */
  636. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  637. #define GL_EXT_texture_type_2_10_10_10_REV 1
  638. #endif
  639.  
  640. /* GL_EXT_texture_compression_dxt1 */
  641. #ifndef GL_EXT_texture_compression_dxt1
  642. #define GL_EXT_texture_compression_dxt1 1
  643. #endif
  644.  
  645. /*------------------------------------------------------------------------*
  646.  * IMG extension functions
  647.  *------------------------------------------------------------------------*/
  648.  
  649. /* GL_IMG_program_binary */
  650. #ifndef GL_IMG_program_binary
  651. #define GL_IMG_program_binary 1
  652. #endif
  653.  
  654. /* GL_IMG_read_format */
  655. #ifndef GL_IMG_read_format
  656. #define GL_IMG_read_format 1
  657. #endif
  658.  
  659. /* GL_IMG_shader_binary */
  660. #ifndef GL_IMG_shader_binary
  661. #define GL_IMG_shader_binary 1
  662. #endif
  663.  
  664. /* GL_IMG_texture_compression_pvrtc */
  665. #ifndef GL_IMG_texture_compression_pvrtc
  666. #define GL_IMG_texture_compression_pvrtc 1
  667. #endif
  668.  
  669. /* GL_IMG_multisampled_render_to_texture */
  670. #ifndef GL_IMG_multisampled_render_to_texture
  671. #define GL_IMG_multisampled_render_to_texture 1
  672. #ifdef GL_GLEXT_PROTOTYPES
  673. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  674. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  675. #endif
  676. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  677. typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  678. #endif
  679.  
  680. /*------------------------------------------------------------------------*
  681.  * NV extension functions
  682.  *------------------------------------------------------------------------*/
  683.  
  684. /* GL_NV_fence */
  685. #ifndef GL_NV_fence
  686. #define GL_NV_fence 1
  687. #ifdef GL_GLEXT_PROTOTYPES
  688. GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  689. GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  690. GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  691. GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  692. GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  693. GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  694. GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  695. #endif
  696. typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  697. typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  698. typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  699. typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  700. typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  701. typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  702. typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  703. #endif
  704.  
  705. /* GL_NV_coverage_sample */
  706. #ifndef GL_NV_coverage_sample
  707. #define GL_NV_coverage_sample 1
  708. #ifdef GL_GLEXT_PROTOTYPES
  709. GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  710. GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  711. #endif
  712. typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  713. typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  714. #endif
  715.  
  716. /* GL_NV_depth_nonlinear */
  717. #ifndef GL_NV_depth_nonlinear
  718. #define GL_NV_depth_nonlinear 1
  719. #endif
  720.  
  721. /*------------------------------------------------------------------------*
  722.  * QCOM extension functions
  723.  *------------------------------------------------------------------------*/
  724.  
  725. /* GL_QCOM_driver_control */
  726. #ifndef GL_QCOM_driver_control
  727. #define GL_QCOM_driver_control 1
  728. #ifdef GL_GLEXT_PROTOTYPES
  729. GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  730. GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  731. GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  732. GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  733. #endif
  734. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  735. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  736. typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  737. typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  738. #endif
  739.  
  740. /* GL_QCOM_extended_get */
  741. #ifndef GL_QCOM_extended_get
  742. #define GL_QCOM_extended_get 1
  743. #ifdef GL_GLEXT_PROTOTYPES
  744. GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  745. GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  746. GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  747. GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  748. GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  749. GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  750. 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);
  751. GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  752. #endif
  753. typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  754. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  755. typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  756. typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  757. typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  758. typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  759. 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);
  760. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  761. #endif
  762.  
  763. /* GL_QCOM_extended_get2 */
  764. #ifndef GL_QCOM_extended_get2
  765. #define GL_QCOM_extended_get2 1
  766. #ifdef GL_GLEXT_PROTOTYPES
  767. GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  768. GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  769. GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  770. GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  771. #endif
  772. typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  773. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  774. typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  775. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  776. #endif
  777.  
  778. /* GL_QCOM_perfmon_global_mode */
  779. #ifndef GL_QCOM_perfmon_global_mode
  780. #define GL_QCOM_perfmon_global_mode 1
  781. #endif
  782.  
  783. /* GL_QCOM_writeonly_rendering */
  784. #ifndef GL_QCOM_writeonly_rendering
  785. #define GL_QCOM_writeonly_rendering 1
  786. #endif
  787.  
  788. /* GL_QCOM_tiled_rendering */
  789. #ifndef GL_QCOM_tiled_rendering
  790. #define GL_QCOM_tiled_rendering 1
  791. #ifdef GL_GLEXT_PROTOTYPES
  792. GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  793. GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  794. #endif
  795. typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  796. typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  797. #endif
  798.  
  799. #ifdef __cplusplus
  800. }
  801. #endif
  802.  
  803. #endif /* __gl2ext_h_ */
  804.