gl2ext.h 96 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014
  1. #ifndef __gl2ext_h_
  2. #define __gl2ext_h_
  3. /* $Revision: 20795 $ on $Date:: 2013-03-07 01:01:58 -0800 #$ */
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. /*
  8. * This document is licensed under the SGI Free Software B License Version
  9. * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
  10. */
  11. #ifndef GL_APIENTRYP
  12. # define GL_APIENTRYP GL_APIENTRY*
  13. #endif
  14. /*------------------------------------------------------------------------*
  15. * OES extension tokens
  16. *------------------------------------------------------------------------*/
  17. /* GL_OES_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_depth_texture */
  257. #ifndef GL_ANGLE_depth_texture
  258. #define GL_DEPTH_COMPONENT 0x1902
  259. #define GL_DEPTH_STENCIL_OES 0x84F9
  260. #define GL_UNSIGNED_SHORT 0x1403
  261. #define GL_UNSIGNED_INT 0x1405
  262. #define GL_UNSIGNED_INT_24_8_OES 0x84FA
  263. #define GL_DEPTH_COMPONENT16 0x81A5
  264. #define GL_DEPTH_COMPONENT32_OES 0x81A7
  265. #define GL_DEPTH24_STENCIL8_OES 0x88F0
  266. #endif
  267. /* GL_ANGLE_framebuffer_blit */
  268. #ifndef GL_ANGLE_framebuffer_blit
  269. #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
  270. #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
  271. #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
  272. #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
  273. #endif
  274. /* GL_ANGLE_framebuffer_multisample */
  275. #ifndef GL_ANGLE_framebuffer_multisample
  276. #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
  277. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
  278. #define GL_MAX_SAMPLES_ANGLE 0x8D57
  279. #endif
  280. /* GL_ANGLE_instanced_arrays */
  281. #ifndef GL_ANGLE_instanced_arrays
  282. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
  283. #endif
  284. /* GL_ANGLE_pack_reverse_row_order */
  285. #ifndef GL_ANGLE_pack_reverse_row_order
  286. #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
  287. #endif
  288. /* GL_ANGLE_program_binary */
  289. #ifndef GL_ANGLE_program_binary
  290. #define GL_PROGRAM_BINARY_ANGLE 0x93A6
  291. #endif
  292. /* GL_ANGLE_texture_compression_dxt3 */
  293. #ifndef GL_ANGLE_texture_compression_dxt3
  294. #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
  295. #endif
  296. /* GL_ANGLE_texture_compression_dxt5 */
  297. #ifndef GL_ANGLE_texture_compression_dxt5
  298. #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
  299. #endif
  300. /* GL_ANGLE_texture_usage */
  301. #ifndef GL_ANGLE_texture_usage
  302. #define GL_TEXTURE_USAGE_ANGLE 0x93A2
  303. #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
  304. #endif
  305. /* GL_ANGLE_translated_shader_source */
  306. #ifndef GL_ANGLE_translated_shader_source
  307. #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
  308. #endif
  309. /*------------------------------------------------------------------------*
  310. * APPLE extension tokens
  311. *------------------------------------------------------------------------*/
  312. /* GL_APPLE_copy_texture_levels */
  313. /* No new tokens introduced by this extension. */
  314. /* GL_APPLE_framebuffer_multisample */
  315. #ifndef GL_APPLE_framebuffer_multisample
  316. #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
  317. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
  318. #define GL_MAX_SAMPLES_APPLE 0x8D57
  319. #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
  320. #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
  321. #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
  322. #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
  323. #endif
  324. /* GL_APPLE_rgb_422 */
  325. #ifndef GL_APPLE_rgb_422
  326. #define GL_RGB_422_APPLE 0x8A1F
  327. #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
  328. #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
  329. #endif
  330. /* GL_APPLE_sync */
  331. #ifndef GL_APPLE_sync
  332. #ifndef __gl3_h_
  333. /* These types are defined with reference to <inttypes.h>
  334. * in the Apple extension spec, but here we use the Khronos
  335. * portable types in khrplatform.h, and assume those types
  336. * are always defined.
  337. * If any other extensions using these types are defined,
  338. * the typedefs must move out of this block and be shared.
  339. */
  340. typedef khronos_int64_t GLint64;
  341. typedef khronos_uint64_t GLuint64;
  342. typedef struct __GLsync *GLsync;
  343. #endif
  344. #define GL_SYNC_OBJECT_APPLE 0x8A53
  345. #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
  346. #define GL_OBJECT_TYPE_APPLE 0x9112
  347. #define GL_SYNC_CONDITION_APPLE 0x9113
  348. #define GL_SYNC_STATUS_APPLE 0x9114
  349. #define GL_SYNC_FLAGS_APPLE 0x9115
  350. #define GL_SYNC_FENCE_APPLE 0x9116
  351. #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
  352. #define GL_UNSIGNALED_APPLE 0x9118
  353. #define GL_SIGNALED_APPLE 0x9119
  354. #define GL_ALREADY_SIGNALED_APPLE 0x911A
  355. #define GL_TIMEOUT_EXPIRED_APPLE 0x911B
  356. #define GL_CONDITION_SATISFIED_APPLE 0x911C
  357. #define GL_WAIT_FAILED_APPLE 0x911D
  358. #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
  359. #define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
  360. #endif
  361. /* GL_APPLE_texture_format_BGRA8888 */
  362. #ifndef GL_APPLE_texture_format_BGRA8888
  363. #define GL_BGRA_EXT 0x80E1
  364. #endif
  365. /* GL_APPLE_texture_max_level */
  366. #ifndef GL_APPLE_texture_max_level
  367. #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
  368. #endif
  369. /*------------------------------------------------------------------------*
  370. * ARM extension tokens
  371. *------------------------------------------------------------------------*/
  372. /* GL_ARM_mali_program_binary */
  373. #ifndef GL_ARM_mali_program_binary
  374. #define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
  375. #endif
  376. /* GL_ARM_mali_shader_binary */
  377. #ifndef GL_ARM_mali_shader_binary
  378. #define GL_MALI_SHADER_BINARY_ARM 0x8F60
  379. #endif
  380. /* GL_ARM_rgba8 */
  381. /* No new tokens introduced by this extension. */
  382. /*------------------------------------------------------------------------*
  383. * EXT extension tokens
  384. *------------------------------------------------------------------------*/
  385. /* GL_EXT_blend_minmax */
  386. #ifndef GL_EXT_blend_minmax
  387. #define GL_MIN_EXT 0x8007
  388. #define GL_MAX_EXT 0x8008
  389. #endif
  390. /* GL_EXT_color_buffer_half_float */
  391. #ifndef GL_EXT_color_buffer_half_float
  392. #define GL_RGBA16F_EXT 0x881A
  393. #define GL_RGB16F_EXT 0x881B
  394. #define GL_RG16F_EXT 0x822F
  395. #define GL_R16F_EXT 0x822D
  396. #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
  397. #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
  398. #endif
  399. /* GL_EXT_debug_label */
  400. #ifndef GL_EXT_debug_label
  401. #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
  402. #define GL_PROGRAM_OBJECT_EXT 0x8B40
  403. #define GL_SHADER_OBJECT_EXT 0x8B48
  404. #define GL_BUFFER_OBJECT_EXT 0x9151
  405. #define GL_QUERY_OBJECT_EXT 0x9153
  406. #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
  407. #endif
  408. /* GL_EXT_debug_marker */
  409. /* No new tokens introduced by this extension. */
  410. /* GL_EXT_discard_framebuffer */
  411. #ifndef GL_EXT_discard_framebuffer
  412. #define GL_COLOR_EXT 0x1800
  413. #define GL_DEPTH_EXT 0x1801
  414. #define GL_STENCIL_EXT 0x1802
  415. #endif
  416. /* GL_EXT_map_buffer_range */
  417. #ifndef GL_EXT_map_buffer_range
  418. #define GL_MAP_READ_BIT_EXT 0x0001
  419. #define GL_MAP_WRITE_BIT_EXT 0x0002
  420. #define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
  421. #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
  422. #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
  423. #define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
  424. #endif
  425. /* GL_EXT_multisampled_render_to_texture */
  426. #ifndef GL_EXT_multisampled_render_to_texture
  427. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
  428. /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
  429. #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
  430. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
  431. #define GL_MAX_SAMPLES_EXT 0x8D57
  432. #endif
  433. /* GL_EXT_multiview_draw_buffers */
  434. #ifndef GL_EXT_multiview_draw_buffers
  435. #define GL_COLOR_ATTACHMENT_EXT 0x90F0
  436. #define GL_MULTIVIEW_EXT 0x90F1
  437. #define GL_DRAW_BUFFER_EXT 0x0C01
  438. #define GL_READ_BUFFER_EXT 0x0C02
  439. #define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
  440. #endif
  441. /* GL_EXT_multi_draw_arrays */
  442. /* No new tokens introduced by this extension. */
  443. /* GL_EXT_occlusion_query_boolean */
  444. #ifndef GL_EXT_occlusion_query_boolean
  445. #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
  446. #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
  447. #define GL_CURRENT_QUERY_EXT 0x8865
  448. #define GL_QUERY_RESULT_EXT 0x8866
  449. #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
  450. #endif
  451. /* GL_EXT_read_format_bgra */
  452. #ifndef GL_EXT_read_format_bgra
  453. #define GL_BGRA_EXT 0x80E1
  454. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
  455. #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
  456. #endif
  457. /* GL_EXT_robustness */
  458. #ifndef GL_EXT_robustness
  459. /* reuse GL_NO_ERROR */
  460. #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
  461. #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
  462. #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
  463. #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
  464. #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
  465. #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
  466. #define GL_NO_RESET_NOTIFICATION_EXT 0x8261
  467. #endif
  468. /* GL_EXT_separate_shader_objects */
  469. #ifndef GL_EXT_separate_shader_objects
  470. #define GL_VERTEX_SHADER_BIT_EXT 0x00000001
  471. #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
  472. #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
  473. #define GL_PROGRAM_SEPARABLE_EXT 0x8258
  474. #define GL_ACTIVE_PROGRAM_EXT 0x8259
  475. #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
  476. #endif
  477. /* GL_EXT_shader_framebuffer_fetch */
  478. #ifndef GL_EXT_shader_framebuffer_fetch
  479. #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
  480. #endif
  481. /* GL_EXT_shader_texture_lod */
  482. /* No new tokens introduced by this extension. */
  483. /* GL_EXT_shadow_samplers */
  484. #ifndef GL_EXT_shadow_samplers
  485. #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
  486. #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
  487. #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
  488. #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
  489. #endif
  490. /* GL_EXT_sRGB */
  491. #ifndef GL_EXT_sRGB
  492. #define GL_SRGB_EXT 0x8C40
  493. #define GL_SRGB_ALPHA_EXT 0x8C42
  494. #define GL_SRGB8_ALPHA8_EXT 0x8C43
  495. #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
  496. #endif
  497. /* GL_EXT_texture_compression_dxt1 */
  498. #ifndef GL_EXT_texture_compression_dxt1
  499. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
  500. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
  501. #endif
  502. /* GL_EXT_texture_filter_anisotropic */
  503. #ifndef GL_EXT_texture_filter_anisotropic
  504. #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
  505. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
  506. #endif
  507. /* GL_EXT_texture_format_BGRA8888 */
  508. #ifndef GL_EXT_texture_format_BGRA8888
  509. #define GL_BGRA_EXT 0x80E1
  510. #endif
  511. /* GL_EXT_texture_rg */
  512. #ifndef GL_EXT_texture_rg
  513. #define GL_RED_EXT 0x1903
  514. #define GL_RG_EXT 0x8227
  515. #define GL_R8_EXT 0x8229
  516. #define GL_RG8_EXT 0x822B
  517. #endif
  518. /* GL_EXT_texture_storage */
  519. #ifndef GL_EXT_texture_storage
  520. #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
  521. #define GL_ALPHA8_EXT 0x803C
  522. #define GL_LUMINANCE8_EXT 0x8040
  523. #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
  524. #define GL_RGBA32F_EXT 0x8814
  525. #define GL_RGB32F_EXT 0x8815
  526. #define GL_ALPHA32F_EXT 0x8816
  527. #define GL_LUMINANCE32F_EXT 0x8818
  528. #define GL_LUMINANCE_ALPHA32F_EXT 0x8819
  529. /* reuse GL_RGBA16F_EXT */
  530. /* reuse GL_RGB16F_EXT */
  531. #define GL_ALPHA16F_EXT 0x881C
  532. #define GL_LUMINANCE16F_EXT 0x881E
  533. #define GL_LUMINANCE_ALPHA16F_EXT 0x881F
  534. #define GL_RGB10_A2_EXT 0x8059
  535. #define GL_RGB10_EXT 0x8052
  536. #define GL_BGRA8_EXT 0x93A1
  537. #define GL_R8_EXT 0x8229
  538. #define GL_RG8_EXT 0x822B
  539. #define GL_R32F_EXT 0x822E
  540. #define GL_RG32F_EXT 0x8230
  541. #define GL_R16F_EXT 0x822D
  542. #define GL_RG16F_EXT 0x822F
  543. #endif
  544. /* GL_EXT_texture_type_2_10_10_10_REV */
  545. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  546. #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
  547. #endif
  548. /* GL_EXT_unpack_subimage */
  549. #ifndef GL_EXT_unpack_subimage
  550. #define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
  551. #define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
  552. #define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
  553. #endif
  554. /*------------------------------------------------------------------------*
  555. * DMP extension tokens
  556. *------------------------------------------------------------------------*/
  557. /* GL_DMP_shader_binary */
  558. #ifndef GL_DMP_shader_binary
  559. #define GL_SHADER_BINARY_DMP 0x9250
  560. #endif
  561. /*------------------------------------------------------------------------*
  562. * FJ extension tokens
  563. *------------------------------------------------------------------------*/
  564. /* GL_FJ_shader_binary_GCCSO */
  565. #ifndef GL_FJ_shader_binary_GCCSO
  566. #define GL_GCCSO_SHADER_BINARY_F 0x9260
  567. #endif
  568. /*------------------------------------------------------------------------*
  569. * IMG extension tokens
  570. *------------------------------------------------------------------------*/
  571. /* GL_IMG_program_binary */
  572. #ifndef GL_IMG_program_binary
  573. #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
  574. #endif
  575. /* GL_IMG_read_format */
  576. #ifndef GL_IMG_read_format
  577. #define GL_BGRA_IMG 0x80E1
  578. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
  579. #endif
  580. /* GL_IMG_shader_binary */
  581. #ifndef GL_IMG_shader_binary
  582. #define GL_SGX_BINARY_IMG 0x8C0A
  583. #endif
  584. /* GL_IMG_texture_compression_pvrtc */
  585. #ifndef GL_IMG_texture_compression_pvrtc
  586. #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
  587. #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
  588. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
  589. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
  590. #endif
  591. /* GL_IMG_texture_compression_pvrtc2 */
  592. #ifndef GL_IMG_texture_compression_pvrtc2
  593. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
  594. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
  595. #endif
  596. /* GL_IMG_multisampled_render_to_texture */
  597. #ifndef GL_IMG_multisampled_render_to_texture
  598. #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
  599. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
  600. #define GL_MAX_SAMPLES_IMG 0x9135
  601. #define GL_TEXTURE_SAMPLES_IMG 0x9136
  602. #endif
  603. /*------------------------------------------------------------------------*
  604. * NV extension tokens
  605. *------------------------------------------------------------------------*/
  606. /* GL_NV_coverage_sample */
  607. #ifndef GL_NV_coverage_sample
  608. #define GL_COVERAGE_COMPONENT_NV 0x8ED0
  609. #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
  610. #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
  611. #define GL_COVERAGE_BUFFERS_NV 0x8ED3
  612. #define GL_COVERAGE_SAMPLES_NV 0x8ED4
  613. #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
  614. #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
  615. #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
  616. #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
  617. #endif
  618. /* GL_NV_depth_nonlinear */
  619. #ifndef GL_NV_depth_nonlinear
  620. #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
  621. #endif
  622. /* GL_NV_draw_buffers */
  623. #ifndef GL_NV_draw_buffers
  624. #define GL_MAX_DRAW_BUFFERS_NV 0x8824
  625. #define GL_DRAW_BUFFER0_NV 0x8825
  626. #define GL_DRAW_BUFFER1_NV 0x8826
  627. #define GL_DRAW_BUFFER2_NV 0x8827
  628. #define GL_DRAW_BUFFER3_NV 0x8828
  629. #define GL_DRAW_BUFFER4_NV 0x8829
  630. #define GL_DRAW_BUFFER5_NV 0x882A
  631. #define GL_DRAW_BUFFER6_NV 0x882B
  632. #define GL_DRAW_BUFFER7_NV 0x882C
  633. #define GL_DRAW_BUFFER8_NV 0x882D
  634. #define GL_DRAW_BUFFER9_NV 0x882E
  635. #define GL_DRAW_BUFFER10_NV 0x882F
  636. #define GL_DRAW_BUFFER11_NV 0x8830
  637. #define GL_DRAW_BUFFER12_NV 0x8831
  638. #define GL_DRAW_BUFFER13_NV 0x8832
  639. #define GL_DRAW_BUFFER14_NV 0x8833
  640. #define GL_DRAW_BUFFER15_NV 0x8834
  641. #define GL_COLOR_ATTACHMENT0_NV 0x8CE0
  642. #define GL_COLOR_ATTACHMENT1_NV 0x8CE1
  643. #define GL_COLOR_ATTACHMENT2_NV 0x8CE2
  644. #define GL_COLOR_ATTACHMENT3_NV 0x8CE3
  645. #define GL_COLOR_ATTACHMENT4_NV 0x8CE4
  646. #define GL_COLOR_ATTACHMENT5_NV 0x8CE5
  647. #define GL_COLOR_ATTACHMENT6_NV 0x8CE6
  648. #define GL_COLOR_ATTACHMENT7_NV 0x8CE7
  649. #define GL_COLOR_ATTACHMENT8_NV 0x8CE8
  650. #define GL_COLOR_ATTACHMENT9_NV 0x8CE9
  651. #define GL_COLOR_ATTACHMENT10_NV 0x8CEA
  652. #define GL_COLOR_ATTACHMENT11_NV 0x8CEB
  653. #define GL_COLOR_ATTACHMENT12_NV 0x8CEC
  654. #define GL_COLOR_ATTACHMENT13_NV 0x8CED
  655. #define GL_COLOR_ATTACHMENT14_NV 0x8CEE
  656. #define GL_COLOR_ATTACHMENT15_NV 0x8CEF
  657. #endif
  658. /* GL_EXT_draw_buffers */
  659. #ifndef GL_EXT_draw_buffers
  660. #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
  661. #define GL_DRAW_BUFFER0_EXT 0x8825
  662. #define GL_DRAW_BUFFER1_EXT 0x8826
  663. #define GL_DRAW_BUFFER2_EXT 0x8827
  664. #define GL_DRAW_BUFFER3_EXT 0x8828
  665. #define GL_DRAW_BUFFER4_EXT 0x8829
  666. #define GL_DRAW_BUFFER5_EXT 0x882A
  667. #define GL_DRAW_BUFFER6_EXT 0x882B
  668. #define GL_DRAW_BUFFER7_EXT 0x882C
  669. #define GL_DRAW_BUFFER8_EXT 0x882D
  670. #define GL_DRAW_BUFFER9_EXT 0x882E
  671. #define GL_DRAW_BUFFER10_EXT 0x882F
  672. #define GL_DRAW_BUFFER11_EXT 0x8830
  673. #define GL_DRAW_BUFFER12_EXT 0x8831
  674. #define GL_DRAW_BUFFER13_EXT 0x8832
  675. #define GL_DRAW_BUFFER14_EXT 0x8833
  676. #define GL_DRAW_BUFFER15_EXT 0x8834
  677. #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
  678. #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
  679. #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
  680. #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
  681. #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
  682. #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
  683. #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
  684. #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
  685. #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
  686. #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
  687. #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
  688. #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
  689. #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
  690. #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
  691. #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
  692. #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
  693. #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
  694. #endif
  695. /* GL_NV_draw_instanced */
  696. /* No new tokens introduced by this extension. */
  697. /* GL_NV_fbo_color_attachments */
  698. #ifndef GL_NV_fbo_color_attachments
  699. #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
  700. /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
  701. #endif
  702. /* GL_NV_fence */
  703. #ifndef GL_NV_fence
  704. #define GL_ALL_COMPLETED_NV 0x84F2
  705. #define GL_FENCE_STATUS_NV 0x84F3
  706. #define GL_FENCE_CONDITION_NV 0x84F4
  707. #endif
  708. /* GL_NV_framebuffer_blit */
  709. #ifndef GL_NV_framebuffer_blit
  710. #define GL_READ_FRAMEBUFFER_NV 0x8CA8
  711. #define GL_DRAW_FRAMEBUFFER_NV 0x8CA9
  712. #define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6
  713. #define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA
  714. #endif
  715. /* GL_NV_framebuffer_multisample */
  716. #ifndef GL_NV_framebuffer_multisample
  717. #define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB
  718. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
  719. #define GL_MAX_SAMPLES_NV 0x8D57
  720. #endif
  721. /* GL_NV_generate_mipmap_sRGB */
  722. /* No new tokens introduced by this extension. */
  723. /* GL_NV_instanced_arrays */
  724. #ifndef GL_NV_instanced_arrays
  725. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
  726. #endif
  727. /* GL_NV_read_buffer */
  728. #ifndef GL_NV_read_buffer
  729. #define GL_READ_BUFFER_NV 0x0C02
  730. #endif
  731. /* GL_NV_read_buffer_front */
  732. /* No new tokens introduced by this extension. */
  733. /* GL_NV_read_depth */
  734. /* No new tokens introduced by this extension. */
  735. /* GL_NV_read_depth_stencil */
  736. /* No new tokens introduced by this extension. */
  737. /* GL_NV_read_stencil */
  738. /* No new tokens introduced by this extension. */
  739. /* GL_NV_shadow_samplers_array */
  740. #ifndef GL_NV_shadow_samplers_array
  741. #define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4
  742. #endif
  743. /* GL_NV_shadow_samplers_cube */
  744. #ifndef GL_NV_shadow_samplers_cube
  745. #define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5
  746. #endif
  747. /* GL_NV_sRGB_formats */
  748. #ifndef GL_NV_sRGB_formats
  749. #define GL_SLUMINANCE_NV 0x8C46
  750. #define GL_SLUMINANCE_ALPHA_NV 0x8C44
  751. #define GL_SRGB8_NV 0x8C41
  752. #define GL_SLUMINANCE8_NV 0x8C47
  753. #define GL_SLUMINANCE8_ALPHA8_NV 0x8C45
  754. #define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C
  755. #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
  756. #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
  757. #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
  758. #define GL_ETC1_SRGB8_NV 0x88EE
  759. #endif
  760. /* GL_NV_texture_border_clamp */
  761. #ifndef GL_NV_texture_border_clamp
  762. #define GL_TEXTURE_BORDER_COLOR_NV 0x1004
  763. #define GL_CLAMP_TO_BORDER_NV 0x812D
  764. #endif
  765. /* GL_NV_texture_compression_s3tc_update */
  766. /* No new tokens introduced by this extension. */
  767. /* GL_NV_texture_npot_2D_mipmap */
  768. /* No new tokens introduced by this extension. */
  769. /*------------------------------------------------------------------------*
  770. * QCOM extension tokens
  771. *------------------------------------------------------------------------*/
  772. /* GL_QCOM_alpha_test */
  773. #ifndef GL_QCOM_alpha_test
  774. #define GL_ALPHA_TEST_QCOM 0x0BC0
  775. #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
  776. #define GL_ALPHA_TEST_REF_QCOM 0x0BC2
  777. #endif
  778. /* GL_QCOM_binning_control */
  779. #ifndef GL_QCOM_binning_control
  780. #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
  781. #define GL_CPU_OPTIMIZED_QCOM 0x8FB1
  782. #define GL_GPU_OPTIMIZED_QCOM 0x8FB2
  783. #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
  784. #endif
  785. /* GL_QCOM_driver_control */
  786. /* No new tokens introduced by this extension. */
  787. /* GL_QCOM_extended_get */
  788. #ifndef GL_QCOM_extended_get
  789. #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
  790. #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
  791. #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
  792. #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
  793. #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
  794. #define GL_TEXTURE_TYPE_QCOM 0x8BD7
  795. #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
  796. #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
  797. #define GL_TEXTURE_TARGET_QCOM 0x8BDA
  798. #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
  799. #define GL_STATE_RESTORE 0x8BDC
  800. #endif
  801. /* GL_QCOM_extended_get2 */
  802. /* No new tokens introduced by this extension. */
  803. /* GL_QCOM_perfmon_global_mode */
  804. #ifndef GL_QCOM_perfmon_global_mode
  805. #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
  806. #endif
  807. /* GL_QCOM_writeonly_rendering */
  808. #ifndef GL_QCOM_writeonly_rendering
  809. #define GL_WRITEONLY_RENDERING_QCOM 0x8823
  810. #endif
  811. /* GL_QCOM_tiled_rendering */
  812. #ifndef GL_QCOM_tiled_rendering
  813. #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
  814. #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
  815. #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
  816. #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
  817. #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
  818. #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
  819. #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
  820. #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
  821. #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
  822. #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
  823. #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
  824. #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
  825. #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
  826. #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
  827. #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
  828. #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
  829. #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
  830. #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
  831. #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
  832. #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
  833. #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
  834. #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
  835. #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
  836. #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
  837. #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
  838. #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
  839. #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
  840. #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
  841. #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
  842. #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
  843. #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
  844. #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
  845. #endif
  846. /*------------------------------------------------------------------------*
  847. * VIV extension tokens
  848. *------------------------------------------------------------------------*/
  849. /* GL_VIV_shader_binary */
  850. #ifndef GL_VIV_shader_binary
  851. #define GL_SHADER_BINARY_VIV 0x8FC4
  852. #endif
  853. /*------------------------------------------------------------------------*
  854. * End of extension tokens, start of corresponding extension functions
  855. *------------------------------------------------------------------------*/
  856. /*------------------------------------------------------------------------*
  857. * OES extension functions
  858. *------------------------------------------------------------------------*/
  859. /* GL_OES_compressed_ETC1_RGB8_texture */
  860. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  861. #define GL_OES_compressed_ETC1_RGB8_texture 1
  862. #endif
  863. /* GL_OES_compressed_paletted_texture */
  864. #ifndef GL_OES_compressed_paletted_texture
  865. #define GL_OES_compressed_paletted_texture 1
  866. #endif
  867. /* GL_OES_depth24 */
  868. #ifndef GL_OES_depth24
  869. #define GL_OES_depth24 1
  870. #endif
  871. /* GL_OES_depth32 */
  872. #ifndef GL_OES_depth32
  873. #define GL_OES_depth32 1
  874. #endif
  875. /* GL_OES_depth_texture */
  876. #ifndef GL_OES_depth_texture
  877. #define GL_OES_depth_texture 1
  878. #endif
  879. /* GL_OES_EGL_image */
  880. #ifndef GL_OES_EGL_image
  881. #define GL_OES_EGL_image 1
  882. #ifdef GL_GLEXT_PROTOTYPES
  883. GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  884. GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  885. #endif
  886. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  887. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  888. #endif
  889. /* GL_OES_EGL_image_external */
  890. #ifndef GL_OES_EGL_image_external
  891. #define GL_OES_EGL_image_external 1
  892. /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  893. #endif
  894. /* GL_OES_element_index_uint */
  895. #ifndef GL_OES_element_index_uint
  896. #define GL_OES_element_index_uint 1
  897. #endif
  898. /* GL_OES_fbo_render_mipmap */
  899. #ifndef GL_OES_fbo_render_mipmap
  900. #define GL_OES_fbo_render_mipmap 1
  901. #endif
  902. /* GL_OES_fragment_precision_high */
  903. #ifndef GL_OES_fragment_precision_high
  904. #define GL_OES_fragment_precision_high 1
  905. #endif
  906. /* GL_OES_get_program_binary */
  907. #ifndef GL_OES_get_program_binary
  908. #define GL_OES_get_program_binary 1
  909. #ifdef GL_GLEXT_PROTOTYPES
  910. GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  911. GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  912. #endif
  913. typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  914. typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  915. #endif
  916. /* GL_OES_mapbuffer */
  917. #ifndef GL_OES_mapbuffer
  918. #define GL_OES_mapbuffer 1
  919. #ifdef GL_GLEXT_PROTOTYPES
  920. GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  921. GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  922. GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
  923. #endif
  924. typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  925. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  926. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
  927. #endif
  928. /* GL_OES_packed_depth_stencil */
  929. #ifndef GL_OES_packed_depth_stencil
  930. #define GL_OES_packed_depth_stencil 1
  931. #endif
  932. /* GL_OES_required_internalformat */
  933. #ifndef GL_OES_required_internalformat
  934. #define GL_OES_required_internalformat 1
  935. #endif
  936. /* GL_OES_rgb8_rgba8 */
  937. #ifndef GL_OES_rgb8_rgba8
  938. #define GL_OES_rgb8_rgba8 1
  939. #endif
  940. /* GL_OES_standard_derivatives */
  941. #ifndef GL_OES_standard_derivatives
  942. #define GL_OES_standard_derivatives 1
  943. #endif
  944. /* GL_OES_stencil1 */
  945. #ifndef GL_OES_stencil1
  946. #define GL_OES_stencil1 1
  947. #endif
  948. /* GL_OES_stencil4 */
  949. #ifndef GL_OES_stencil4
  950. #define GL_OES_stencil4 1
  951. #endif
  952. #ifndef GL_OES_surfaceless_context
  953. #define GL_OES_surfaceless_context 1
  954. #endif
  955. /* GL_OES_texture_3D */
  956. #ifndef GL_OES_texture_3D
  957. #define GL_OES_texture_3D 1
  958. #ifdef GL_GLEXT_PROTOTYPES
  959. 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);
  960. 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);
  961. GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  962. 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);
  963. 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);
  964. GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  965. #endif
  966. 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);
  967. 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);
  968. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  969. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  970. 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);
  971. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  972. #endif
  973. /* GL_OES_texture_float */
  974. #ifndef GL_OES_texture_float
  975. #define GL_OES_texture_float 1
  976. #endif
  977. /* GL_OES_texture_float_linear */
  978. #ifndef GL_OES_texture_float_linear
  979. #define GL_OES_texture_float_linear 1
  980. #endif
  981. /* GL_OES_texture_half_float */
  982. #ifndef GL_OES_texture_half_float
  983. #define GL_OES_texture_half_float 1
  984. #endif
  985. /* GL_OES_texture_half_float_linear */
  986. #ifndef GL_OES_texture_half_float_linear
  987. #define GL_OES_texture_half_float_linear 1
  988. #endif
  989. /* GL_OES_texture_npot */
  990. #ifndef GL_OES_texture_npot
  991. #define GL_OES_texture_npot 1
  992. #endif
  993. /* GL_OES_vertex_array_object */
  994. #ifndef GL_OES_vertex_array_object
  995. #define GL_OES_vertex_array_object 1
  996. #ifdef GL_GLEXT_PROTOTYPES
  997. GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  998. GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  999. GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  1000. GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  1001. #endif
  1002. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  1003. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  1004. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  1005. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  1006. #endif
  1007. /* GL_OES_vertex_half_float */
  1008. #ifndef GL_OES_vertex_half_float
  1009. #define GL_OES_vertex_half_float 1
  1010. #endif
  1011. /* GL_OES_vertex_type_10_10_10_2 */
  1012. #ifndef GL_OES_vertex_type_10_10_10_2
  1013. #define GL_OES_vertex_type_10_10_10_2 1
  1014. #endif
  1015. /*------------------------------------------------------------------------*
  1016. * KHR extension functions
  1017. *------------------------------------------------------------------------*/
  1018. #ifndef GL_KHR_debug
  1019. #define GL_KHR_debug 1
  1020. #ifdef GL_GLEXT_PROTOTYPES
  1021. GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1022. GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1023. GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
  1024. GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1025. GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1026. GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
  1027. GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1028. GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1029. GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
  1030. GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1031. GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
  1032. #endif
  1033. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1034. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1035. typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
  1036. typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1037. typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1038. typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
  1039. typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1040. typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1041. typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
  1042. typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1043. typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
  1044. #endif
  1045. #ifndef GL_KHR_texture_compression_astc_ldr
  1046. #define GL_KHR_texture_compression_astc_ldr 1
  1047. #endif
  1048. /*------------------------------------------------------------------------*
  1049. * AMD extension functions
  1050. *------------------------------------------------------------------------*/
  1051. /* GL_AMD_compressed_3DC_texture */
  1052. #ifndef GL_AMD_compressed_3DC_texture
  1053. #define GL_AMD_compressed_3DC_texture 1
  1054. #endif
  1055. /* GL_AMD_compressed_ATC_texture */
  1056. #ifndef GL_AMD_compressed_ATC_texture
  1057. #define GL_AMD_compressed_ATC_texture 1
  1058. #endif
  1059. /* AMD_performance_monitor */
  1060. #ifndef GL_AMD_performance_monitor
  1061. #define GL_AMD_performance_monitor 1
  1062. #ifdef GL_GLEXT_PROTOTYPES
  1063. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1064. GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1065. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1066. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1067. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1068. GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1069. GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1070. GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1071. GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  1072. GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  1073. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1074. #endif
  1075. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1076. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1077. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1078. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1079. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1080. typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1081. typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1082. typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1083. typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  1084. typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  1085. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1086. #endif
  1087. /* GL_AMD_program_binary_Z400 */
  1088. #ifndef GL_AMD_program_binary_Z400
  1089. #define GL_AMD_program_binary_Z400 1
  1090. #endif
  1091. /*------------------------------------------------------------------------*
  1092. * ANGLE extension functions
  1093. *------------------------------------------------------------------------*/
  1094. /* GL_ANGLE_depth_texture */
  1095. #ifndef GL_ANGLE_depth_texture
  1096. #define GL_ANGLE_depth_texture 1
  1097. #endif
  1098. /* GL_ANGLE_framebuffer_blit */
  1099. #ifndef GL_ANGLE_framebuffer_blit
  1100. #define GL_ANGLE_framebuffer_blit 1
  1101. #ifdef GL_GLEXT_PROTOTYPES
  1102. 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);
  1103. #endif
  1104. 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);
  1105. #endif
  1106. /* GL_ANGLE_framebuffer_multisample */
  1107. #ifndef GL_ANGLE_framebuffer_multisample
  1108. #define GL_ANGLE_framebuffer_multisample 1
  1109. #ifdef GL_GLEXT_PROTOTYPES
  1110. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1111. #endif
  1112. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1113. #endif
  1114. #ifndef GL_ANGLE_instanced_arrays
  1115. #define GL_ANGLE_instanced_arrays 1
  1116. #ifdef GL_GLEXT_PROTOTYPES
  1117. GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1118. GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1119. GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  1120. #endif
  1121. typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1122. typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1123. typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  1124. #endif
  1125. /* GL_ANGLE_pack_reverse_row_order */
  1126. #ifndef GL_ANGLE_pack_reverse_row_order
  1127. #define GL_ANGLE_pack_reverse_row_order 1
  1128. #endif
  1129. /* GL_ANGLE_program_binary */
  1130. #ifndef GL_ANGLE_program_binary
  1131. #define GL_ANGLE_program_binary 1
  1132. #endif
  1133. /* GL_ANGLE_texture_compression_dxt3 */
  1134. #ifndef GL_ANGLE_texture_compression_dxt3
  1135. #define GL_ANGLE_texture_compression_dxt3 1
  1136. #endif
  1137. /* GL_ANGLE_texture_compression_dxt5 */
  1138. #ifndef GL_ANGLE_texture_compression_dxt5
  1139. #define GL_ANGLE_texture_compression_dxt5 1
  1140. #endif
  1141. /* GL_ANGLE_texture_usage */
  1142. #ifndef GL_ANGLE_texture_usage
  1143. #define GL_ANGLE_texture_usage 1
  1144. #endif
  1145. #ifndef GL_ANGLE_translated_shader_source
  1146. #define GL_ANGLE_translated_shader_source 1
  1147. #ifdef GL_GLEXT_PROTOTYPES
  1148. GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1149. #endif
  1150. typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1151. #endif
  1152. /*------------------------------------------------------------------------*
  1153. * APPLE extension functions
  1154. *------------------------------------------------------------------------*/
  1155. /* GL_APPLE_copy_texture_levels */
  1156. #ifndef GL_APPLE_copy_texture_levels
  1157. #define GL_APPLE_copy_texture_levels 1
  1158. #ifdef GL_GLEXT_PROTOTYPES
  1159. GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1160. #endif
  1161. typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1162. #endif
  1163. /* GL_APPLE_framebuffer_multisample */
  1164. #ifndef GL_APPLE_framebuffer_multisample
  1165. #define GL_APPLE_framebuffer_multisample 1
  1166. #ifdef GL_GLEXT_PROTOTYPES
  1167. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1168. GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  1169. #endif /* GL_GLEXT_PROTOTYPES */
  1170. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1171. typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  1172. #endif
  1173. /* GL_APPLE_rgb_422 */
  1174. #ifndef GL_APPLE_rgb_422
  1175. #define GL_APPLE_rgb_422 1
  1176. #endif
  1177. /* GL_APPLE_sync */
  1178. #ifndef GL_APPLE_sync
  1179. #define GL_APPLE_sync 1
  1180. #ifdef GL_GLEXT_PROTOTYPES
  1181. GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  1182. GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  1183. GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  1184. GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1185. GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1186. GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  1187. GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1188. #endif
  1189. typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  1190. typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  1191. typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  1192. typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1193. typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1194. typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  1195. typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1196. #endif
  1197. /* GL_APPLE_texture_format_BGRA8888 */
  1198. #ifndef GL_APPLE_texture_format_BGRA8888
  1199. #define GL_APPLE_texture_format_BGRA8888 1
  1200. #endif
  1201. /* GL_APPLE_texture_max_level */
  1202. #ifndef GL_APPLE_texture_max_level
  1203. #define GL_APPLE_texture_max_level 1
  1204. #endif
  1205. /*------------------------------------------------------------------------*
  1206. * ARM extension functions
  1207. *------------------------------------------------------------------------*/
  1208. /* GL_ARM_mali_program_binary */
  1209. #ifndef GL_ARM_mali_program_binary
  1210. #define GL_ARM_mali_program_binary 1
  1211. #endif
  1212. /* GL_ARM_mali_shader_binary */
  1213. #ifndef GL_ARM_mali_shader_binary
  1214. #define GL_ARM_mali_shader_binary 1
  1215. #endif
  1216. /* GL_ARM_rgba8 */
  1217. #ifndef GL_ARM_rgba8
  1218. #define GL_ARM_rgba8 1
  1219. #endif
  1220. /*------------------------------------------------------------------------*
  1221. * EXT extension functions
  1222. *------------------------------------------------------------------------*/
  1223. /* GL_EXT_blend_minmax */
  1224. #ifndef GL_EXT_blend_minmax
  1225. #define GL_EXT_blend_minmax 1
  1226. #endif
  1227. /* GL_EXT_color_buffer_half_float */
  1228. #ifndef GL_EXT_color_buffer_half_float
  1229. #define GL_EXT_color_buffer_half_float 1
  1230. #endif
  1231. /* GL_EXT_debug_label */
  1232. #ifndef GL_EXT_debug_label
  1233. #define GL_EXT_debug_label 1
  1234. #ifdef GL_GLEXT_PROTOTYPES
  1235. GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1236. GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1237. #endif
  1238. typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1239. typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1240. #endif
  1241. /* GL_EXT_debug_marker */
  1242. #ifndef GL_EXT_debug_marker
  1243. #define GL_EXT_debug_marker 1
  1244. #ifdef GL_GLEXT_PROTOTYPES
  1245. GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  1246. GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  1247. GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  1248. #endif
  1249. typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1250. typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1251. typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  1252. #endif
  1253. /* GL_EXT_discard_framebuffer */
  1254. #ifndef GL_EXT_discard_framebuffer
  1255. #define GL_EXT_discard_framebuffer 1
  1256. #ifdef GL_GLEXT_PROTOTYPES
  1257. GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1258. #endif
  1259. typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1260. #endif
  1261. /* GL_EXT_map_buffer_range */
  1262. #ifndef GL_EXT_map_buffer_range
  1263. #define GL_EXT_map_buffer_range 1
  1264. #ifdef GL_GLEXT_PROTOTYPES
  1265. GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1266. GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  1267. #endif
  1268. typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1269. typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1270. #endif
  1271. /* GL_EXT_multisampled_render_to_texture */
  1272. #ifndef GL_EXT_multisampled_render_to_texture
  1273. #define GL_EXT_multisampled_render_to_texture 1
  1274. #ifdef GL_GLEXT_PROTOTYPES
  1275. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1276. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1277. #endif
  1278. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1279. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1280. #endif
  1281. /* GL_EXT_multiview_draw_buffers */
  1282. #ifndef GL_EXT_multiview_draw_buffers
  1283. #define GL_EXT_multiview_draw_buffers 1
  1284. #ifdef GL_GLEXT_PROTOTYPES
  1285. GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
  1286. GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
  1287. GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
  1288. #endif
  1289. typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
  1290. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
  1291. typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
  1292. #endif
  1293. #ifndef GL_EXT_multi_draw_arrays
  1294. #define GL_EXT_multi_draw_arrays 1
  1295. #ifdef GL_GLEXT_PROTOTYPES
  1296. GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei);
  1297. GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  1298. #endif /* GL_GLEXT_PROTOTYPES */
  1299. typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  1300. typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  1301. #endif
  1302. /* GL_EXT_occlusion_query_boolean */
  1303. #ifndef GL_EXT_occlusion_query_boolean
  1304. #define GL_EXT_occlusion_query_boolean 1
  1305. #ifdef GL_GLEXT_PROTOTYPES
  1306. GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  1307. GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  1308. GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  1309. GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  1310. GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  1311. GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  1312. GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  1313. #endif
  1314. typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  1315. typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  1316. typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  1317. typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  1318. typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  1319. typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  1320. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  1321. #endif
  1322. /* GL_EXT_read_format_bgra */
  1323. #ifndef GL_EXT_read_format_bgra
  1324. #define GL_EXT_read_format_bgra 1
  1325. #endif
  1326. /* GL_EXT_robustness */
  1327. #ifndef GL_EXT_robustness
  1328. #define GL_EXT_robustness 1
  1329. #ifdef GL_GLEXT_PROTOTYPES
  1330. GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  1331. GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1332. GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
  1333. GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1334. #endif
  1335. typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  1336. typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1337. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
  1338. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1339. #endif
  1340. /* GL_EXT_separate_shader_objects */
  1341. #ifndef GL_EXT_separate_shader_objects
  1342. #define GL_EXT_separate_shader_objects 1
  1343. #ifdef GL_GLEXT_PROTOTYPES
  1344. GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  1345. GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  1346. GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  1347. GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  1348. GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  1349. GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  1350. GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  1351. GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  1352. GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  1353. GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  1354. GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  1355. GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1356. GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1357. GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  1358. GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  1359. GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1360. GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1361. GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1362. GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1363. GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1364. GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1365. GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1366. GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1367. GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1368. GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1369. GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1370. GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1371. GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1372. GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  1373. GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1374. #endif
  1375. typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  1376. typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  1377. typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  1378. typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1379. typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  1380. typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  1381. typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1382. typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  1383. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  1384. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  1385. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  1386. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1387. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1388. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  1389. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  1390. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1391. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1392. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1393. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1394. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1395. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1396. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1397. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1398. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1399. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1400. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1401. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1402. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1403. typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1404. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1405. #endif
  1406. /* GL_EXT_shader_framebuffer_fetch */
  1407. #ifndef GL_EXT_shader_framebuffer_fetch
  1408. #define GL_EXT_shader_framebuffer_fetch 1
  1409. #endif
  1410. /* GL_EXT_shader_texture_lod */
  1411. #ifndef GL_EXT_shader_texture_lod
  1412. #define GL_EXT_shader_texture_lod 1
  1413. #endif
  1414. /* GL_EXT_shadow_samplers */
  1415. #ifndef GL_EXT_shadow_samplers
  1416. #define GL_EXT_shadow_samplers 1
  1417. #endif
  1418. /* GL_EXT_sRGB */
  1419. #ifndef GL_EXT_sRGB
  1420. #define GL_EXT_sRGB 1
  1421. #endif
  1422. /* GL_EXT_texture_compression_dxt1 */
  1423. #ifndef GL_EXT_texture_compression_dxt1
  1424. #define GL_EXT_texture_compression_dxt1 1
  1425. #endif
  1426. /* GL_EXT_texture_filter_anisotropic */
  1427. #ifndef GL_EXT_texture_filter_anisotropic
  1428. #define GL_EXT_texture_filter_anisotropic 1
  1429. #endif
  1430. /* GL_EXT_texture_format_BGRA8888 */
  1431. #ifndef GL_EXT_texture_format_BGRA8888
  1432. #define GL_EXT_texture_format_BGRA8888 1
  1433. #endif
  1434. /* GL_EXT_texture_rg */
  1435. #ifndef GL_EXT_texture_rg
  1436. #define GL_EXT_texture_rg 1
  1437. #endif
  1438. /* GL_EXT_texture_storage */
  1439. #ifndef GL_EXT_texture_storage
  1440. #define GL_EXT_texture_storage 1
  1441. #ifdef GL_GLEXT_PROTOTYPES
  1442. GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1443. GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1444. GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1445. GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1446. GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1447. GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1448. #endif
  1449. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1450. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1451. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1452. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1453. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1454. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1455. #endif
  1456. /* GL_EXT_texture_type_2_10_10_10_REV */
  1457. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  1458. #define GL_EXT_texture_type_2_10_10_10_REV 1
  1459. #endif
  1460. /* GL_EXT_unpack_subimage */
  1461. #ifndef GL_EXT_unpack_subimage
  1462. #define GL_EXT_unpack_subimage 1
  1463. #endif
  1464. /*------------------------------------------------------------------------*
  1465. * DMP extension functions
  1466. *------------------------------------------------------------------------*/
  1467. /* GL_DMP_shader_binary */
  1468. #ifndef GL_DMP_shader_binary
  1469. #define GL_DMP_shader_binary 1
  1470. #endif
  1471. /*------------------------------------------------------------------------*
  1472. * FJ extension functions
  1473. *------------------------------------------------------------------------*/
  1474. /* GL_FJ_shader_binary_GCCSO */
  1475. #ifndef GL_FJ_shader_binary_GCCSO
  1476. #define GL_FJ_shader_binary_GCCSO 1
  1477. #endif
  1478. /*------------------------------------------------------------------------*
  1479. * IMG extension functions
  1480. *------------------------------------------------------------------------*/
  1481. /* GL_IMG_program_binary */
  1482. #ifndef GL_IMG_program_binary
  1483. #define GL_IMG_program_binary 1
  1484. #endif
  1485. /* GL_IMG_read_format */
  1486. #ifndef GL_IMG_read_format
  1487. #define GL_IMG_read_format 1
  1488. #endif
  1489. /* GL_IMG_shader_binary */
  1490. #ifndef GL_IMG_shader_binary
  1491. #define GL_IMG_shader_binary 1
  1492. #endif
  1493. /* GL_IMG_texture_compression_pvrtc */
  1494. #ifndef GL_IMG_texture_compression_pvrtc
  1495. #define GL_IMG_texture_compression_pvrtc 1
  1496. #endif
  1497. /* GL_IMG_texture_compression_pvrtc2 */
  1498. #ifndef GL_IMG_texture_compression_pvrtc2
  1499. #define GL_IMG_texture_compression_pvrtc2 1
  1500. #endif
  1501. /* GL_IMG_multisampled_render_to_texture */
  1502. #ifndef GL_IMG_multisampled_render_to_texture
  1503. #define GL_IMG_multisampled_render_to_texture 1
  1504. #ifdef GL_GLEXT_PROTOTYPES
  1505. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1506. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1507. #endif
  1508. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1509. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1510. #endif
  1511. /*------------------------------------------------------------------------*
  1512. * NV extension functions
  1513. *------------------------------------------------------------------------*/
  1514. /* GL_NV_coverage_sample */
  1515. #ifndef GL_NV_coverage_sample
  1516. #define GL_NV_coverage_sample 1
  1517. #ifdef GL_GLEXT_PROTOTYPES
  1518. GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  1519. GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  1520. #endif
  1521. typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  1522. typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  1523. #endif
  1524. /* GL_NV_depth_nonlinear */
  1525. #ifndef GL_NV_depth_nonlinear
  1526. #define GL_NV_depth_nonlinear 1
  1527. #endif
  1528. /* GL_NV_draw_buffers */
  1529. #ifndef GL_NV_draw_buffers
  1530. #define GL_NV_draw_buffers 1
  1531. #ifdef GL_GLEXT_PROTOTYPES
  1532. GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  1533. #endif
  1534. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  1535. #endif
  1536. /* GL_EXT_draw_buffers */
  1537. #ifndef GL_EXT_draw_buffers
  1538. #define GL_EXT_draw_buffers 1
  1539. #ifdef GL_GLEXT_PROTOTYPES
  1540. GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
  1541. #endif
  1542. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
  1543. #endif
  1544. /* GL_NV_draw_instanced */
  1545. #ifndef GL_NV_draw_instanced
  1546. #define GL_NV_draw_instanced 1
  1547. #ifdef GL_GLEXT_PROTOTYPES
  1548. GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1549. GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  1550. #endif
  1551. typedef void (GL_APIENTRYP PFNDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1552. typedef void (GL_APIENTRYP PFNDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  1553. #endif
  1554. /* GL_NV_fbo_color_attachments */
  1555. #ifndef GL_NV_fbo_color_attachments
  1556. #define GL_NV_fbo_color_attachments 1
  1557. #endif
  1558. /* GL_NV_fence */
  1559. #ifndef GL_NV_fence
  1560. #define GL_NV_fence 1
  1561. #ifdef GL_GLEXT_PROTOTYPES
  1562. GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  1563. GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  1564. GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  1565. GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  1566. GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  1567. GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  1568. GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  1569. #endif
  1570. typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1571. typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1572. typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1573. typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1574. typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1575. typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1576. typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1577. #endif
  1578. /* GL_NV_framebuffer_blit */
  1579. #ifndef GL_NV_framebuffer_blit
  1580. #define GL_NV_framebuffer_blit 1
  1581. #ifdef GL_GLEXT_PROTOTYPES
  1582. GL_APICALL void GL_APIENTRY glBlitFramebufferNV (int srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1583. #endif
  1584. typedef void (GL_APIENTRYP PFNBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1585. #endif
  1586. /* GL_NV_framebuffer_multisample */
  1587. #ifndef GL_NV_framebuffer_multisample
  1588. #define GL_NV_framebuffer_multisample 1
  1589. #ifdef GL_GLEXT_PROTOTYPES
  1590. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1591. #endif
  1592. typedef void (GL_APIENTRYP PFNRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1593. #endif
  1594. /* GL_NV_generate_mipmap_sRGB */
  1595. #ifndef GL_NV_generate_mipmap_sRGB
  1596. #define GL_NV_generate_mipmap_sRGB 1
  1597. #endif
  1598. /* GL_NV_instanced_arrays */
  1599. #ifndef GL_NV_instanced_arrays
  1600. #define GL_NV_instanced_arrays 1
  1601. #ifdef GL_GLEXT_PROTOTYPES
  1602. GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
  1603. #endif
  1604. typedef void (GL_APIENTRYP PFNVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
  1605. #endif
  1606. /* GL_NV_read_buffer */
  1607. #ifndef GL_NV_read_buffer
  1608. #define GL_NV_read_buffer 1
  1609. #ifdef GL_GLEXT_PROTOTYPES
  1610. GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  1611. #endif
  1612. typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  1613. #endif
  1614. /* GL_NV_read_buffer_front */
  1615. #ifndef GL_NV_read_buffer_front
  1616. #define GL_NV_read_buffer_front 1
  1617. #endif
  1618. /* GL_NV_read_depth */
  1619. #ifndef GL_NV_read_depth
  1620. #define GL_NV_read_depth 1
  1621. #endif
  1622. /* GL_NV_read_depth_stencil */
  1623. #ifndef GL_NV_read_depth_stencil
  1624. #define GL_NV_read_depth_stencil 1
  1625. #endif
  1626. /* GL_NV_read_stencil */
  1627. #ifndef GL_NV_read_stencil
  1628. #define GL_NV_read_stencil 1
  1629. #endif
  1630. /* GL_NV_shadow_samplers_array */
  1631. #ifndef GL_NV_shadow_samplers_array
  1632. #define GL_NV_shadow_samplers_array 1
  1633. #endif
  1634. /* GL_NV_shadow_samplers_cube */
  1635. #ifndef GL_NV_shadow_samplers_cube
  1636. #define GL_NV_shadow_samplers_cube 1
  1637. #endif
  1638. /* GL_NV_sRGB_formats */
  1639. #ifndef GL_NV_sRGB_formats
  1640. #define GL_NV_sRGB_formats 1
  1641. #endif
  1642. /* GL_NV_texture_border_clamp */
  1643. #ifndef GL_NV_texture_border_clamp
  1644. #define GL_NV_texture_border_clamp 1
  1645. #endif
  1646. /* GL_NV_texture_compression_s3tc_update */
  1647. #ifndef GL_NV_texture_compression_s3tc_update
  1648. #define GL_NV_texture_compression_s3tc_update 1
  1649. #endif
  1650. /* GL_NV_texture_npot_2D_mipmap */
  1651. #ifndef GL_NV_texture_npot_2D_mipmap
  1652. #define GL_NV_texture_npot_2D_mipmap 1
  1653. #endif
  1654. /*------------------------------------------------------------------------*
  1655. * QCOM extension functions
  1656. *------------------------------------------------------------------------*/
  1657. /* GL_QCOM_alpha_test */
  1658. #ifndef GL_QCOM_alpha_test
  1659. #define GL_QCOM_alpha_test 1
  1660. #ifdef GL_GLEXT_PROTOTYPES
  1661. GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  1662. #endif
  1663. typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  1664. #endif
  1665. /* GL_QCOM_binning_control */
  1666. #ifndef GL_QCOM_binning_control
  1667. #define GL_QCOM_binning_control 1
  1668. #endif
  1669. /* GL_QCOM_driver_control */
  1670. #ifndef GL_QCOM_driver_control
  1671. #define GL_QCOM_driver_control 1
  1672. #ifdef GL_GLEXT_PROTOTYPES
  1673. GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1674. GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1675. GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1676. GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1677. #endif
  1678. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1679. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1680. typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1681. typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1682. #endif
  1683. /* GL_QCOM_extended_get */
  1684. #ifndef GL_QCOM_extended_get
  1685. #define GL_QCOM_extended_get 1
  1686. #ifdef GL_GLEXT_PROTOTYPES
  1687. GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1688. GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1689. GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1690. GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1691. GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1692. GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1693. 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);
  1694. GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1695. #endif
  1696. typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1697. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1698. typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1699. typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1700. typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1701. typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1702. 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);
  1703. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1704. #endif
  1705. /* GL_QCOM_extended_get2 */
  1706. #ifndef GL_QCOM_extended_get2
  1707. #define GL_QCOM_extended_get2 1
  1708. #ifdef GL_GLEXT_PROTOTYPES
  1709. GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1710. GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1711. GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  1712. GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1713. #endif
  1714. typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1715. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1716. typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  1717. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1718. #endif
  1719. /* GL_QCOM_perfmon_global_mode */
  1720. #ifndef GL_QCOM_perfmon_global_mode
  1721. #define GL_QCOM_perfmon_global_mode 1
  1722. #endif
  1723. /* GL_QCOM_writeonly_rendering */
  1724. #ifndef GL_QCOM_writeonly_rendering
  1725. #define GL_QCOM_writeonly_rendering 1
  1726. #endif
  1727. /* GL_QCOM_tiled_rendering */
  1728. #ifndef GL_QCOM_tiled_rendering
  1729. #define GL_QCOM_tiled_rendering 1
  1730. #ifdef GL_GLEXT_PROTOTYPES
  1731. GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1732. GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  1733. #endif
  1734. typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1735. typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  1736. #endif
  1737. /*------------------------------------------------------------------------*
  1738. * VIV extension tokens
  1739. *------------------------------------------------------------------------*/
  1740. /* GL_VIV_shader_binary */
  1741. #ifndef GL_VIV_shader_binary
  1742. #define GL_VIV_shader_binary 1
  1743. #endif
  1744. #ifdef __cplusplus
  1745. }
  1746. #endif
  1747. #endif /* __gl2ext_h_ */