Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

SDL_opengles2_gl2ext.h 96 KiB

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