glext.h 63 KB

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