gl2ext.h 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138
  1. #ifndef __gl2ext_h_
  2. #define __gl2ext_h_
  3. /* $Revision: 15049 $ on $Date:: 2011-07-06 17:28:16 -0700 #$ */
  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_compressed_ETC1_RGB8_texture */
  18. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  19. #define GL_ETC1_RGB8_OES 0x8D64
  20. #endif
  21. /* GL_OES_compressed_paletted_texture */
  22. #ifndef GL_OES_compressed_paletted_texture
  23. #define GL_PALETTE4_RGB8_OES 0x8B90
  24. #define GL_PALETTE4_RGBA8_OES 0x8B91
  25. #define GL_PALETTE4_R5_G6_B5_OES 0x8B92
  26. #define GL_PALETTE4_RGBA4_OES 0x8B93
  27. #define GL_PALETTE4_RGB5_A1_OES 0x8B94
  28. #define GL_PALETTE8_RGB8_OES 0x8B95
  29. #define GL_PALETTE8_RGBA8_OES 0x8B96
  30. #define GL_PALETTE8_R5_G6_B5_OES 0x8B97
  31. #define GL_PALETTE8_RGBA4_OES 0x8B98
  32. #define GL_PALETTE8_RGB5_A1_OES 0x8B99
  33. #endif
  34. /* GL_OES_depth24 */
  35. #ifndef GL_OES_depth24
  36. #define GL_DEPTH_COMPONENT24_OES 0x81A6
  37. #endif
  38. /* GL_OES_depth32 */
  39. #ifndef GL_OES_depth32
  40. #define GL_DEPTH_COMPONENT32_OES 0x81A7
  41. #endif
  42. /* GL_OES_depth_texture */
  43. /* No new tokens introduced by this extension. */
  44. /* GL_OES_EGL_image */
  45. #ifndef GL_OES_EGL_image
  46. typedef void* GLeglImageOES;
  47. #endif
  48. /* GL_OES_EGL_image_external */
  49. #ifndef GL_OES_EGL_image_external
  50. /* GLeglImageOES defined in GL_OES_EGL_image already. */
  51. #define GL_TEXTURE_EXTERNAL_OES 0x8D65
  52. #define GL_SAMPLER_EXTERNAL_OES 0x8D66
  53. #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
  54. #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
  55. #endif
  56. /* GL_OES_element_index_uint */
  57. #ifndef GL_OES_element_index_uint
  58. #define GL_UNSIGNED_INT 0x1405
  59. #endif
  60. /* GL_OES_get_program_binary */
  61. #ifndef GL_OES_get_program_binary
  62. #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
  63. #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
  64. #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
  65. #endif
  66. /* GL_OES_mapbuffer */
  67. #ifndef GL_OES_mapbuffer
  68. #define GL_WRITE_ONLY_OES 0x88B9
  69. #define GL_BUFFER_ACCESS_OES 0x88BB
  70. #define GL_BUFFER_MAPPED_OES 0x88BC
  71. #define GL_BUFFER_MAP_POINTER_OES 0x88BD
  72. #endif
  73. /* GL_OES_packed_depth_stencil */
  74. #ifndef GL_OES_packed_depth_stencil
  75. #define GL_DEPTH_STENCIL_OES 0x84F9
  76. #define GL_UNSIGNED_INT_24_8_OES 0x84FA
  77. #define GL_DEPTH24_STENCIL8_OES 0x88F0
  78. #endif
  79. /* GL_OES_rgb8_rgba8 */
  80. #ifndef GL_OES_rgb8_rgba8
  81. #define GL_RGB8_OES 0x8051
  82. #define GL_RGBA8_OES 0x8058
  83. #endif
  84. /* GL_OES_standard_derivatives */
  85. #ifndef GL_OES_standard_derivatives
  86. #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
  87. #endif
  88. /* GL_OES_stencil1 */
  89. #ifndef GL_OES_stencil1
  90. #define GL_STENCIL_INDEX1_OES 0x8D46
  91. #endif
  92. /* GL_OES_stencil4 */
  93. #ifndef GL_OES_stencil4
  94. #define GL_STENCIL_INDEX4_OES 0x8D47
  95. #endif
  96. /* GL_OES_texture_3D */
  97. #ifndef GL_OES_texture_3D
  98. #define GL_TEXTURE_WRAP_R_OES 0x8072
  99. #define GL_TEXTURE_3D_OES 0x806F
  100. #define GL_TEXTURE_BINDING_3D_OES 0x806A
  101. #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
  102. #define GL_SAMPLER_3D_OES 0x8B5F
  103. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
  104. #endif
  105. /* GL_OES_texture_float */
  106. /* No new tokens introduced by this extension. */
  107. /* GL_OES_texture_float_linear */
  108. /* No new tokens introduced by this extension. */
  109. /* GL_OES_texture_half_float */
  110. #ifndef GL_OES_texture_half_float
  111. #define GL_HALF_FLOAT_OES 0x8D61
  112. #endif
  113. /* GL_OES_texture_half_float_linear */
  114. /* No new tokens introduced by this extension. */
  115. /* GL_OES_texture_npot */
  116. /* No new tokens introduced by this extension. */
  117. /* GL_OES_vertex_array_object */
  118. #ifndef GL_OES_vertex_array_object
  119. #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
  120. #endif
  121. /* GL_OES_vertex_half_float */
  122. /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
  123. /* GL_OES_vertex_type_10_10_10_2 */
  124. #ifndef GL_OES_vertex_type_10_10_10_2
  125. #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
  126. #define GL_INT_10_10_10_2_OES 0x8DF7
  127. #endif
  128. /*------------------------------------------------------------------------*
  129. * AMD extension tokens
  130. *------------------------------------------------------------------------*/
  131. /* GL_AMD_compressed_3DC_texture */
  132. #ifndef GL_AMD_compressed_3DC_texture
  133. #define GL_3DC_X_AMD 0x87F9
  134. #define GL_3DC_XY_AMD 0x87FA
  135. #endif
  136. /* GL_AMD_compressed_ATC_texture */
  137. #ifndef GL_AMD_compressed_ATC_texture
  138. #define GL_ATC_RGB_AMD 0x8C92
  139. #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
  140. #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
  141. #endif
  142. /* GL_AMD_performance_monitor */
  143. #ifndef GL_AMD_performance_monitor
  144. #define GL_COUNTER_TYPE_AMD 0x8BC0
  145. #define GL_COUNTER_RANGE_AMD 0x8BC1
  146. #define GL_UNSIGNED_INT64_AMD 0x8BC2
  147. #define GL_PERCENTAGE_AMD 0x8BC3
  148. #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
  149. #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
  150. #define GL_PERFMON_RESULT_AMD 0x8BC6
  151. #endif
  152. /* GL_AMD_program_binary_Z400 */
  153. #ifndef GL_AMD_program_binary_Z400
  154. #define GL_Z400_BINARY_AMD 0x8740
  155. #endif
  156. /*------------------------------------------------------------------------*
  157. * ANGLE extension tokens
  158. *------------------------------------------------------------------------*/
  159. /* GL_ANGLE_framebuffer_blit */
  160. #ifndef GL_ANGLE_framebuffer_blit
  161. #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
  162. #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
  163. #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
  164. #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
  165. #endif
  166. /* GL_ANGLE_framebuffer_multisample */
  167. #ifndef GL_ANGLE_framebuffer_multisample
  168. #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
  169. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
  170. #define GL_MAX_SAMPLES_ANGLE 0x8D57
  171. #endif
  172. /*------------------------------------------------------------------------*
  173. * APPLE extension tokens
  174. *------------------------------------------------------------------------*/
  175. /* GL_APPLE_rgb_422 */
  176. #ifndef GL_APPLE_rgb_422
  177. #define GL_RGB_422_APPLE 0x8A1F
  178. #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
  179. #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
  180. #endif
  181. /* GL_APPLE_framebuffer_multisample */
  182. #ifndef GL_APPLE_framebuffer_multisample
  183. #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
  184. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
  185. #define GL_MAX_SAMPLES_APPLE 0x8D57
  186. #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
  187. #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
  188. #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
  189. #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
  190. #endif
  191. /* GL_APPLE_texture_format_BGRA8888 */
  192. #ifndef GL_APPLE_texture_format_BGRA8888
  193. #define GL_BGRA_EXT 0x80E1
  194. #endif
  195. /* GL_APPLE_texture_max_level */
  196. #ifndef GL_APPLE_texture_max_level
  197. #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
  198. #endif
  199. /*------------------------------------------------------------------------*
  200. * ARM extension tokens
  201. *------------------------------------------------------------------------*/
  202. /* GL_ARM_mali_shader_binary */
  203. #ifndef GL_ARM_mali_shader_binary
  204. #define GL_MALI_SHADER_BINARY_ARM 0x8F60
  205. #endif
  206. /* GL_ARM_rgba8 */
  207. /* No new tokens introduced by this extension. */
  208. /*------------------------------------------------------------------------*
  209. * EXT extension tokens
  210. *------------------------------------------------------------------------*/
  211. /* GL_EXT_blend_minmax */
  212. #ifndef GL_EXT_blend_minmax
  213. #define GL_MIN_EXT 0x8007
  214. #define GL_MAX_EXT 0x8008
  215. #endif
  216. /* GL_EXT_discard_framebuffer */
  217. #ifndef GL_EXT_discard_framebuffer
  218. #define GL_COLOR_EXT 0x1800
  219. #define GL_DEPTH_EXT 0x1801
  220. #define GL_STENCIL_EXT 0x1802
  221. #endif
  222. /* GL_EXT_multi_draw_arrays */
  223. /* No new tokens introduced by this extension. */
  224. /* GL_EXT_read_format_bgra */
  225. #ifndef GL_EXT_read_format_bgra
  226. #define GL_BGRA_EXT 0x80E1
  227. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
  228. #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
  229. #endif
  230. /* GL_EXT_shader_texture_lod */
  231. /* No new tokens introduced by this extension. */
  232. /* GL_EXT_texture_filter_anisotropic */
  233. #ifndef GL_EXT_texture_filter_anisotropic
  234. #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
  235. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
  236. #endif
  237. /* GL_EXT_texture_format_BGRA8888 */
  238. #ifndef GL_EXT_texture_format_BGRA8888
  239. #define GL_BGRA_EXT 0x80E1
  240. #endif
  241. /* GL_EXT_texture_type_2_10_10_10_REV */
  242. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  243. #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
  244. #endif
  245. /* GL_EXT_texture_compression_dxt1 */
  246. #ifndef GL_EXT_texture_compression_dxt1
  247. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
  248. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
  249. #endif
  250. /* GL_EXT_unpack_subimage */
  251. #ifndef GL_EXT_unpack_subimage
  252. #define GL_UNPACK_ROW_LENGTH 0x0CF2
  253. #define GL_UNPACK_SKIP_ROWS 0x0CF3
  254. #define GL_UNPACK_SKIP_PIXELS 0x0CF4
  255. #endif
  256. /*------------------------------------------------------------------------*
  257. * DMP extension tokens
  258. *------------------------------------------------------------------------*/
  259. /* GL_DMP_shader_binary */
  260. #ifndef GL_DMP_shader_binary
  261. #define GL_SHADER_BINARY_DMP 0x9250
  262. #endif
  263. /*------------------------------------------------------------------------*
  264. * IMG extension tokens
  265. *------------------------------------------------------------------------*/
  266. /* GL_IMG_program_binary */
  267. #ifndef GL_IMG_program_binary
  268. #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
  269. #endif
  270. /* GL_IMG_read_format */
  271. #ifndef GL_IMG_read_format
  272. #define GL_BGRA_IMG 0x80E1
  273. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
  274. #endif
  275. /* GL_IMG_shader_binary */
  276. #ifndef GL_IMG_shader_binary
  277. #define GL_SGX_BINARY_IMG 0x8C0A
  278. #endif
  279. /* GL_IMG_texture_compression_pvrtc */
  280. #ifndef GL_IMG_texture_compression_pvrtc
  281. #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
  282. #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
  283. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
  284. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
  285. #endif
  286. /* GL_IMG_multisampled_render_to_texture */
  287. #ifndef GL_IMG_multisampled_render_to_texture
  288. #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
  289. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
  290. #define GL_MAX_SAMPLES_IMG 0x9135
  291. #define GL_TEXTURE_SAMPLES_IMG 0x9136
  292. #endif
  293. /*------------------------------------------------------------------------*
  294. * NV extension tokens
  295. *------------------------------------------------------------------------*/
  296. /* GL_NV_coverage_sample */
  297. #ifndef GL_NV_coverage_sample
  298. #define GL_COVERAGE_COMPONENT_NV 0x8ED0
  299. #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
  300. #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
  301. #define GL_COVERAGE_BUFFERS_NV 0x8ED3
  302. #define GL_COVERAGE_SAMPLES_NV 0x8ED4
  303. #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
  304. #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
  305. #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
  306. #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
  307. #endif
  308. /* GL_NV_depth_nonlinear */
  309. #ifndef GL_NV_depth_nonlinear
  310. #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
  311. #endif
  312. /* GL_NV_draw_buffers */
  313. #ifndef GL_NV_draw_buffers
  314. #define GL_MAX_DRAW_BUFFERS_NV 0x8824
  315. #define GL_DRAW_BUFFER0_NV 0x8825
  316. #define GL_DRAW_BUFFER1_NV 0x8826
  317. #define GL_DRAW_BUFFER2_NV 0x8827
  318. #define GL_DRAW_BUFFER3_NV 0x8828
  319. #define GL_DRAW_BUFFER4_NV 0x8829
  320. #define GL_DRAW_BUFFER5_NV 0x882A
  321. #define GL_DRAW_BUFFER6_NV 0x882B
  322. #define GL_DRAW_BUFFER7_NV 0x882C
  323. #define GL_DRAW_BUFFER8_NV 0x882D
  324. #define GL_DRAW_BUFFER9_NV 0x882E
  325. #define GL_DRAW_BUFFER10_NV 0x882F
  326. #define GL_DRAW_BUFFER11_NV 0x8830
  327. #define GL_DRAW_BUFFER12_NV 0x8831
  328. #define GL_DRAW_BUFFER13_NV 0x8832
  329. #define GL_DRAW_BUFFER14_NV 0x8833
  330. #define GL_DRAW_BUFFER15_NV 0x8834
  331. #define GL_COLOR_ATTACHMENT0_NV 0x8CE0
  332. #define GL_COLOR_ATTACHMENT1_NV 0x8CE1
  333. #define GL_COLOR_ATTACHMENT2_NV 0x8CE2
  334. #define GL_COLOR_ATTACHMENT3_NV 0x8CE3
  335. #define GL_COLOR_ATTACHMENT4_NV 0x8CE4
  336. #define GL_COLOR_ATTACHMENT5_NV 0x8CE5
  337. #define GL_COLOR_ATTACHMENT6_NV 0x8CE6
  338. #define GL_COLOR_ATTACHMENT7_NV 0x8CE7
  339. #define GL_COLOR_ATTACHMENT8_NV 0x8CE8
  340. #define GL_COLOR_ATTACHMENT9_NV 0x8CE9
  341. #define GL_COLOR_ATTACHMENT10_NV 0x8CEA
  342. #define GL_COLOR_ATTACHMENT11_NV 0x8CEB
  343. #define GL_COLOR_ATTACHMENT12_NV 0x8CEC
  344. #define GL_COLOR_ATTACHMENT13_NV 0x8CED
  345. #define GL_COLOR_ATTACHMENT14_NV 0x8CEE
  346. #define GL_COLOR_ATTACHMENT15_NV 0x8CEF
  347. #endif
  348. /* GL_NV_fbo_color_attachments */
  349. #ifndef GL_NV_fbo_color_attachments
  350. #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
  351. /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
  352. #endif
  353. /* GL_NV_fence */
  354. #ifndef GL_NV_fence
  355. #define GL_ALL_COMPLETED_NV 0x84F2
  356. #define GL_FENCE_STATUS_NV 0x84F3
  357. #define GL_FENCE_CONDITION_NV 0x84F4
  358. #endif
  359. /* GL_NV_read_buffer */
  360. #ifndef GL_NV_read_buffer
  361. #define GL_READ_BUFFER_NV 0x0C02
  362. #endif
  363. /* GL_NV_read_buffer_front */
  364. /* No new tokens introduced by this extension. */
  365. /* GL_NV_read_depth */
  366. /* No new tokens introduced by this extension. */
  367. /* GL_NV_read_depth_stencil */
  368. /* No new tokens introduced by this extension. */
  369. /* GL_NV_read_stencil */
  370. /* No new tokens introduced by this extension. */
  371. /* GL_NV_texture_compression_s3tc_update */
  372. /* No new tokens introduced by this extension. */
  373. /* GL_NV_texture_npot_2D_mipmap */
  374. /* No new tokens introduced by this extension. */
  375. /*------------------------------------------------------------------------*
  376. * QCOM extension tokens
  377. *------------------------------------------------------------------------*/
  378. /* GL_QCOM_alpha_test */
  379. #ifndef GL_QCOM_alpha_test
  380. #define GL_ALPHA_TEST_QCOM 0x0BC0
  381. #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
  382. #define GL_ALPHA_TEST_REF_QCOM 0x0BC2
  383. #endif
  384. /* GL_QCOM_driver_control */
  385. /* No new tokens introduced by this extension. */
  386. /* GL_QCOM_extended_get */
  387. #ifndef GL_QCOM_extended_get
  388. #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
  389. #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
  390. #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
  391. #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
  392. #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
  393. #define GL_TEXTURE_TYPE_QCOM 0x8BD7
  394. #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
  395. #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
  396. #define GL_TEXTURE_TARGET_QCOM 0x8BDA
  397. #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
  398. #define GL_STATE_RESTORE 0x8BDC
  399. #endif
  400. /* GL_QCOM_extended_get2 */
  401. /* No new tokens introduced by this extension. */
  402. /* GL_QCOM_perfmon_global_mode */
  403. #ifndef GL_QCOM_perfmon_global_mode
  404. #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
  405. #endif
  406. /* GL_QCOM_writeonly_rendering */
  407. #ifndef GL_QCOM_writeonly_rendering
  408. #define GL_WRITEONLY_RENDERING_QCOM 0x8823
  409. #endif
  410. /* GL_QCOM_tiled_rendering */
  411. #ifndef GL_QCOM_tiled_rendering
  412. #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
  413. #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
  414. #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
  415. #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
  416. #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
  417. #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
  418. #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
  419. #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
  420. #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
  421. #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
  422. #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
  423. #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
  424. #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
  425. #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
  426. #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
  427. #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
  428. #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
  429. #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
  430. #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
  431. #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
  432. #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
  433. #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
  434. #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
  435. #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
  436. #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
  437. #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
  438. #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
  439. #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
  440. #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
  441. #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
  442. #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
  443. #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
  444. #endif
  445. /*------------------------------------------------------------------------*
  446. * VIV extension tokens
  447. *------------------------------------------------------------------------*/
  448. /* GL_VIV_shader_binary */
  449. #ifndef GL_VIV_shader_binary
  450. #define GL_SHADER_BINARY_VIV 0x8FC4
  451. #endif
  452. /*------------------------------------------------------------------------*
  453. * End of extension tokens, start of corresponding extension functions
  454. *------------------------------------------------------------------------*/
  455. /*------------------------------------------------------------------------*
  456. * OES extension functions
  457. *------------------------------------------------------------------------*/
  458. /* GL_OES_compressed_ETC1_RGB8_texture */
  459. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  460. #define GL_OES_compressed_ETC1_RGB8_texture 1
  461. #endif
  462. /* GL_OES_compressed_paletted_texture */
  463. #ifndef GL_OES_compressed_paletted_texture
  464. #define GL_OES_compressed_paletted_texture 1
  465. #endif
  466. /* GL_OES_depth24 */
  467. #ifndef GL_OES_depth24
  468. #define GL_OES_depth24 1
  469. #endif
  470. /* GL_OES_depth32 */
  471. #ifndef GL_OES_depth32
  472. #define GL_OES_depth32 1
  473. #endif
  474. /* GL_OES_depth_texture */
  475. #ifndef GL_OES_depth_texture
  476. #define GL_OES_depth_texture 1
  477. #endif
  478. /* GL_OES_EGL_image */
  479. #ifndef GL_OES_EGL_image
  480. #define GL_OES_EGL_image 1
  481. #ifdef GL_GLEXT_PROTOTYPES
  482. GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  483. GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  484. #endif
  485. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  486. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  487. #endif
  488. /* GL_OES_EGL_image_external */
  489. #ifndef GL_OES_EGL_image_external
  490. #define GL_OES_EGL_image_external 1
  491. /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  492. #endif
  493. /* GL_OES_element_index_uint */
  494. #ifndef GL_OES_element_index_uint
  495. #define GL_OES_element_index_uint 1
  496. #endif
  497. /* GL_OES_fbo_render_mipmap */
  498. #ifndef GL_OES_fbo_render_mipmap
  499. #define GL_OES_fbo_render_mipmap 1
  500. #endif
  501. /* GL_OES_fragment_precision_high */
  502. #ifndef GL_OES_fragment_precision_high
  503. #define GL_OES_fragment_precision_high 1
  504. #endif
  505. /* GL_OES_get_program_binary */
  506. #ifndef GL_OES_get_program_binary
  507. #define GL_OES_get_program_binary 1
  508. #ifdef GL_GLEXT_PROTOTYPES
  509. GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  510. GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  511. #endif
  512. typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  513. typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  514. #endif
  515. /* GL_OES_mapbuffer */
  516. #ifndef GL_OES_mapbuffer
  517. #define GL_OES_mapbuffer 1
  518. #ifdef GL_GLEXT_PROTOTYPES
  519. GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  520. GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  521. GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
  522. #endif
  523. typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  524. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  525. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
  526. #endif
  527. /* GL_OES_packed_depth_stencil */
  528. #ifndef GL_OES_packed_depth_stencil
  529. #define GL_OES_packed_depth_stencil 1
  530. #endif
  531. /* GL_OES_rgb8_rgba8 */
  532. #ifndef GL_OES_rgb8_rgba8
  533. #define GL_OES_rgb8_rgba8 1
  534. #endif
  535. /* GL_OES_standard_derivatives */
  536. #ifndef GL_OES_standard_derivatives
  537. #define GL_OES_standard_derivatives 1
  538. #endif
  539. /* GL_OES_stencil1 */
  540. #ifndef GL_OES_stencil1
  541. #define GL_OES_stencil1 1
  542. #endif
  543. /* GL_OES_stencil4 */
  544. #ifndef GL_OES_stencil4
  545. #define GL_OES_stencil4 1
  546. #endif
  547. /* GL_OES_texture_3D */
  548. #ifndef GL_OES_texture_3D
  549. #define GL_OES_texture_3D 1
  550. #ifdef GL_GLEXT_PROTOTYPES
  551. 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);
  552. 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);
  553. GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  554. 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);
  555. 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);
  556. GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  557. #endif
  558. 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);
  559. 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);
  560. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  561. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  562. 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);
  563. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  564. #endif
  565. /* GL_OES_texture_float */
  566. #ifndef GL_OES_texture_float
  567. #define GL_OES_texture_float 1
  568. #endif
  569. /* GL_OES_texture_float_linear */
  570. #ifndef GL_OES_texture_float_linear
  571. #define GL_OES_texture_float_linear 1
  572. #endif
  573. /* GL_OES_texture_half_float */
  574. #ifndef GL_OES_texture_half_float
  575. #define GL_OES_texture_half_float 1
  576. #endif
  577. /* GL_OES_texture_half_float_linear */
  578. #ifndef GL_OES_texture_half_float_linear
  579. #define GL_OES_texture_half_float_linear 1
  580. #endif
  581. /* GL_OES_texture_npot */
  582. #ifndef GL_OES_texture_npot
  583. #define GL_OES_texture_npot 1
  584. #endif
  585. /* GL_OES_vertex_array_object */
  586. #ifndef GL_OES_vertex_array_object
  587. #define GL_OES_vertex_array_object 1
  588. #ifdef GL_GLEXT_PROTOTYPES
  589. GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  590. GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  591. GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  592. GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  593. #endif
  594. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  595. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  596. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  597. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  598. #endif
  599. /* GL_OES_vertex_half_float */
  600. #ifndef GL_OES_vertex_half_float
  601. #define GL_OES_vertex_half_float 1
  602. #endif
  603. /* GL_OES_vertex_type_10_10_10_2 */
  604. #ifndef GL_OES_vertex_type_10_10_10_2
  605. #define GL_OES_vertex_type_10_10_10_2 1
  606. #endif
  607. /*------------------------------------------------------------------------*
  608. * AMD extension functions
  609. *------------------------------------------------------------------------*/
  610. /* GL_AMD_compressed_3DC_texture */
  611. #ifndef GL_AMD_compressed_3DC_texture
  612. #define GL_AMD_compressed_3DC_texture 1
  613. #endif
  614. /* GL_AMD_compressed_ATC_texture */
  615. #ifndef GL_AMD_compressed_ATC_texture
  616. #define GL_AMD_compressed_ATC_texture 1
  617. #endif
  618. /* AMD_performance_monitor */
  619. #ifndef GL_AMD_performance_monitor
  620. #define GL_AMD_performance_monitor 1
  621. #ifdef GL_GLEXT_PROTOTYPES
  622. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  623. GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  624. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  625. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  626. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  627. GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  628. GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  629. GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  630. GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  631. GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  632. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  633. #endif
  634. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  635. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  636. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  637. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  638. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  639. typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  640. typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  641. typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  642. typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  643. typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  644. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  645. #endif
  646. /* GL_AMD_program_binary_Z400 */
  647. #ifndef GL_AMD_program_binary_Z400
  648. #define GL_AMD_program_binary_Z400 1
  649. #endif
  650. /*------------------------------------------------------------------------*
  651. * ANGLE extension functions
  652. *------------------------------------------------------------------------*/
  653. /* GL_ANGLE_framebuffer_blit */
  654. #ifndef GL_ANGLE_framebuffer_blit
  655. #define GL_ANGLE_framebuffer_blit 1
  656. #ifdef GL_GLEXT_PROTOTYPES
  657. GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  658. #endif
  659. typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  660. #endif
  661. /* GL_ANGLE_framebuffer_multisample */
  662. #ifndef GL_ANGLE_framebuffer_multisample
  663. #define GL_ANGLE_framebuffer_multisample 1
  664. #ifdef GL_GLEXT_PROTOTYPES
  665. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  666. #endif
  667. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  668. #endif
  669. /*------------------------------------------------------------------------*
  670. * APPLE extension functions
  671. *------------------------------------------------------------------------*/
  672. /* GL_APPLE_rgb_422 */
  673. #ifndef GL_APPLE_rgb_422
  674. #define GL_APPLE_rgb_422 1
  675. #endif
  676. /* GL_APPLE_framebuffer_multisample */
  677. #ifndef GL_APPLE_framebuffer_multisample
  678. #define GL_APPLE_framebuffer_multisample 1
  679. #ifdef GL_GLEXT_PROTOTYPES
  680. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  681. GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  682. #endif /* GL_GLEXT_PROTOTYPES */
  683. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  684. typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  685. #endif
  686. /* GL_APPLE_texture_format_BGRA8888 */
  687. #ifndef GL_APPLE_texture_format_BGRA8888
  688. #define GL_APPLE_texture_format_BGRA8888 1
  689. #endif
  690. /* GL_APPLE_texture_max_level */
  691. #ifndef GL_APPLE_texture_max_level
  692. #define GL_APPLE_texture_max_level 1
  693. #endif
  694. /*------------------------------------------------------------------------*
  695. * ARM extension functions
  696. *------------------------------------------------------------------------*/
  697. /* GL_ARM_mali_shader_binary */
  698. #ifndef GL_ARM_mali_shader_binary
  699. #define GL_ARM_mali_shader_binary 1
  700. #endif
  701. /* GL_ARM_rgba8 */
  702. #ifndef GL_ARM_rgba8
  703. #define GL_ARM_rgba8 1
  704. #endif
  705. /*------------------------------------------------------------------------*
  706. * EXT extension functions
  707. *------------------------------------------------------------------------*/
  708. /* GL_EXT_blend_minmax */
  709. #ifndef GL_EXT_blend_minmax
  710. #define GL_EXT_blend_minmax 1
  711. #endif
  712. /* GL_EXT_discard_framebuffer */
  713. #ifndef GL_EXT_discard_framebuffer
  714. #define GL_EXT_discard_framebuffer 1
  715. #ifdef GL_GLEXT_PROTOTYPES
  716. GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  717. #endif
  718. typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  719. #endif
  720. #ifndef GL_EXT_multi_draw_arrays
  721. #define GL_EXT_multi_draw_arrays 1
  722. #ifdef GL_GLEXT_PROTOTYPES
  723. GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  724. GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  725. #endif /* GL_GLEXT_PROTOTYPES */
  726. typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  727. typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  728. #endif
  729. /* GL_EXT_read_format_bgra */
  730. #ifndef GL_EXT_read_format_bgra
  731. #define GL_EXT_read_format_bgra 1
  732. #endif
  733. /* GL_EXT_shader_texture_lod */
  734. #ifndef GL_EXT_shader_texture_lod
  735. #define GL_EXT_shader_texture_lod 1
  736. #endif
  737. /* GL_EXT_texture_filter_anisotropic */
  738. #ifndef GL_EXT_texture_filter_anisotropic
  739. #define GL_EXT_texture_filter_anisotropic 1
  740. #endif
  741. /* GL_EXT_texture_format_BGRA8888 */
  742. #ifndef GL_EXT_texture_format_BGRA8888
  743. #define GL_EXT_texture_format_BGRA8888 1
  744. #endif
  745. /* GL_EXT_texture_type_2_10_10_10_REV */
  746. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  747. #define GL_EXT_texture_type_2_10_10_10_REV 1
  748. #endif
  749. /* GL_EXT_texture_compression_dxt1 */
  750. #ifndef GL_EXT_texture_compression_dxt1
  751. #define GL_EXT_texture_compression_dxt1 1
  752. #endif
  753. /* GL_EXT_unpack_subimage */
  754. #ifndef GL_EXT_unpack_subimage
  755. #define GL_EXT_unpack_subimage 1
  756. #endif
  757. /*------------------------------------------------------------------------*
  758. * DMP extension functions
  759. *------------------------------------------------------------------------*/
  760. /* GL_DMP_shader_binary */
  761. #ifndef GL_DMP_shader_binary
  762. #define GL_DMP_shader_binary 1
  763. #endif
  764. /*------------------------------------------------------------------------*
  765. * IMG extension functions
  766. *------------------------------------------------------------------------*/
  767. /* GL_IMG_program_binary */
  768. #ifndef GL_IMG_program_binary
  769. #define GL_IMG_program_binary 1
  770. #endif
  771. /* GL_IMG_read_format */
  772. #ifndef GL_IMG_read_format
  773. #define GL_IMG_read_format 1
  774. #endif
  775. /* GL_IMG_shader_binary */
  776. #ifndef GL_IMG_shader_binary
  777. #define GL_IMG_shader_binary 1
  778. #endif
  779. /* GL_IMG_texture_compression_pvrtc */
  780. #ifndef GL_IMG_texture_compression_pvrtc
  781. #define GL_IMG_texture_compression_pvrtc 1
  782. #endif
  783. /* GL_IMG_multisampled_render_to_texture */
  784. #ifndef GL_IMG_multisampled_render_to_texture
  785. #define GL_IMG_multisampled_render_to_texture 1
  786. #ifdef GL_GLEXT_PROTOTYPES
  787. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  788. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  789. #endif
  790. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  791. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  792. #endif
  793. /*------------------------------------------------------------------------*
  794. * NV extension functions
  795. *------------------------------------------------------------------------*/
  796. /* GL_NV_coverage_sample */
  797. #ifndef GL_NV_coverage_sample
  798. #define GL_NV_coverage_sample 1
  799. #ifdef GL_GLEXT_PROTOTYPES
  800. GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  801. GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  802. #endif
  803. typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  804. typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  805. #endif
  806. /* GL_NV_depth_nonlinear */
  807. #ifndef GL_NV_depth_nonlinear
  808. #define GL_NV_depth_nonlinear 1
  809. #endif
  810. /* GL_NV_draw_buffers */
  811. #ifndef GL_NV_draw_buffers
  812. #define GL_NV_draw_buffers 1
  813. #ifdef GL_GLEXT_PROTOTYPES
  814. GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  815. #endif
  816. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  817. #endif
  818. /* GL_NV_fbo_color_attachments */
  819. #ifndef GL_NV_fbo_color_attachments
  820. #define GL_NV_fbo_color_attachments 1
  821. #endif
  822. /* GL_NV_fence */
  823. #ifndef GL_NV_fence
  824. #define GL_NV_fence 1
  825. #ifdef GL_GLEXT_PROTOTYPES
  826. GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  827. GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  828. GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  829. GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  830. GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  831. GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  832. GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  833. #endif
  834. typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  835. typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  836. typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  837. typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  838. typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  839. typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  840. typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  841. #endif
  842. /* GL_NV_read_buffer */
  843. #ifndef GL_NV_read_buffer
  844. #define GL_NV_read_buffer 1
  845. #ifdef GL_GLEXT_PROTOTYPES
  846. GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  847. #endif
  848. typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  849. #endif
  850. /* GL_NV_read_buffer_front */
  851. #ifndef GL_NV_read_buffer_front
  852. #define GL_NV_read_buffer_front 1
  853. #endif
  854. /* GL_NV_read_depth */
  855. #ifndef GL_NV_read_depth
  856. #define GL_NV_read_depth 1
  857. #endif
  858. /* GL_NV_read_depth_stencil */
  859. #ifndef GL_NV_read_depth_stencil
  860. #define GL_NV_read_depth_stencil 1
  861. #endif
  862. /* GL_NV_read_stencil */
  863. #ifndef GL_NV_read_stencil
  864. #define GL_NV_read_stencil 1
  865. #endif
  866. /* GL_NV_texture_compression_s3tc_update */
  867. #ifndef GL_NV_texture_compression_s3tc_update
  868. #define GL_NV_texture_compression_s3tc_update 1
  869. #endif
  870. /* GL_NV_texture_npot_2D_mipmap */
  871. #ifndef GL_NV_texture_npot_2D_mipmap
  872. #define GL_NV_texture_npot_2D_mipmap 1
  873. #endif
  874. /*------------------------------------------------------------------------*
  875. * QCOM extension functions
  876. *------------------------------------------------------------------------*/
  877. /* GL_QCOM_alpha_test */
  878. #ifndef GL_QCOM_alpha_test
  879. #define GL_QCOM_alpha_test 1
  880. #ifdef GL_GLEXT_PROTOTYPES
  881. GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  882. #endif
  883. typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  884. #endif
  885. /* GL_QCOM_driver_control */
  886. #ifndef GL_QCOM_driver_control
  887. #define GL_QCOM_driver_control 1
  888. #ifdef GL_GLEXT_PROTOTYPES
  889. GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  890. GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  891. GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  892. GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  893. #endif
  894. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  895. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  896. typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  897. typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  898. #endif
  899. /* GL_QCOM_extended_get */
  900. #ifndef GL_QCOM_extended_get
  901. #define GL_QCOM_extended_get 1
  902. #ifdef GL_GLEXT_PROTOTYPES
  903. GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  904. GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  905. GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  906. GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  907. GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  908. GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  909. 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);
  910. GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  911. #endif
  912. typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  913. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  914. typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  915. typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  916. typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  917. typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  918. 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);
  919. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  920. #endif
  921. /* GL_QCOM_extended_get2 */
  922. #ifndef GL_QCOM_extended_get2
  923. #define GL_QCOM_extended_get2 1
  924. #ifdef GL_GLEXT_PROTOTYPES
  925. GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  926. GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  927. GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  928. GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  929. #endif
  930. typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  931. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  932. typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  933. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  934. #endif
  935. /* GL_QCOM_perfmon_global_mode */
  936. #ifndef GL_QCOM_perfmon_global_mode
  937. #define GL_QCOM_perfmon_global_mode 1
  938. #endif
  939. /* GL_QCOM_writeonly_rendering */
  940. #ifndef GL_QCOM_writeonly_rendering
  941. #define GL_QCOM_writeonly_rendering 1
  942. #endif
  943. /* GL_QCOM_tiled_rendering */
  944. #ifndef GL_QCOM_tiled_rendering
  945. #define GL_QCOM_tiled_rendering 1
  946. #ifdef GL_GLEXT_PROTOTYPES
  947. GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  948. GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  949. #endif
  950. typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  951. typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  952. #endif
  953. /*------------------------------------------------------------------------*
  954. * VIV extension tokens
  955. *------------------------------------------------------------------------*/
  956. /* GL_VIV_shader_binary */
  957. #ifndef GL_VIV_shader_binary
  958. #define GL_VIV_shader_binary 1
  959. #endif
  960. #ifdef __cplusplus
  961. }
  962. #endif
  963. #endif /* __gl2ext_h_ */