gl2ext.h 89 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882
  1. #ifndef __gl2ext_h_
  2. #define __gl2ext_h_
  3. /* $Revision: 1.27 $ on $Date: 2011/01/27 11:32:21 $ */
  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_required_internalformat */
  80. #ifndef GL_OES_required_internalformat
  81. #define GL_ALPHA8_OES 0x803C
  82. #define GL_DEPTH_COMPONENT16_OES 0x81A5
  83. /* reuse GL_DEPTH_COMPONENT24_OES */
  84. /* reuse GL_DEPTH24_STENCIL8_OES */
  85. /* reuse GL_DEPTH_COMPONENT32_OES */
  86. #define GL_LUMINANCE4_ALPHA4_OES 0x8043
  87. #define GL_LUMINANCE8_ALPHA8_OES 0x8045
  88. #define GL_LUMINANCE8_OES 0x8040
  89. #define GL_RGBA4_OES 0x8056
  90. #define GL_RGB5_A1_OES 0x8057
  91. #define GL_RGB565_OES 0x8D62
  92. /* reuse GL_RGB8_OES */
  93. /* reuse GL_RGBA8_OES */
  94. /* reuse GL_RGB10_EXT */
  95. /* reuse GL_RGB10_A2_EXT */
  96. #endif
  97. /* GL_OES_rgb8_rgba8 */
  98. #ifndef GL_OES_rgb8_rgba8
  99. #define GL_RGB8_OES 0x8051
  100. #define GL_RGBA8_OES 0x8058
  101. #endif
  102. /* GL_OES_standard_derivatives */
  103. #ifndef GL_OES_standard_derivatives
  104. #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
  105. #endif
  106. /* GL_OES_stencil1 */
  107. #ifndef GL_OES_stencil1
  108. #define GL_STENCIL_INDEX1_OES 0x8D46
  109. #endif
  110. /* GL_OES_stencil4 */
  111. #ifndef GL_OES_stencil4
  112. #define GL_STENCIL_INDEX4_OES 0x8D47
  113. #endif
  114. #ifndef GL_OES_surfaceless_context
  115. #define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
  116. #endif
  117. /* GL_OES_texture_3D */
  118. #ifndef GL_OES_texture_3D
  119. #define GL_TEXTURE_WRAP_R_OES 0x8072
  120. #define GL_TEXTURE_3D_OES 0x806F
  121. #define GL_TEXTURE_BINDING_3D_OES 0x806A
  122. #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
  123. #define GL_SAMPLER_3D_OES 0x8B5F
  124. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
  125. #endif
  126. /* GL_OES_texture_float */
  127. /* No new tokens introduced by this extension. */
  128. /* GL_OES_texture_float_linear */
  129. /* No new tokens introduced by this extension. */
  130. /* GL_OES_texture_half_float */
  131. #ifndef GL_OES_texture_half_float
  132. #define GL_HALF_FLOAT_OES 0x8D61
  133. #endif
  134. /* GL_OES_texture_half_float_linear */
  135. /* No new tokens introduced by this extension. */
  136. /* GL_OES_texture_npot */
  137. /* No new tokens introduced by this extension. */
  138. /* GL_OES_vertex_array_object */
  139. #ifndef GL_OES_vertex_array_object
  140. #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
  141. #endif
  142. /* GL_OES_vertex_half_float */
  143. /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
  144. /* GL_OES_vertex_type_10_10_10_2 */
  145. #ifndef GL_OES_vertex_type_10_10_10_2
  146. #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
  147. #define GL_INT_10_10_10_2_OES 0x8DF7
  148. #endif
  149. /*------------------------------------------------------------------------*
  150. * KHR extension tokens
  151. *------------------------------------------------------------------------*/
  152. #ifndef GL_KHR_debug
  153. typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
  154. #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
  155. #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
  156. #define GL_DEBUG_CALLBACK_FUNCTION 0x8244
  157. #define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
  158. #define GL_DEBUG_SOURCE_API 0x8246
  159. #define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
  160. #define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
  161. #define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
  162. #define GL_DEBUG_SOURCE_APPLICATION 0x824A
  163. #define GL_DEBUG_SOURCE_OTHER 0x824B
  164. #define GL_DEBUG_TYPE_ERROR 0x824C
  165. #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
  166. #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
  167. #define GL_DEBUG_TYPE_PORTABILITY 0x824F
  168. #define GL_DEBUG_TYPE_PERFORMANCE 0x8250
  169. #define GL_DEBUG_TYPE_OTHER 0x8251
  170. #define GL_DEBUG_TYPE_MARKER 0x8268
  171. #define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
  172. #define GL_DEBUG_TYPE_POP_GROUP 0x826A
  173. #define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
  174. #define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
  175. #define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
  176. #define GL_BUFFER 0x82E0
  177. #define GL_SHADER 0x82E1
  178. #define GL_PROGRAM 0x82E2
  179. #define GL_QUERY 0x82E3
  180. /* PROGRAM_PIPELINE only in GL */
  181. #define GL_SAMPLER 0x82E6
  182. /* DISPLAY_LIST only in GL */
  183. #define GL_MAX_LABEL_LENGTH 0x82E8
  184. #define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
  185. #define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
  186. #define GL_DEBUG_LOGGED_MESSAGES 0x9145
  187. #define GL_DEBUG_SEVERITY_HIGH 0x9146
  188. #define GL_DEBUG_SEVERITY_MEDIUM 0x9147
  189. #define GL_DEBUG_SEVERITY_LOW 0x9148
  190. #define GL_DEBUG_OUTPUT 0x92E0
  191. #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
  192. #define GL_STACK_OVERFLOW 0x0503
  193. #define GL_STACK_UNDERFLOW 0x0504
  194. #endif
  195. #ifndef GL_KHR_texture_compression_astc_ldr
  196. #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
  197. #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
  198. #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
  199. #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
  200. #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
  201. #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
  202. #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
  203. #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
  204. #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
  205. #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
  206. #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
  207. #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
  208. #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
  209. #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
  210. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
  211. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
  212. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
  213. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
  214. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
  215. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
  216. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
  217. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
  218. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
  219. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
  220. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
  221. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
  222. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
  223. #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
  224. #endif
  225. /*------------------------------------------------------------------------*
  226. * AMD extension tokens
  227. *------------------------------------------------------------------------*/
  228. /* GL_AMD_compressed_3DC_texture */
  229. #ifndef GL_AMD_compressed_3DC_texture
  230. #define GL_3DC_X_AMD 0x87F9
  231. #define GL_3DC_XY_AMD 0x87FA
  232. #endif
  233. /* GL_AMD_compressed_ATC_texture */
  234. #ifndef GL_AMD_compressed_ATC_texture
  235. #define GL_ATC_RGB_AMD 0x8C92
  236. #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
  237. #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
  238. #endif
  239. /* GL_AMD_performance_monitor */
  240. #ifndef GL_AMD_performance_monitor
  241. #define GL_COUNTER_TYPE_AMD 0x8BC0
  242. #define GL_COUNTER_RANGE_AMD 0x8BC1
  243. #define GL_UNSIGNED_INT64_AMD 0x8BC2
  244. #define GL_PERCENTAGE_AMD 0x8BC3
  245. #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
  246. #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
  247. #define GL_PERFMON_RESULT_AMD 0x8BC6
  248. #endif
  249. /* GL_AMD_program_binary_Z400 */
  250. #ifndef GL_AMD_program_binary_Z400
  251. #define GL_Z400_BINARY_AMD 0x8740
  252. #endif
  253. /*------------------------------------------------------------------------*
  254. * ANGLE extension tokens
  255. *------------------------------------------------------------------------*/
  256. /* GL_ANGLE_framebuffer_blit */
  257. #ifndef GL_ANGLE_framebuffer_blit
  258. #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
  259. #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
  260. #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
  261. #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
  262. #endif
  263. /* GL_ANGLE_framebuffer_multisample */
  264. #ifndef GL_ANGLE_framebuffer_multisample
  265. #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
  266. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
  267. #define GL_MAX_SAMPLES_ANGLE 0x8D57
  268. #endif
  269. /* GL_ANGLE_instanced_arrays */
  270. #ifndef GL_ANGLE_instanced_arrays
  271. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
  272. #endif
  273. /* GL_ANGLE_pack_reverse_row_order */
  274. #ifndef GL_ANGLE_pack_reverse_row_order
  275. #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
  276. #endif
  277. /* GL_ANGLE_texture_compression_dxt3 */
  278. #ifndef GL_ANGLE_texture_compression_dxt3
  279. #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
  280. #endif
  281. /* GL_ANGLE_texture_compression_dxt5 */
  282. #ifndef GL_ANGLE_texture_compression_dxt5
  283. #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
  284. #endif
  285. /* GL_ANGLE_texture_usage */
  286. #ifndef GL_ANGLE_texture_usage
  287. #define GL_TEXTURE_USAGE_ANGLE 0x93A2
  288. #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
  289. #endif
  290. /* GL_ANGLE_translated_shader_source */
  291. #ifndef GL_ANGLE_translated_shader_source
  292. #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
  293. #endif
  294. /*------------------------------------------------------------------------*
  295. * APPLE extension tokens
  296. *------------------------------------------------------------------------*/
  297. /* GL_APPLE_copy_texture_levels */
  298. /* No new tokens introduced by this extension. */
  299. /* GL_APPLE_framebuffer_multisample */
  300. #ifndef GL_APPLE_framebuffer_multisample
  301. #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
  302. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
  303. #define GL_MAX_SAMPLES_APPLE 0x8D57
  304. #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
  305. #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
  306. #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
  307. #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
  308. #endif
  309. /* GL_APPLE_rgb_422 */
  310. #ifndef GL_APPLE_rgb_422
  311. #define GL_RGB_422_APPLE 0x8A1F
  312. #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
  313. #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
  314. #endif
  315. /* GL_APPLE_sync */
  316. #ifndef GL_APPLE_sync
  317. #ifndef __gl3_h_
  318. /* These types are defined with reference to <inttypes.h>
  319. * in the Apple extension spec, but here we use the Khronos
  320. * portable types in khrplatform.h, and assume those types
  321. * are always defined.
  322. * If any other extensions using these types are defined,
  323. * the typedefs must move out of this block and be shared.
  324. */
  325. typedef khronos_int64_t GLint64;
  326. typedef khronos_uint64_t GLuint64;
  327. typedef struct __GLsync *GLsync;
  328. #endif
  329. #define GL_SYNC_OBJECT_APPLE 0x8A53
  330. #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
  331. #define GL_OBJECT_TYPE_APPLE 0x9112
  332. #define GL_SYNC_CONDITION_APPLE 0x9113
  333. #define GL_SYNC_STATUS_APPLE 0x9114
  334. #define GL_SYNC_FLAGS_APPLE 0x9115
  335. #define GL_SYNC_FENCE_APPLE 0x9116
  336. #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
  337. #define GL_UNSIGNALED_APPLE 0x9118
  338. #define GL_SIGNALED_APPLE 0x9119
  339. #define GL_ALREADY_SIGNALED_APPLE 0x911A
  340. #define GL_TIMEOUT_EXPIRED_APPLE 0x911B
  341. #define GL_CONDITION_SATISFIED_APPLE 0x911C
  342. #define GL_WAIT_FAILED_APPLE 0x911D
  343. #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
  344. #define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
  345. #endif
  346. /* GL_APPLE_texture_format_BGRA8888 */
  347. #ifndef GL_APPLE_texture_format_BGRA8888
  348. #define GL_BGRA_EXT 0x80E1
  349. #endif
  350. /* GL_APPLE_texture_max_level */
  351. #ifndef GL_APPLE_texture_max_level
  352. #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
  353. #endif
  354. /*------------------------------------------------------------------------*
  355. * ARM extension tokens
  356. *------------------------------------------------------------------------*/
  357. /* GL_ARM_mali_program_binary */
  358. #ifndef GL_ARM_mali_program_binary
  359. #define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
  360. #endif
  361. /* GL_ARM_mali_shader_binary */
  362. #ifndef GL_ARM_mali_shader_binary
  363. #define GL_MALI_SHADER_BINARY_ARM 0x8F60
  364. #endif
  365. /* GL_ARM_rgba8 */
  366. /* No new tokens introduced by this extension. */
  367. /*------------------------------------------------------------------------*
  368. * EXT extension tokens
  369. *------------------------------------------------------------------------*/
  370. /* GL_EXT_blend_minmax */
  371. #ifndef GL_EXT_blend_minmax
  372. #define GL_MIN_EXT 0x8007
  373. #define GL_MAX_EXT 0x8008
  374. #endif
  375. /* GL_EXT_color_buffer_half_float */
  376. #ifndef GL_EXT_color_buffer_half_float
  377. #define GL_RGBA16F_EXT 0x881A
  378. #define GL_RGB16F_EXT 0x881B
  379. #define GL_RG16F_EXT 0x822F
  380. #define GL_R16F_EXT 0x822D
  381. #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
  382. #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
  383. #endif
  384. /* GL_EXT_debug_label */
  385. #ifndef GL_EXT_debug_label
  386. #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
  387. #define GL_PROGRAM_OBJECT_EXT 0x8B40
  388. #define GL_SHADER_OBJECT_EXT 0x8B48
  389. #define GL_BUFFER_OBJECT_EXT 0x9151
  390. #define GL_QUERY_OBJECT_EXT 0x9153
  391. #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
  392. #endif
  393. /* GL_EXT_debug_marker */
  394. /* No new tokens introduced by this extension. */
  395. /* GL_EXT_discard_framebuffer */
  396. #ifndef GL_EXT_discard_framebuffer
  397. #define GL_COLOR_EXT 0x1800
  398. #define GL_DEPTH_EXT 0x1801
  399. #define GL_STENCIL_EXT 0x1802
  400. #endif
  401. /* GL_EXT_map_buffer_range */
  402. #ifndef GL_EXT_map_buffer_range
  403. #define GL_MAP_READ_BIT_EXT 0x0001
  404. #define GL_MAP_WRITE_BIT_EXT 0x0002
  405. #define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
  406. #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
  407. #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
  408. #define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
  409. #endif
  410. /* GL_EXT_multisampled_render_to_texture */
  411. #ifndef GL_EXT_multisampled_render_to_texture
  412. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
  413. /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
  414. #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
  415. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
  416. #define GL_MAX_SAMPLES_EXT 0x8D57
  417. #endif
  418. /* GL_EXT_multiview_draw_buffers */
  419. #ifndef GL_EXT_multiview_draw_buffers
  420. #define GL_COLOR_ATTACHMENT_EXT 0x90F0
  421. #define GL_MULTIVIEW_EXT 0x90F1
  422. #define GL_DRAW_BUFFER_EXT 0x0C01
  423. #define GL_READ_BUFFER_EXT 0x0C02
  424. #define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
  425. #endif
  426. /* GL_EXT_multi_draw_arrays */
  427. /* No new tokens introduced by this extension. */
  428. /* GL_EXT_occlusion_query_boolean */
  429. #ifndef GL_EXT_occlusion_query_boolean
  430. #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
  431. #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
  432. #define GL_CURRENT_QUERY_EXT 0x8865
  433. #define GL_QUERY_RESULT_EXT 0x8866
  434. #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
  435. #endif
  436. /* GL_EXT_read_format_bgra */
  437. #ifndef GL_EXT_read_format_bgra
  438. #define GL_BGRA_EXT 0x80E1
  439. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
  440. #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
  441. #endif
  442. /* GL_EXT_robustness */
  443. #ifndef GL_EXT_robustness
  444. /* reuse GL_NO_ERROR */
  445. #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
  446. #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
  447. #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
  448. #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
  449. #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
  450. #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
  451. #define GL_NO_RESET_NOTIFICATION_EXT 0x8261
  452. #endif
  453. /* GL_EXT_separate_shader_objects */
  454. #ifndef GL_EXT_separate_shader_objects
  455. #define GL_VERTEX_SHADER_BIT_EXT 0x00000001
  456. #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
  457. #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
  458. #define GL_PROGRAM_SEPARABLE_EXT 0x8258
  459. #define GL_ACTIVE_PROGRAM_EXT 0x8259
  460. #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
  461. #endif
  462. /* GL_EXT_shader_framebuffer_fetch */
  463. #ifndef GL_EXT_shader_framebuffer_fetch
  464. #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
  465. #endif
  466. /* GL_EXT_shader_texture_lod */
  467. /* No new tokens introduced by this extension. */
  468. /* GL_EXT_shadow_samplers */
  469. #ifndef GL_EXT_shadow_samplers
  470. #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
  471. #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
  472. #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
  473. #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
  474. #endif
  475. /* GL_EXT_sRGB */
  476. #ifndef GL_EXT_sRGB
  477. #define GL_SRGB_EXT 0x8C40
  478. #define GL_SRGB_ALPHA_EXT 0x8C42
  479. #define GL_SRGB8_ALPHA8_EXT 0x8C43
  480. #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
  481. #endif
  482. /* GL_EXT_texture_compression_dxt1 */
  483. #ifndef GL_EXT_texture_compression_dxt1
  484. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
  485. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
  486. #endif
  487. /* GL_EXT_texture_filter_anisotropic */
  488. #ifndef GL_EXT_texture_filter_anisotropic
  489. #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
  490. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
  491. #endif
  492. /* GL_EXT_texture_format_BGRA8888 */
  493. #ifndef GL_EXT_texture_format_BGRA8888
  494. #define GL_BGRA_EXT 0x80E1
  495. #endif
  496. /* GL_EXT_texture_rg */
  497. #ifndef GL_EXT_texture_rg
  498. #define GL_RED_EXT 0x1903
  499. #define GL_RG_EXT 0x8227
  500. #define GL_R8_EXT 0x8229
  501. #define GL_RG8_EXT 0x822B
  502. #endif
  503. /* GL_EXT_texture_storage */
  504. #ifndef GL_EXT_texture_storage
  505. #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
  506. #define GL_ALPHA8_EXT 0x803C
  507. #define GL_LUMINANCE8_EXT 0x8040
  508. #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
  509. #define GL_RGBA32F_EXT 0x8814
  510. #define GL_RGB32F_EXT 0x8815
  511. #define GL_ALPHA32F_EXT 0x8816
  512. #define GL_LUMINANCE32F_EXT 0x8818
  513. #define GL_LUMINANCE_ALPHA32F_EXT 0x8819
  514. /* reuse GL_RGBA16F_EXT */
  515. /* reuse GL_RGB16F_EXT */
  516. #define GL_ALPHA16F_EXT 0x881C
  517. #define GL_LUMINANCE16F_EXT 0x881E
  518. #define GL_LUMINANCE_ALPHA16F_EXT 0x881F
  519. #define GL_RGB10_A2_EXT 0x8059
  520. #define GL_RGB10_EXT 0x8052
  521. #define GL_BGRA8_EXT 0x93A1
  522. #define GL_R8_EXT 0x8229
  523. #define GL_RG8_EXT 0x822B
  524. #define GL_R32F_EXT 0x822E
  525. #define GL_RG32F_EXT 0x8230
  526. #define GL_R16F_EXT 0x822D
  527. #define GL_RG16F_EXT 0x822F
  528. #endif
  529. /* GL_EXT_texture_type_2_10_10_10_REV */
  530. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  531. #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
  532. #endif
  533. /* GL_EXT_unpack_subimage */
  534. #ifndef GL_EXT_unpack_subimage
  535. #define GL_UNPACK_ROW_LENGTH 0x0CF2
  536. #define GL_UNPACK_SKIP_ROWS 0x0CF3
  537. #define GL_UNPACK_SKIP_PIXELS 0x0CF4
  538. #endif
  539. /* GL_EXT_draw_buffers */
  540. #ifndef GL_EXT_draw_buffers
  541. #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
  542. #define GL_DRAW_BUFFER0_EXT 0x8825
  543. #define GL_DRAW_BUFFER1_EXT 0x8826
  544. #define GL_DRAW_BUFFER2_EXT 0x8827
  545. #define GL_DRAW_BUFFER3_EXT 0x8828
  546. #define GL_DRAW_BUFFER4_EXT 0x8829
  547. #define GL_DRAW_BUFFER5_EXT 0x882A
  548. #define GL_DRAW_BUFFER6_EXT 0x882B
  549. #define GL_DRAW_BUFFER7_EXT 0x882C
  550. #define GL_DRAW_BUFFER8_EXT 0x882D
  551. #define GL_DRAW_BUFFER9_EXT 0x882E
  552. #define GL_DRAW_BUFFER10_EXT 0x882F
  553. #define GL_DRAW_BUFFER11_EXT 0x8830
  554. #define GL_DRAW_BUFFER12_EXT 0x8831
  555. #define GL_DRAW_BUFFER13_EXT 0x8832
  556. #define GL_DRAW_BUFFER14_EXT 0x8833
  557. #define GL_DRAW_BUFFER15_EXT 0x8834
  558. #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
  559. #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
  560. #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
  561. #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
  562. #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
  563. #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
  564. #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
  565. #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
  566. #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
  567. #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
  568. #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
  569. #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
  570. #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
  571. #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
  572. #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
  573. #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
  574. #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
  575. #endif
  576. /*------------------------------------------------------------------------*
  577. * DMP extension tokens
  578. *------------------------------------------------------------------------*/
  579. /* GL_DMP_shader_binary */
  580. #ifndef GL_DMP_shader_binary
  581. #define GL_SHADER_BINARY_DMP 0x9250
  582. #endif
  583. /*------------------------------------------------------------------------*
  584. * FJ extension tokens
  585. *------------------------------------------------------------------------*/
  586. /* GL_FJ_shader_binary_GCCSO */
  587. #ifndef GL_FJ_shader_binary_GCCSO
  588. #define GCCSO_SHADER_BINARY_FJ 0x9260
  589. #endif
  590. /*------------------------------------------------------------------------*
  591. * IMG extension tokens
  592. *------------------------------------------------------------------------*/
  593. /* GL_IMG_program_binary */
  594. #ifndef GL_IMG_program_binary
  595. #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
  596. #endif
  597. /* GL_IMG_read_format */
  598. #ifndef GL_IMG_read_format
  599. #define GL_BGRA_IMG 0x80E1
  600. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
  601. #endif
  602. /* GL_IMG_shader_binary */
  603. #ifndef GL_IMG_shader_binary
  604. #define GL_SGX_BINARY_IMG 0x8C0A
  605. #endif
  606. /* GL_IMG_texture_compression_pvrtc */
  607. #ifndef GL_IMG_texture_compression_pvrtc
  608. #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
  609. #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
  610. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
  611. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
  612. #endif
  613. /* GL_IMG_multisampled_render_to_texture */
  614. #ifndef GL_IMG_multisampled_render_to_texture
  615. #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
  616. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
  617. #define GL_MAX_SAMPLES_IMG 0x9135
  618. #define GL_TEXTURE_SAMPLES_IMG 0x9136
  619. #endif
  620. /* GL_IMG_texture_stream */
  621. #ifndef GL_IMG_texture_stream
  622. #define GL_TEXTURE_STREAM_IMG 0x8C0D
  623. #define GL_TEXTURE_NUM_STREAM_DEVICES_IMG 0x8C0E
  624. #define GL_TEXTURE_STREAM_DEVICE_WIDTH_IMG 0x8C0F
  625. #define GL_TEXTURE_STREAM_DEVICE_HEIGHT_IMG 0x8EA0
  626. #define GL_TEXTURE_STREAM_DEVICE_FORMAT_IMG 0x8EA1
  627. #define GL_TEXTURE_STREAM_DEVICE_NUM_BUFFERS_IMG 0x8EA2
  628. #define GL_TEXTURE_BINDING_STREAM_IMG 0x9131
  629. #define GL_SAMPLER_STREAM_IMG 0x9132
  630. #endif
  631. /*------------------------------------------------------------------------*
  632. * NV extension tokens
  633. *------------------------------------------------------------------------*/
  634. /* GL_NV_coverage_sample */
  635. #ifndef GL_NV_coverage_sample
  636. #define GL_COVERAGE_COMPONENT_NV 0x8ED0
  637. #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
  638. #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
  639. #define GL_COVERAGE_BUFFERS_NV 0x8ED3
  640. #define GL_COVERAGE_SAMPLES_NV 0x8ED4
  641. #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
  642. #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
  643. #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
  644. #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
  645. #endif
  646. /* GL_NV_depth_nonlinear */
  647. #ifndef GL_NV_depth_nonlinear
  648. #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
  649. #endif
  650. /* GL_NV_draw_buffers */
  651. #ifndef GL_NV_draw_buffers
  652. #define GL_MAX_DRAW_BUFFERS_NV 0x8824
  653. #define GL_DRAW_BUFFER0_NV 0x8825
  654. #define GL_DRAW_BUFFER1_NV 0x8826
  655. #define GL_DRAW_BUFFER2_NV 0x8827
  656. #define GL_DRAW_BUFFER3_NV 0x8828
  657. #define GL_DRAW_BUFFER4_NV 0x8829
  658. #define GL_DRAW_BUFFER5_NV 0x882A
  659. #define GL_DRAW_BUFFER6_NV 0x882B
  660. #define GL_DRAW_BUFFER7_NV 0x882C
  661. #define GL_DRAW_BUFFER8_NV 0x882D
  662. #define GL_DRAW_BUFFER9_NV 0x882E
  663. #define GL_DRAW_BUFFER10_NV 0x882F
  664. #define GL_DRAW_BUFFER11_NV 0x8830
  665. #define GL_DRAW_BUFFER12_NV 0x8831
  666. #define GL_DRAW_BUFFER13_NV 0x8832
  667. #define GL_DRAW_BUFFER14_NV 0x8833
  668. #define GL_DRAW_BUFFER15_NV 0x8834
  669. #define GL_COLOR_ATTACHMENT0_NV 0x8CE0
  670. #define GL_COLOR_ATTACHMENT1_NV 0x8CE1
  671. #define GL_COLOR_ATTACHMENT2_NV 0x8CE2
  672. #define GL_COLOR_ATTACHMENT3_NV 0x8CE3
  673. #define GL_COLOR_ATTACHMENT4_NV 0x8CE4
  674. #define GL_COLOR_ATTACHMENT5_NV 0x8CE5
  675. #define GL_COLOR_ATTACHMENT6_NV 0x8CE6
  676. #define GL_COLOR_ATTACHMENT7_NV 0x8CE7
  677. #define GL_COLOR_ATTACHMENT8_NV 0x8CE8
  678. #define GL_COLOR_ATTACHMENT9_NV 0x8CE9
  679. #define GL_COLOR_ATTACHMENT10_NV 0x8CEA
  680. #define GL_COLOR_ATTACHMENT11_NV 0x8CEB
  681. #define GL_COLOR_ATTACHMENT12_NV 0x8CEC
  682. #define GL_COLOR_ATTACHMENT13_NV 0x8CED
  683. #define GL_COLOR_ATTACHMENT14_NV 0x8CEE
  684. #define GL_COLOR_ATTACHMENT15_NV 0x8CEF
  685. #endif
  686. /* GL_NV_fbo_color_attachments */
  687. #ifndef GL_NV_fbo_color_attachments
  688. #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
  689. /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
  690. #endif
  691. /* GL_NV_fence */
  692. #ifndef GL_NV_fence
  693. #define GL_ALL_COMPLETED_NV 0x84F2
  694. #define GL_FENCE_STATUS_NV 0x84F3
  695. #define GL_FENCE_CONDITION_NV 0x84F4
  696. #endif
  697. /* GL_NV_read_buffer */
  698. #ifndef GL_NV_read_buffer
  699. #define GL_READ_BUFFER_NV 0x0C02
  700. #endif
  701. /* GL_NV_read_buffer_front */
  702. /* No new tokens introduced by this extension. */
  703. /* GL_NV_read_depth */
  704. /* No new tokens introduced by this extension. */
  705. /* GL_NV_read_depth_stencil */
  706. /* No new tokens introduced by this extension. */
  707. /* GL_NV_read_stencil */
  708. /* No new tokens introduced by this extension. */
  709. /* GL_NV_texture_compression_s3tc_update */
  710. /* No new tokens introduced by this extension. */
  711. /* GL_NV_texture_npot_2D_mipmap */
  712. /* No new tokens introduced by this extension. */
  713. /*------------------------------------------------------------------------*
  714. * QCOM extension tokens
  715. *------------------------------------------------------------------------*/
  716. /* GL_QCOM_alpha_test */
  717. #ifndef GL_QCOM_alpha_test
  718. #define GL_ALPHA_TEST_QCOM 0x0BC0
  719. #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
  720. #define GL_ALPHA_TEST_REF_QCOM 0x0BC2
  721. #endif
  722. /* GL_QCOM_binning_control */
  723. #ifndef GL_QCOM_binning_control
  724. #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
  725. #define GL_CPU_OPTIMIZED_QCOM 0x8FB1
  726. #define GL_GPU_OPTIMIZED_QCOM 0x8FB2
  727. #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
  728. #endif
  729. /* GL_QCOM_driver_control */
  730. /* No new tokens introduced by this extension. */
  731. /* GL_QCOM_extended_get */
  732. #ifndef GL_QCOM_extended_get
  733. #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
  734. #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
  735. #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
  736. #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
  737. #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
  738. #define GL_TEXTURE_TYPE_QCOM 0x8BD7
  739. #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
  740. #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
  741. #define GL_TEXTURE_TARGET_QCOM 0x8BDA
  742. #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
  743. #define GL_STATE_RESTORE 0x8BDC
  744. #endif
  745. /* GL_QCOM_extended_get2 */
  746. /* No new tokens introduced by this extension. */
  747. /* GL_QCOM_perfmon_global_mode */
  748. #ifndef GL_QCOM_perfmon_global_mode
  749. #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
  750. #endif
  751. /* GL_QCOM_writeonly_rendering */
  752. #ifndef GL_QCOM_writeonly_rendering
  753. #define GL_WRITEONLY_RENDERING_QCOM 0x8823
  754. #endif
  755. /* GL_QCOM_tiled_rendering */
  756. #ifndef GL_QCOM_tiled_rendering
  757. #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
  758. #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
  759. #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
  760. #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
  761. #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
  762. #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
  763. #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
  764. #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
  765. #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
  766. #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
  767. #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
  768. #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
  769. #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
  770. #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
  771. #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
  772. #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
  773. #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
  774. #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
  775. #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
  776. #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
  777. #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
  778. #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
  779. #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
  780. #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
  781. #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
  782. #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
  783. #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
  784. #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
  785. #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
  786. #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
  787. #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
  788. #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
  789. #endif
  790. /*------------------------------------------------------------------------*
  791. * VIV extension tokens
  792. *------------------------------------------------------------------------*/
  793. /* GL_VIV_shader_binary */
  794. #ifndef GL_VIV_shader_binary
  795. #define GL_SHADER_BINARY_VIV 0x8FC4
  796. #endif
  797. /*------------------------------------------------------------------------*
  798. * End of extension tokens, start of corresponding extension functions
  799. *------------------------------------------------------------------------*/
  800. /*------------------------------------------------------------------------*
  801. * OES extension functions
  802. *------------------------------------------------------------------------*/
  803. /* GL_OES_compressed_ETC1_RGB8_texture */
  804. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  805. #define GL_OES_compressed_ETC1_RGB8_texture 1
  806. #endif
  807. /* GL_OES_compressed_paletted_texture */
  808. #ifndef GL_OES_compressed_paletted_texture
  809. #define GL_OES_compressed_paletted_texture 1
  810. #endif
  811. /* GL_OES_depth24 */
  812. #ifndef GL_OES_depth24
  813. #define GL_OES_depth24 1
  814. #endif
  815. /* GL_OES_depth32 */
  816. #ifndef GL_OES_depth32
  817. #define GL_OES_depth32 1
  818. #endif
  819. /* GL_OES_depth_texture */
  820. #ifndef GL_OES_depth_texture
  821. #define GL_OES_depth_texture 1
  822. #endif
  823. /* GL_OES_EGL_image */
  824. #ifndef GL_OES_EGL_image
  825. #define GL_OES_EGL_image 1
  826. #ifdef GL_GLEXT_PROTOTYPES
  827. GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  828. GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  829. #endif
  830. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  831. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  832. #endif
  833. /* GL_OES_EGL_image_external */
  834. #ifndef GL_OES_EGL_image_external
  835. #define GL_OES_EGL_image_external 1
  836. /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  837. #endif
  838. /* GL_OES_element_index_uint */
  839. #ifndef GL_OES_element_index_uint
  840. #define GL_OES_element_index_uint 1
  841. #endif
  842. /* GL_OES_fbo_render_mipmap */
  843. #ifndef GL_OES_fbo_render_mipmap
  844. #define GL_OES_fbo_render_mipmap 1
  845. #endif
  846. /* GL_OES_fragment_precision_high */
  847. #ifndef GL_OES_fragment_precision_high
  848. #define GL_OES_fragment_precision_high 1
  849. #endif
  850. /* GL_OES_get_program_binary */
  851. #ifndef GL_OES_get_program_binary
  852. #define GL_OES_get_program_binary 1
  853. #ifdef GL_GLEXT_PROTOTYPES
  854. GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  855. GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  856. #endif
  857. typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  858. typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  859. #endif
  860. /* GL_OES_mapbuffer */
  861. #ifndef GL_OES_mapbuffer
  862. #define GL_OES_mapbuffer 1
  863. #ifdef GL_GLEXT_PROTOTYPES
  864. GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  865. GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  866. GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
  867. #endif
  868. typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  869. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  870. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
  871. #endif
  872. /* GL_OES_packed_depth_stencil */
  873. #ifndef GL_OES_packed_depth_stencil
  874. #define GL_OES_packed_depth_stencil 1
  875. #endif
  876. /* GL_OES_required_internalformat */
  877. #ifndef GL_OES_required_internalformat
  878. #define GL_OES_required_internalformat 1
  879. #endif
  880. /* GL_OES_rgb8_rgba8 */
  881. #ifndef GL_OES_rgb8_rgba8
  882. #define GL_OES_rgb8_rgba8 1
  883. #endif
  884. /* GL_OES_standard_derivatives */
  885. #ifndef GL_OES_standard_derivatives
  886. #define GL_OES_standard_derivatives 1
  887. #endif
  888. /* GL_OES_stencil1 */
  889. #ifndef GL_OES_stencil1
  890. #define GL_OES_stencil1 1
  891. #endif
  892. /* GL_OES_stencil4 */
  893. #ifndef GL_OES_stencil4
  894. #define GL_OES_stencil4 1
  895. #endif
  896. #ifndef GL_OES_surfaceless_context
  897. #define GL_OES_surfaceless_context 1
  898. #endif
  899. /* GL_OES_texture_3D */
  900. #ifndef GL_OES_texture_3D
  901. #define GL_OES_texture_3D 1
  902. #ifdef GL_GLEXT_PROTOTYPES
  903. 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);
  904. 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);
  905. GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  906. 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);
  907. 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);
  908. GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  909. #endif
  910. 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);
  911. 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);
  912. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  913. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  914. 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);
  915. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  916. #endif
  917. /* GL_OES_texture_float */
  918. #ifndef GL_OES_texture_float
  919. #define GL_OES_texture_float 1
  920. #endif
  921. /* GL_OES_texture_float_linear */
  922. #ifndef GL_OES_texture_float_linear
  923. #define GL_OES_texture_float_linear 1
  924. #endif
  925. /* GL_OES_texture_half_float */
  926. #ifndef GL_OES_texture_half_float
  927. #define GL_OES_texture_half_float 1
  928. #endif
  929. /* GL_OES_texture_half_float_linear */
  930. #ifndef GL_OES_texture_half_float_linear
  931. #define GL_OES_texture_half_float_linear 1
  932. #endif
  933. /* GL_OES_texture_npot */
  934. #ifndef GL_OES_texture_npot
  935. #define GL_OES_texture_npot 1
  936. #endif
  937. /* GL_OES_vertex_array_object */
  938. #ifndef GL_OES_vertex_array_object
  939. #define GL_OES_vertex_array_object 1
  940. #ifdef GL_GLEXT_PROTOTYPES
  941. GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  942. GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  943. GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  944. GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  945. #endif
  946. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  947. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  948. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  949. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  950. #endif
  951. /* GL_OES_vertex_half_float */
  952. #ifndef GL_OES_vertex_half_float
  953. #define GL_OES_vertex_half_float 1
  954. #endif
  955. /* GL_OES_vertex_type_10_10_10_2 */
  956. #ifndef GL_OES_vertex_type_10_10_10_2
  957. #define GL_OES_vertex_type_10_10_10_2 1
  958. #endif
  959. /*------------------------------------------------------------------------*
  960. * KHR extension functions
  961. *------------------------------------------------------------------------*/
  962. #ifndef GL_KHR_debug
  963. #define GL_KHR_debug 1
  964. #ifdef GL_GLEXT_PROTOTYPES
  965. GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  966. GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  967. GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
  968. GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  969. GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  970. GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
  971. GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  972. GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  973. GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
  974. GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  975. GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
  976. #endif
  977. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  978. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  979. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
  980. typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  981. typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  982. typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
  983. typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  984. typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  985. typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
  986. typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  987. typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
  988. #endif
  989. #ifndef GL_KHR_texture_compression_astc_ldr
  990. #define GL_KHR_texture_compression_astc_ldr 1
  991. #endif
  992. /*------------------------------------------------------------------------*
  993. * AMD extension functions
  994. *------------------------------------------------------------------------*/
  995. /* GL_AMD_compressed_3DC_texture */
  996. #ifndef GL_AMD_compressed_3DC_texture
  997. #define GL_AMD_compressed_3DC_texture 1
  998. #endif
  999. /* GL_AMD_compressed_ATC_texture */
  1000. #ifndef GL_AMD_compressed_ATC_texture
  1001. #define GL_AMD_compressed_ATC_texture 1
  1002. #endif
  1003. /* AMD_performance_monitor */
  1004. #ifndef GL_AMD_performance_monitor
  1005. #define GL_AMD_performance_monitor 1
  1006. #ifdef GL_GLEXT_PROTOTYPES
  1007. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1008. GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1009. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1010. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1011. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1012. GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1013. GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1014. GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1015. GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  1016. GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  1017. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1018. #endif
  1019. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1020. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1021. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1022. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1023. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1024. typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1025. typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1026. typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1027. typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  1028. typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  1029. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1030. #endif
  1031. /* GL_AMD_program_binary_Z400 */
  1032. #ifndef GL_AMD_program_binary_Z400
  1033. #define GL_AMD_program_binary_Z400 1
  1034. #endif
  1035. /*------------------------------------------------------------------------*
  1036. * ANGLE extension functions
  1037. *------------------------------------------------------------------------*/
  1038. /* GL_ANGLE_framebuffer_blit */
  1039. #ifndef GL_ANGLE_framebuffer_blit
  1040. #define GL_ANGLE_framebuffer_blit 1
  1041. #ifdef GL_GLEXT_PROTOTYPES
  1042. 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);
  1043. #endif
  1044. 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);
  1045. #endif
  1046. /* GL_ANGLE_framebuffer_multisample */
  1047. #ifndef GL_ANGLE_framebuffer_multisample
  1048. #define GL_ANGLE_framebuffer_multisample 1
  1049. #ifdef GL_GLEXT_PROTOTYPES
  1050. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1051. #endif
  1052. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1053. #endif
  1054. #ifndef GL_ANGLE_instanced_arrays
  1055. #ifdef GL_GLEXT_PROTOTYPES
  1056. GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1057. GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1058. GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  1059. #endif
  1060. typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1061. typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1062. typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  1063. #endif
  1064. /* GL_ANGLE_pack_reverse_row_order */
  1065. #ifndef GL_ANGLE_pack_reverse_row_order
  1066. #define GL_ANGLE_pack_reverse_row_order 1
  1067. #endif
  1068. /* GL_ANGLE_texture_compression_dxt3 */
  1069. #ifndef GL_ANGLE_texture_compression_dxt3
  1070. #define GL_ANGLE_texture_compression_dxt3 1
  1071. #endif
  1072. /* GL_ANGLE_texture_compression_dxt5 */
  1073. #ifndef GL_ANGLE_texture_compression_dxt5
  1074. #define GL_ANGLE_texture_compression_dxt5 1
  1075. #endif
  1076. /* GL_ANGLE_texture_usage */
  1077. #ifndef GL_ANGLE_texture_usage
  1078. #define GL_ANGLE_texture_usage 1
  1079. #endif
  1080. #ifndef GL_ANGLE_translated_shader_source
  1081. #define GL_ANGLE_translated_shader_source 1
  1082. #ifdef GL_GLEXT_PROTOTYPES
  1083. GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1084. #endif
  1085. typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1086. #endif
  1087. /*------------------------------------------------------------------------*
  1088. * APPLE extension functions
  1089. *------------------------------------------------------------------------*/
  1090. /* GL_APPLE_copy_texture_levels */
  1091. #ifndef GL_APPLE_copy_texture_levels
  1092. #define GL_APPLE_copy_texture_levels 1
  1093. #ifdef GL_GLEXT_PROTOTYPES
  1094. GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1095. #endif
  1096. typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1097. #endif
  1098. /* GL_APPLE_framebuffer_multisample */
  1099. #ifndef GL_APPLE_framebuffer_multisample
  1100. #define GL_APPLE_framebuffer_multisample 1
  1101. #ifdef GL_GLEXT_PROTOTYPES
  1102. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1103. GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  1104. #endif /* GL_GLEXT_PROTOTYPES */
  1105. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1106. typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  1107. #endif
  1108. /* GL_APPLE_rgb_422 */
  1109. #ifndef GL_APPLE_rgb_422
  1110. #define GL_APPLE_rgb_422 1
  1111. #endif
  1112. /* GL_APPLE_sync */
  1113. #ifndef GL_APPLE_sync
  1114. #define GL_APPLE_sync 1
  1115. #ifdef GL_GLEXT_PROTOTYPES
  1116. GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  1117. GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  1118. GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  1119. GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1120. GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1121. GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  1122. GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1123. #endif
  1124. typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  1125. typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  1126. typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  1127. typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1128. typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1129. typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  1130. typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1131. #endif
  1132. /* GL_APPLE_texture_format_BGRA8888 */
  1133. #ifndef GL_APPLE_texture_format_BGRA8888
  1134. #define GL_APPLE_texture_format_BGRA8888 1
  1135. #endif
  1136. /* GL_APPLE_texture_max_level */
  1137. #ifndef GL_APPLE_texture_max_level
  1138. #define GL_APPLE_texture_max_level 1
  1139. #endif
  1140. /*------------------------------------------------------------------------*
  1141. * ARM extension functions
  1142. *------------------------------------------------------------------------*/
  1143. /* GL_ARM_mali_program_binary */
  1144. #ifndef GL_ARM_mali_program_binary
  1145. #define GL_ARM_mali_program_binary 1
  1146. #endif
  1147. /* GL_ARM_mali_shader_binary */
  1148. #ifndef GL_ARM_mali_shader_binary
  1149. #define GL_ARM_mali_shader_binary 1
  1150. #endif
  1151. /* GL_ARM_rgba8 */
  1152. #ifndef GL_ARM_rgba8
  1153. #define GL_ARM_rgba8 1
  1154. #endif
  1155. /*------------------------------------------------------------------------*
  1156. * EXT extension functions
  1157. *------------------------------------------------------------------------*/
  1158. /* GL_EXT_blend_minmax */
  1159. #ifndef GL_EXT_blend_minmax
  1160. #define GL_EXT_blend_minmax 1
  1161. #endif
  1162. /* GL_EXT_color_buffer_half_float */
  1163. #ifndef GL_EXT_color_buffer_half_float
  1164. #define GL_EXT_color_buffer_half_float 1
  1165. #endif
  1166. /* GL_EXT_debug_label */
  1167. #ifndef GL_EXT_debug_label
  1168. #define GL_EXT_debug_label 1
  1169. #ifdef GL_GLEXT_PROTOTYPES
  1170. GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1171. GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1172. #endif
  1173. typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1174. typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1175. #endif
  1176. /* GL_EXT_debug_marker */
  1177. #ifndef GL_EXT_debug_marker
  1178. #define GL_EXT_debug_marker 1
  1179. #ifdef GL_GLEXT_PROTOTYPES
  1180. GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  1181. GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  1182. GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  1183. #endif
  1184. typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1185. typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1186. typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  1187. #endif
  1188. /* GL_EXT_discard_framebuffer */
  1189. #ifndef GL_EXT_discard_framebuffer
  1190. #define GL_EXT_discard_framebuffer 1
  1191. #ifdef GL_GLEXT_PROTOTYPES
  1192. GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1193. #endif
  1194. typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1195. #endif
  1196. /* GL_EXT_map_buffer_range */
  1197. #ifndef GL_EXT_map_buffer_range
  1198. #define GL_EXT_map_buffer_range 1
  1199. #ifdef GL_GLEXT_PROTOTYPES
  1200. GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1201. GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  1202. #endif
  1203. typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1204. typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1205. #endif
  1206. /* GL_EXT_multisampled_render_to_texture */
  1207. #ifndef GL_EXT_multisampled_render_to_texture
  1208. #define GL_EXT_multisampled_render_to_texture 1
  1209. #ifdef GL_GLEXT_PROTOTYPES
  1210. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1211. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1212. #endif
  1213. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1214. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1215. #endif
  1216. /* GL_EXT_multiview_draw_buffers */
  1217. #ifndef GL_EXT_multiview_draw_buffers
  1218. #define GL_EXT_multiview_draw_buffers 1
  1219. #ifdef GL_GLEXT_PROTOTYPES
  1220. GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
  1221. GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
  1222. GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
  1223. #endif
  1224. typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
  1225. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
  1226. typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
  1227. #endif
  1228. #ifndef GL_EXT_multi_draw_arrays
  1229. #define GL_EXT_multi_draw_arrays 1
  1230. #ifdef GL_GLEXT_PROTOTYPES
  1231. GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  1232. GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  1233. #endif /* GL_GLEXT_PROTOTYPES */
  1234. typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  1235. typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  1236. #endif
  1237. /* GL_EXT_occlusion_query_boolean */
  1238. #ifndef GL_EXT_occlusion_query_boolean
  1239. #define GL_EXT_occlusion_query_boolean 1
  1240. #ifdef GL_GLEXT_PROTOTYPES
  1241. GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  1242. GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  1243. GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  1244. GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  1245. GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  1246. GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  1247. GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  1248. #endif
  1249. typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  1250. typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  1251. typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  1252. typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  1253. typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  1254. typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  1255. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  1256. #endif
  1257. /* GL_EXT_read_format_bgra */
  1258. #ifndef GL_EXT_read_format_bgra
  1259. #define GL_EXT_read_format_bgra 1
  1260. #endif
  1261. /* GL_EXT_robustness */
  1262. #ifndef GL_EXT_robustness
  1263. #define GL_EXT_robustness 1
  1264. #ifdef GL_GLEXT_PROTOTYPES
  1265. GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  1266. GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1267. GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
  1268. GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1269. #endif
  1270. typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  1271. typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1272. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
  1273. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1274. #endif
  1275. /* GL_EXT_separate_shader_objects */
  1276. #ifndef GL_EXT_separate_shader_objects
  1277. #define GL_EXT_separate_shader_objects 1
  1278. #ifdef GL_GLEXT_PROTOTYPES
  1279. GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  1280. GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  1281. GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  1282. GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  1283. GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  1284. GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  1285. GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  1286. GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  1287. GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  1288. GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  1289. GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  1290. GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1291. GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1292. GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  1293. GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  1294. GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1295. GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1296. GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1297. GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1298. GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1299. GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1300. GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1301. GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1302. GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1303. GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1304. GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1305. GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1306. GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1307. GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  1308. GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1309. #endif
  1310. typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  1311. typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  1312. typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  1313. typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1314. typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  1315. typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  1316. typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1317. typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  1318. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  1319. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  1320. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  1321. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1322. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1323. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  1324. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  1325. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1326. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1327. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1328. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1329. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1330. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1331. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1332. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1333. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1334. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1335. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1336. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1337. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1338. typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1339. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1340. #endif
  1341. /* GL_EXT_shader_framebuffer_fetch */
  1342. #ifndef GL_EXT_shader_framebuffer_fetch
  1343. #define GL_EXT_shader_framebuffer_fetch 1
  1344. #endif
  1345. /* GL_EXT_shader_texture_lod */
  1346. #ifndef GL_EXT_shader_texture_lod
  1347. #define GL_EXT_shader_texture_lod 1
  1348. #endif
  1349. /* GL_EXT_shadow_samplers */
  1350. #ifndef GL_EXT_shadow_samplers
  1351. #define GL_EXT_shadow_samplers 1
  1352. #endif
  1353. /* GL_EXT_sRGB */
  1354. #ifndef GL_EXT_sRGB
  1355. #define GL_EXT_sRGB 1
  1356. #endif
  1357. /* GL_EXT_texture_compression_dxt1 */
  1358. #ifndef GL_EXT_texture_compression_dxt1
  1359. #define GL_EXT_texture_compression_dxt1 1
  1360. #endif
  1361. /* GL_EXT_texture_filter_anisotropic */
  1362. #ifndef GL_EXT_texture_filter_anisotropic
  1363. #define GL_EXT_texture_filter_anisotropic 1
  1364. #endif
  1365. /* GL_EXT_texture_format_BGRA8888 */
  1366. #ifndef GL_EXT_texture_format_BGRA8888
  1367. #define GL_EXT_texture_format_BGRA8888 1
  1368. #endif
  1369. /* GL_EXT_texture_rg */
  1370. #ifndef GL_EXT_texture_rg
  1371. #define GL_EXT_texture_rg 1
  1372. #endif
  1373. /* GL_EXT_texture_storage */
  1374. #ifndef GL_EXT_texture_storage
  1375. #define GL_EXT_texture_storage 1
  1376. #ifdef GL_GLEXT_PROTOTYPES
  1377. GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1378. GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1379. GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1380. GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1381. GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1382. GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1383. #endif
  1384. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1385. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1386. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1387. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1388. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1389. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1390. #endif
  1391. /* GL_EXT_texture_type_2_10_10_10_REV */
  1392. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  1393. #define GL_EXT_texture_type_2_10_10_10_REV 1
  1394. #endif
  1395. /* GL_EXT_unpack_subimage */
  1396. #ifndef GL_EXT_unpack_subimage
  1397. #define GL_EXT_unpack_subimage 1
  1398. #endif
  1399. /* GL_EXT_draw_buffers */
  1400. #ifndef GL_EXT_draw_buffers
  1401. #define GL_EXT_draw_buffers 1
  1402. #ifdef GL_GLEXT_PROTOTYPES
  1403. GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
  1404. #endif
  1405. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
  1406. #endif
  1407. /*------------------------------------------------------------------------*
  1408. * DMP extension functions
  1409. *------------------------------------------------------------------------*/
  1410. /* GL_DMP_shader_binary */
  1411. #ifndef GL_DMP_shader_binary
  1412. #define GL_DMP_shader_binary 1
  1413. #endif
  1414. /*------------------------------------------------------------------------*
  1415. * FJ extension functions
  1416. *------------------------------------------------------------------------*/
  1417. /* GL_FJ_shader_binary_GCCSO */
  1418. #ifndef GL_FJ_shader_binary_GCCSO
  1419. #define GL_FJ_shader_binary_GCCSO 1
  1420. #endif
  1421. /*------------------------------------------------------------------------*
  1422. * IMG extension functions
  1423. *------------------------------------------------------------------------*/
  1424. /* GL_IMG_program_binary */
  1425. #ifndef GL_IMG_program_binary
  1426. #define GL_IMG_program_binary 1
  1427. #endif
  1428. /* GL_IMG_read_format */
  1429. #ifndef GL_IMG_read_format
  1430. #define GL_IMG_read_format 1
  1431. #endif
  1432. /* GL_IMG_shader_binary */
  1433. #ifndef GL_IMG_shader_binary
  1434. #define GL_IMG_shader_binary 1
  1435. #endif
  1436. /* GL_IMG_texture_compression_pvrtc */
  1437. #ifndef GL_IMG_texture_compression_pvrtc
  1438. #define GL_IMG_texture_compression_pvrtc 1
  1439. #endif
  1440. /* GL_IMG_multisampled_render_to_texture */
  1441. #ifndef GL_IMG_multisampled_render_to_texture
  1442. #define GL_IMG_multisampled_render_to_texture 1
  1443. #ifdef GL_GLEXT_PROTOTYPES
  1444. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1445. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1446. #endif
  1447. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1448. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1449. #endif
  1450. /* GL_IMG_texture_stream */
  1451. #ifndef GL_IMG_texture_stream2
  1452. #define GL_IMG_texture_stream2 1
  1453. #ifdef GL_GLEXT_PROTOTYPES
  1454. GL_APICALL void GL_APIENTRY glTexBindStreamIMG(GLint device, GLint deviceoffset);
  1455. GL_APICALL void GL_APIENTRY glGetTexStreamDeviceAttributeivIMG(GLint device, GLenum pname, GLint *params);
  1456. GL_APICALL const GLubyte * GL_APIENTRY glGetTexStreamDeviceNameIMG(GLint device);
  1457. #endif
  1458. typedef void (GL_APIENTRYP PFNGLTEXBINDSTREAMIMGPROC) (GLint device, GLint deviceoffset);
  1459. typedef const GLubyte *(GL_APIENTRYP PFNGLGETTEXSTREAMDEVICENAMEIMGPROC) (GLenum target);
  1460. typedef void (GL_APIENTRYP PFNGLGETTEXSTREAMDEVICEATTRIBUTEIVIMGPROC) (GLenum target, GLenum pname, GLint *params);
  1461. #endif
  1462. /*------------------------------------------------------------------------*
  1463. * NV extension functions
  1464. *------------------------------------------------------------------------*/
  1465. /* GL_NV_coverage_sample */
  1466. #ifndef GL_NV_coverage_sample
  1467. #define GL_NV_coverage_sample 1
  1468. #ifdef GL_GLEXT_PROTOTYPES
  1469. GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  1470. GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  1471. #endif
  1472. typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  1473. typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  1474. #endif
  1475. /* GL_NV_depth_nonlinear */
  1476. #ifndef GL_NV_depth_nonlinear
  1477. #define GL_NV_depth_nonlinear 1
  1478. #endif
  1479. /* GL_NV_draw_buffers */
  1480. #ifndef GL_NV_draw_buffers
  1481. #define GL_NV_draw_buffers 1
  1482. #ifdef GL_GLEXT_PROTOTYPES
  1483. GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  1484. #endif
  1485. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  1486. #endif
  1487. /* GL_NV_fbo_color_attachments */
  1488. #ifndef GL_NV_fbo_color_attachments
  1489. #define GL_NV_fbo_color_attachments 1
  1490. #endif
  1491. /* GL_NV_fence */
  1492. #ifndef GL_NV_fence
  1493. #define GL_NV_fence 1
  1494. #ifdef GL_GLEXT_PROTOTYPES
  1495. GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  1496. GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  1497. GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  1498. GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  1499. GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  1500. GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  1501. GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  1502. #endif
  1503. typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1504. typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1505. typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1506. typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1507. typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1508. typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1509. typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1510. #endif
  1511. /* GL_NV_read_buffer */
  1512. #ifndef GL_NV_read_buffer
  1513. #define GL_NV_read_buffer 1
  1514. #ifdef GL_GLEXT_PROTOTYPES
  1515. GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  1516. #endif
  1517. typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  1518. #endif
  1519. /* GL_NV_read_buffer_front */
  1520. #ifndef GL_NV_read_buffer_front
  1521. #define GL_NV_read_buffer_front 1
  1522. #endif
  1523. /* GL_NV_read_depth */
  1524. #ifndef GL_NV_read_depth
  1525. #define GL_NV_read_depth 1
  1526. #endif
  1527. /* GL_NV_read_depth_stencil */
  1528. #ifndef GL_NV_read_depth_stencil
  1529. #define GL_NV_read_depth_stencil 1
  1530. #endif
  1531. /* GL_NV_read_stencil */
  1532. #ifndef GL_NV_read_stencil
  1533. #define GL_NV_read_stencil 1
  1534. #endif
  1535. /* GL_NV_texture_compression_s3tc_update */
  1536. #ifndef GL_NV_texture_compression_s3tc_update
  1537. #define GL_NV_texture_compression_s3tc_update 1
  1538. #endif
  1539. /* GL_NV_texture_npot_2D_mipmap */
  1540. #ifndef GL_NV_texture_npot_2D_mipmap
  1541. #define GL_NV_texture_npot_2D_mipmap 1
  1542. #endif
  1543. /*------------------------------------------------------------------------*
  1544. * QCOM extension functions
  1545. *------------------------------------------------------------------------*/
  1546. /* GL_QCOM_alpha_test */
  1547. #ifndef GL_QCOM_alpha_test
  1548. #define GL_QCOM_alpha_test 1
  1549. #ifdef GL_GLEXT_PROTOTYPES
  1550. GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  1551. #endif
  1552. typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  1553. #endif
  1554. /* GL_QCOM_binning_control */
  1555. #ifndef GL_QCOM_binning_control
  1556. #define GL_QCOM_binning_control 1
  1557. #endif
  1558. /* GL_QCOM_driver_control */
  1559. #ifndef GL_QCOM_driver_control
  1560. #define GL_QCOM_driver_control 1
  1561. #ifdef GL_GLEXT_PROTOTYPES
  1562. GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1563. GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1564. GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1565. GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1566. #endif
  1567. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1568. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1569. typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1570. typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1571. #endif
  1572. /* GL_QCOM_extended_get */
  1573. #ifndef GL_QCOM_extended_get
  1574. #define GL_QCOM_extended_get 1
  1575. #ifdef GL_GLEXT_PROTOTYPES
  1576. GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1577. GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1578. GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1579. GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1580. GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1581. GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1582. 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);
  1583. GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1584. #endif
  1585. typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1586. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1587. typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1588. typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1589. typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1590. typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1591. 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);
  1592. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1593. #endif
  1594. /* GL_QCOM_extended_get2 */
  1595. #ifndef GL_QCOM_extended_get2
  1596. #define GL_QCOM_extended_get2 1
  1597. #ifdef GL_GLEXT_PROTOTYPES
  1598. GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1599. GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1600. GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  1601. GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1602. #endif
  1603. typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1604. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1605. typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  1606. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1607. #endif
  1608. /* GL_QCOM_perfmon_global_mode */
  1609. #ifndef GL_QCOM_perfmon_global_mode
  1610. #define GL_QCOM_perfmon_global_mode 1
  1611. #endif
  1612. /* GL_QCOM_writeonly_rendering */
  1613. #ifndef GL_QCOM_writeonly_rendering
  1614. #define GL_QCOM_writeonly_rendering 1
  1615. #endif
  1616. /* GL_QCOM_tiled_rendering */
  1617. #ifndef GL_QCOM_tiled_rendering
  1618. #define GL_QCOM_tiled_rendering 1
  1619. #ifdef GL_GLEXT_PROTOTYPES
  1620. GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1621. GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  1622. #endif
  1623. typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1624. typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  1625. #endif
  1626. /*------------------------------------------------------------------------*
  1627. * VIV extension tokens
  1628. *------------------------------------------------------------------------*/
  1629. /* GL_VIV_shader_binary */
  1630. #ifndef GL_VIV_shader_binary
  1631. #define GL_VIV_shader_binary 1
  1632. #endif
  1633. #ifdef __cplusplus
  1634. }
  1635. #endif
  1636. #endif /* __gl2ext_h_ */