gl2ext.h 71 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554
  1. #ifndef __gl2ext_h_
  2. #define __gl2ext_h_
  3. /* $Revision: 18916 $ on $Date:: 2012-08-16 02:31:16 -0700 #$ */
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. /*
  8. * This document is licensed under the SGI Free Software B License Version
  9. * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
  10. */
  11. #ifndef GL_APIENTRYP
  12. # define GL_APIENTRYP GL_APIENTRY*
  13. #endif
  14. /*------------------------------------------------------------------------*
  15. * OES extension tokens
  16. *------------------------------------------------------------------------*/
  17. /* GL_OES_compressed_ETC1_RGB8_texture */
  18. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  19. #define GL_ETC1_RGB8_OES 0x8D64
  20. #endif
  21. /* GL_OES_compressed_paletted_texture */
  22. #ifndef GL_OES_compressed_paletted_texture
  23. #define GL_PALETTE4_RGB8_OES 0x8B90
  24. #define GL_PALETTE4_RGBA8_OES 0x8B91
  25. #define GL_PALETTE4_R5_G6_B5_OES 0x8B92
  26. #define GL_PALETTE4_RGBA4_OES 0x8B93
  27. #define GL_PALETTE4_RGB5_A1_OES 0x8B94
  28. #define GL_PALETTE8_RGB8_OES 0x8B95
  29. #define GL_PALETTE8_RGBA8_OES 0x8B96
  30. #define GL_PALETTE8_R5_G6_B5_OES 0x8B97
  31. #define GL_PALETTE8_RGBA4_OES 0x8B98
  32. #define GL_PALETTE8_RGB5_A1_OES 0x8B99
  33. #endif
  34. /* GL_OES_depth24 */
  35. #ifndef GL_OES_depth24
  36. #define GL_DEPTH_COMPONENT24_OES 0x81A6
  37. #endif
  38. /* GL_OES_depth32 */
  39. #ifndef GL_OES_depth32
  40. #define GL_DEPTH_COMPONENT32_OES 0x81A7
  41. #endif
  42. /* GL_OES_depth_texture */
  43. /* No new tokens introduced by this extension. */
  44. /* GL_OES_EGL_image */
  45. #ifndef GL_OES_EGL_image
  46. typedef void* GLeglImageOES;
  47. #endif
  48. /* GL_OES_EGL_image_external */
  49. #ifndef GL_OES_EGL_image_external
  50. /* GLeglImageOES defined in GL_OES_EGL_image already. */
  51. #define GL_TEXTURE_EXTERNAL_OES 0x8D65
  52. #define GL_SAMPLER_EXTERNAL_OES 0x8D66
  53. #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
  54. #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
  55. #endif
  56. /* GL_OES_element_index_uint */
  57. #ifndef GL_OES_element_index_uint
  58. #define GL_UNSIGNED_INT 0x1405
  59. #endif
  60. /* GL_OES_get_program_binary */
  61. #ifndef GL_OES_get_program_binary
  62. #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
  63. #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
  64. #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
  65. #endif
  66. /* GL_OES_mapbuffer */
  67. #ifndef GL_OES_mapbuffer
  68. #define GL_WRITE_ONLY_OES 0x88B9
  69. #define GL_BUFFER_ACCESS_OES 0x88BB
  70. #define GL_BUFFER_MAPPED_OES 0x88BC
  71. #define GL_BUFFER_MAP_POINTER_OES 0x88BD
  72. #endif
  73. /* GL_OES_packed_depth_stencil */
  74. #ifndef GL_OES_packed_depth_stencil
  75. #define GL_DEPTH_STENCIL_OES 0x84F9
  76. #define GL_UNSIGNED_INT_24_8_OES 0x84FA
  77. #define GL_DEPTH24_STENCIL8_OES 0x88F0
  78. #endif
  79. /* GL_OES_required_internalformat */
  80. #ifndef GL_OES_required_internalformat
  81. #define GL_ALPHA8_OES 0x803C
  82. #define GL_DEPTH_COMPONENT16_OES 0x81A5
  83. /* reuse GL_DEPTH_COMPONENT24_OES */
  84. /* reuse GL_DEPTH24_STENCIL8_OES */
  85. /* reuse GL_DEPTH_COMPONENT32_OES */
  86. #define GL_LUMINANCE4_ALPHA4_OES 0x8043
  87. #define GL_LUMINANCE8_ALPHA8_OES 0x8045
  88. #define GL_LUMINANCE8_OES 0x8040
  89. #define GL_RGBA4_OES 0x8056
  90. #define GL_RGB5_A1_OES 0x8057
  91. #define GL_RGB565_OES 0x8D62
  92. /* reuse GL_RGB8_OES */
  93. /* reuse GL_RGBA8_OES */
  94. /* reuse GL_RGB10_EXT */
  95. /* reuse GL_RGB10_A2_EXT */
  96. #endif
  97. /* GL_OES_rgb8_rgba8 */
  98. #ifndef GL_OES_rgb8_rgba8
  99. #define GL_RGB8_OES 0x8051
  100. #define GL_RGBA8_OES 0x8058
  101. #endif
  102. /* GL_OES_standard_derivatives */
  103. #ifndef GL_OES_standard_derivatives
  104. #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
  105. #endif
  106. /* GL_OES_stencil1 */
  107. #ifndef GL_OES_stencil1
  108. #define GL_STENCIL_INDEX1_OES 0x8D46
  109. #endif
  110. /* GL_OES_stencil4 */
  111. #ifndef GL_OES_stencil4
  112. #define GL_STENCIL_INDEX4_OES 0x8D47
  113. #endif
  114. /* GL_OES_texture_3D */
  115. #ifndef GL_OES_texture_3D
  116. #define GL_TEXTURE_WRAP_R_OES 0x8072
  117. #define GL_TEXTURE_3D_OES 0x806F
  118. #define GL_TEXTURE_BINDING_3D_OES 0x806A
  119. #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
  120. #define GL_SAMPLER_3D_OES 0x8B5F
  121. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
  122. #endif
  123. /* GL_OES_texture_float */
  124. /* No new tokens introduced by this extension. */
  125. /* GL_OES_texture_float_linear */
  126. /* No new tokens introduced by this extension. */
  127. /* GL_OES_texture_half_float */
  128. #ifndef GL_OES_texture_half_float
  129. #define GL_HALF_FLOAT_OES 0x8D61
  130. #endif
  131. /* GL_OES_texture_half_float_linear */
  132. /* No new tokens introduced by this extension. */
  133. /* GL_OES_texture_npot */
  134. /* No new tokens introduced by this extension. */
  135. /* GL_OES_vertex_array_object */
  136. #ifndef GL_OES_vertex_array_object
  137. #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
  138. #endif
  139. /* GL_OES_vertex_half_float */
  140. /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
  141. /* GL_OES_vertex_type_10_10_10_2 */
  142. #ifndef GL_OES_vertex_type_10_10_10_2
  143. #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
  144. #define GL_INT_10_10_10_2_OES 0x8DF7
  145. #endif
  146. /*------------------------------------------------------------------------*
  147. * AMD extension tokens
  148. *------------------------------------------------------------------------*/
  149. /* GL_AMD_compressed_3DC_texture */
  150. #ifndef GL_AMD_compressed_3DC_texture
  151. #define GL_3DC_X_AMD 0x87F9
  152. #define GL_3DC_XY_AMD 0x87FA
  153. #endif
  154. /* GL_AMD_compressed_ATC_texture */
  155. #ifndef GL_AMD_compressed_ATC_texture
  156. #define GL_ATC_RGB_AMD 0x8C92
  157. #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
  158. #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
  159. #endif
  160. /* GL_AMD_performance_monitor */
  161. #ifndef GL_AMD_performance_monitor
  162. #define GL_COUNTER_TYPE_AMD 0x8BC0
  163. #define GL_COUNTER_RANGE_AMD 0x8BC1
  164. #define GL_UNSIGNED_INT64_AMD 0x8BC2
  165. #define GL_PERCENTAGE_AMD 0x8BC3
  166. #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
  167. #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
  168. #define GL_PERFMON_RESULT_AMD 0x8BC6
  169. #endif
  170. /* GL_AMD_program_binary_Z400 */
  171. #ifndef GL_AMD_program_binary_Z400
  172. #define GL_Z400_BINARY_AMD 0x8740
  173. #endif
  174. /*------------------------------------------------------------------------*
  175. * ANGLE extension tokens
  176. *------------------------------------------------------------------------*/
  177. /* GL_ANGLE_framebuffer_blit */
  178. #ifndef GL_ANGLE_framebuffer_blit
  179. #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
  180. #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
  181. #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
  182. #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
  183. #endif
  184. /* GL_ANGLE_framebuffer_multisample */
  185. #ifndef GL_ANGLE_framebuffer_multisample
  186. #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
  187. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
  188. #define GL_MAX_SAMPLES_ANGLE 0x8D57
  189. #endif
  190. /* GL_ANGLE_instanced_arrays */
  191. #ifndef GL_ANGLE_instanced_arrays
  192. #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
  193. #endif
  194. /* GL_ANGLE_pack_reverse_row_order */
  195. #ifndef GL_ANGLE_pack_reverse_row_order
  196. #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
  197. #endif
  198. /* GL_ANGLE_texture_compression_dxt3 */
  199. #ifndef GL_ANGLE_texture_compression_dxt3
  200. #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
  201. #endif
  202. /* GL_ANGLE_texture_compression_dxt5 */
  203. #ifndef GL_ANGLE_texture_compression_dxt5
  204. #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
  205. #endif
  206. /* GL_ANGLE_texture_usage */
  207. #ifndef GL_ANGLE_texture_usage
  208. #define GL_TEXTURE_USAGE_ANGLE 0x93A2
  209. #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
  210. #endif
  211. /* GL_ANGLE_translated_shader_source */
  212. #ifndef GL_ANGLE_translated_shader_source
  213. #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
  214. #endif
  215. /*------------------------------------------------------------------------*
  216. * APPLE extension tokens
  217. *------------------------------------------------------------------------*/
  218. /* GL_APPLE_rgb_422 */
  219. #ifndef GL_APPLE_rgb_422
  220. #define GL_RGB_422_APPLE 0x8A1F
  221. #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
  222. #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
  223. #endif
  224. /* GL_APPLE_framebuffer_multisample */
  225. #ifndef GL_APPLE_framebuffer_multisample
  226. #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
  227. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
  228. #define GL_MAX_SAMPLES_APPLE 0x8D57
  229. #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
  230. #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
  231. #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
  232. #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
  233. #endif
  234. /* GL_APPLE_texture_format_BGRA8888 */
  235. #ifndef GL_APPLE_texture_format_BGRA8888
  236. #define GL_BGRA_EXT 0x80E1
  237. #endif
  238. /* GL_APPLE_texture_max_level */
  239. #ifndef GL_APPLE_texture_max_level
  240. #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
  241. #endif
  242. /*------------------------------------------------------------------------*
  243. * ARM extension tokens
  244. *------------------------------------------------------------------------*/
  245. /* GL_ARM_mali_shader_binary */
  246. #ifndef GL_ARM_mali_shader_binary
  247. #define GL_MALI_SHADER_BINARY_ARM 0x8F60
  248. #endif
  249. /* GL_ARM_rgba8 */
  250. /* No new tokens introduced by this extension. */
  251. /*------------------------------------------------------------------------*
  252. * EXT extension tokens
  253. *------------------------------------------------------------------------*/
  254. /* GL_EXT_blend_minmax */
  255. #ifndef GL_EXT_blend_minmax
  256. #define GL_MIN_EXT 0x8007
  257. #define GL_MAX_EXT 0x8008
  258. #endif
  259. /* GL_EXT_color_buffer_half_float */
  260. #ifndef GL_EXT_color_buffer_half_float
  261. #define GL_RGBA16F_EXT 0x881A
  262. #define GL_RGB16F_EXT 0x881B
  263. #define GL_RG16F_EXT 0x822F
  264. #define GL_R16F_EXT 0x822D
  265. #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
  266. #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
  267. #endif
  268. /* GL_EXT_debug_label */
  269. #ifndef GL_EXT_debug_label
  270. #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
  271. #define GL_PROGRAM_OBJECT_EXT 0x8B40
  272. #define GL_SHADER_OBJECT_EXT 0x8B48
  273. #define GL_BUFFER_OBJECT_EXT 0x9151
  274. #define GL_QUERY_OBJECT_EXT 0x9153
  275. #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
  276. #endif
  277. /* GL_EXT_debug_marker */
  278. /* No new tokens introduced by this extension. */
  279. /* GL_EXT_discard_framebuffer */
  280. #ifndef GL_EXT_discard_framebuffer
  281. #define GL_COLOR_EXT 0x1800
  282. #define GL_DEPTH_EXT 0x1801
  283. #define GL_STENCIL_EXT 0x1802
  284. #endif
  285. /* GL_EXT_multisampled_render_to_texture */
  286. #ifndef GL_EXT_multisampled_render_to_texture
  287. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
  288. /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
  289. #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
  290. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
  291. #define GL_MAX_SAMPLES_EXT 0x8D57
  292. #endif
  293. /* GL_EXT_multi_draw_arrays */
  294. /* No new tokens introduced by this extension. */
  295. /* GL_EXT_occlusion_query_boolean */
  296. #ifndef GL_EXT_occlusion_query_boolean
  297. #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
  298. #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
  299. #define GL_CURRENT_QUERY_EXT 0x8865
  300. #define GL_QUERY_RESULT_EXT 0x8866
  301. #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
  302. #endif
  303. /* GL_EXT_read_format_bgra */
  304. #ifndef GL_EXT_read_format_bgra
  305. #define GL_BGRA_EXT 0x80E1
  306. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
  307. #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
  308. #endif
  309. /* GL_EXT_robustness */
  310. #ifndef GL_EXT_robustness
  311. /* reuse GL_NO_ERROR */
  312. #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
  313. #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
  314. #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
  315. #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
  316. #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
  317. #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
  318. #define GL_NO_RESET_NOTIFICATION_EXT 0x8261
  319. #endif
  320. /* GL_EXT_separate_shader_objects */
  321. #ifndef GL_EXT_separate_shader_objects
  322. #define GL_VERTEX_SHADER_BIT_EXT 0x00000001
  323. #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
  324. #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
  325. #define GL_PROGRAM_SEPARABLE_EXT 0x8258
  326. #define GL_ACTIVE_PROGRAM_EXT 0x8259
  327. #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
  328. #endif
  329. /* GL_EXT_shader_texture_lod */
  330. /* No new tokens introduced by this extension. */
  331. /* GL_EXT_shadow_samplers */
  332. #ifndef GL_EXT_shadow_samplers
  333. #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
  334. #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
  335. #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
  336. #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
  337. #endif
  338. /* GL_EXT_sRGB */
  339. #ifndef GL_EXT_sRGB
  340. #define GL_SRGB_EXT 0x8C40
  341. #define GL_SRGB_ALPHA_EXT 0x8C42
  342. #define GL_SRGB8_ALPHA8_EXT 0x8C43
  343. #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
  344. #endif
  345. /* GL_EXT_texture_compression_dxt1 */
  346. #ifndef GL_EXT_texture_compression_dxt1
  347. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
  348. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
  349. #endif
  350. /* GL_EXT_texture_filter_anisotropic */
  351. #ifndef GL_EXT_texture_filter_anisotropic
  352. #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
  353. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
  354. #endif
  355. /* GL_EXT_texture_format_BGRA8888 */
  356. #ifndef GL_EXT_texture_format_BGRA8888
  357. #define GL_BGRA_EXT 0x80E1
  358. #endif
  359. /* GL_EXT_texture_rg */
  360. #ifndef GL_EXT_texture_rg
  361. #define GL_RED_EXT 0x1903
  362. #define GL_RG_EXT 0x8227
  363. #define GL_R8_EXT 0x8229
  364. #define GL_RG8_EXT 0x822B
  365. #endif
  366. /* GL_EXT_texture_storage */
  367. #ifndef GL_EXT_texture_storage
  368. #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
  369. #define GL_ALPHA8_EXT 0x803C
  370. #define GL_LUMINANCE8_EXT 0x8040
  371. #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
  372. #define GL_RGBA32F_EXT 0x8814
  373. #define GL_RGB32F_EXT 0x8815
  374. #define GL_ALPHA32F_EXT 0x8816
  375. #define GL_LUMINANCE32F_EXT 0x8818
  376. #define GL_LUMINANCE_ALPHA32F_EXT 0x8819
  377. /* reuse GL_RGBA16F_EXT */
  378. /* reuse GL_RGB16F_EXT */
  379. #define GL_ALPHA16F_EXT 0x881C
  380. #define GL_LUMINANCE16F_EXT 0x881E
  381. #define GL_LUMINANCE_ALPHA16F_EXT 0x881F
  382. #define GL_RGB10_A2_EXT 0x8059
  383. #define GL_RGB10_EXT 0x8052
  384. #define GL_BGRA8_EXT 0x93A1
  385. #define GL_R8_EXT 0x8229
  386. #define GL_RG8_EXT 0x822B
  387. #define GL_R32F_EXT 0x822E
  388. #define GL_RG32F_EXT 0x8230
  389. #define GL_R16F_EXT 0x822D
  390. #define GL_RG16F_EXT 0x822F
  391. #endif
  392. /* GL_EXT_texture_type_2_10_10_10_REV */
  393. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  394. #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
  395. #endif
  396. /* GL_EXT_unpack_subimage */
  397. #ifndef GL_EXT_unpack_subimage
  398. #define GL_UNPACK_ROW_LENGTH 0x0CF2
  399. #define GL_UNPACK_SKIP_ROWS 0x0CF3
  400. #define GL_UNPACK_SKIP_PIXELS 0x0CF4
  401. #endif
  402. /*------------------------------------------------------------------------*
  403. * DMP extension tokens
  404. *------------------------------------------------------------------------*/
  405. /* GL_DMP_shader_binary */
  406. #ifndef GL_DMP_shader_binary
  407. #define GL_SHADER_BINARY_DMP 0x9250
  408. #endif
  409. /*------------------------------------------------------------------------*
  410. * FJ extension tokens
  411. *------------------------------------------------------------------------*/
  412. /* GL_FJ_shader_binary_GCCSO */
  413. #ifndef GL_FJ_shader_binary_GCCSO
  414. #define GCCSO_SHADER_BINARY_FJ 0x9260
  415. #endif
  416. /*------------------------------------------------------------------------*
  417. * IMG extension tokens
  418. *------------------------------------------------------------------------*/
  419. /* GL_IMG_program_binary */
  420. #ifndef GL_IMG_program_binary
  421. #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
  422. #endif
  423. /* GL_IMG_read_format */
  424. #ifndef GL_IMG_read_format
  425. #define GL_BGRA_IMG 0x80E1
  426. #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
  427. #endif
  428. /* GL_IMG_shader_binary */
  429. #ifndef GL_IMG_shader_binary
  430. #define GL_SGX_BINARY_IMG 0x8C0A
  431. #endif
  432. /* GL_IMG_texture_compression_pvrtc */
  433. #ifndef GL_IMG_texture_compression_pvrtc
  434. #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
  435. #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
  436. #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
  437. #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
  438. #endif
  439. /* GL_IMG_multisampled_render_to_texture */
  440. #ifndef GL_IMG_multisampled_render_to_texture
  441. #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
  442. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
  443. #define GL_MAX_SAMPLES_IMG 0x9135
  444. #define GL_TEXTURE_SAMPLES_IMG 0x9136
  445. #endif
  446. /*------------------------------------------------------------------------*
  447. * NV extension tokens
  448. *------------------------------------------------------------------------*/
  449. /* GL_NV_coverage_sample */
  450. #ifndef GL_NV_coverage_sample
  451. #define GL_COVERAGE_COMPONENT_NV 0x8ED0
  452. #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
  453. #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
  454. #define GL_COVERAGE_BUFFERS_NV 0x8ED3
  455. #define GL_COVERAGE_SAMPLES_NV 0x8ED4
  456. #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
  457. #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
  458. #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
  459. #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
  460. #endif
  461. /* GL_NV_depth_nonlinear */
  462. #ifndef GL_NV_depth_nonlinear
  463. #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
  464. #endif
  465. /* GL_NV_draw_buffers */
  466. #ifndef GL_NV_draw_buffers
  467. #define GL_MAX_DRAW_BUFFERS_NV 0x8824
  468. #define GL_DRAW_BUFFER0_NV 0x8825
  469. #define GL_DRAW_BUFFER1_NV 0x8826
  470. #define GL_DRAW_BUFFER2_NV 0x8827
  471. #define GL_DRAW_BUFFER3_NV 0x8828
  472. #define GL_DRAW_BUFFER4_NV 0x8829
  473. #define GL_DRAW_BUFFER5_NV 0x882A
  474. #define GL_DRAW_BUFFER6_NV 0x882B
  475. #define GL_DRAW_BUFFER7_NV 0x882C
  476. #define GL_DRAW_BUFFER8_NV 0x882D
  477. #define GL_DRAW_BUFFER9_NV 0x882E
  478. #define GL_DRAW_BUFFER10_NV 0x882F
  479. #define GL_DRAW_BUFFER11_NV 0x8830
  480. #define GL_DRAW_BUFFER12_NV 0x8831
  481. #define GL_DRAW_BUFFER13_NV 0x8832
  482. #define GL_DRAW_BUFFER14_NV 0x8833
  483. #define GL_DRAW_BUFFER15_NV 0x8834
  484. #define GL_COLOR_ATTACHMENT0_NV 0x8CE0
  485. #define GL_COLOR_ATTACHMENT1_NV 0x8CE1
  486. #define GL_COLOR_ATTACHMENT2_NV 0x8CE2
  487. #define GL_COLOR_ATTACHMENT3_NV 0x8CE3
  488. #define GL_COLOR_ATTACHMENT4_NV 0x8CE4
  489. #define GL_COLOR_ATTACHMENT5_NV 0x8CE5
  490. #define GL_COLOR_ATTACHMENT6_NV 0x8CE6
  491. #define GL_COLOR_ATTACHMENT7_NV 0x8CE7
  492. #define GL_COLOR_ATTACHMENT8_NV 0x8CE8
  493. #define GL_COLOR_ATTACHMENT9_NV 0x8CE9
  494. #define GL_COLOR_ATTACHMENT10_NV 0x8CEA
  495. #define GL_COLOR_ATTACHMENT11_NV 0x8CEB
  496. #define GL_COLOR_ATTACHMENT12_NV 0x8CEC
  497. #define GL_COLOR_ATTACHMENT13_NV 0x8CED
  498. #define GL_COLOR_ATTACHMENT14_NV 0x8CEE
  499. #define GL_COLOR_ATTACHMENT15_NV 0x8CEF
  500. #endif
  501. /* GL_NV_fbo_color_attachments */
  502. #ifndef GL_NV_fbo_color_attachments
  503. #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
  504. /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
  505. #endif
  506. /* GL_NV_fence */
  507. #ifndef GL_NV_fence
  508. #define GL_ALL_COMPLETED_NV 0x84F2
  509. #define GL_FENCE_STATUS_NV 0x84F3
  510. #define GL_FENCE_CONDITION_NV 0x84F4
  511. #endif
  512. /* GL_NV_read_buffer */
  513. #ifndef GL_NV_read_buffer
  514. #define GL_READ_BUFFER_NV 0x0C02
  515. #endif
  516. /* GL_NV_read_buffer_front */
  517. /* No new tokens introduced by this extension. */
  518. /* GL_NV_read_depth */
  519. /* No new tokens introduced by this extension. */
  520. /* GL_NV_read_depth_stencil */
  521. /* No new tokens introduced by this extension. */
  522. /* GL_NV_read_stencil */
  523. /* No new tokens introduced by this extension. */
  524. /* GL_NV_texture_compression_s3tc_update */
  525. /* No new tokens introduced by this extension. */
  526. /* GL_NV_texture_npot_2D_mipmap */
  527. /* No new tokens introduced by this extension. */
  528. /*------------------------------------------------------------------------*
  529. * QCOM extension tokens
  530. *------------------------------------------------------------------------*/
  531. /* GL_QCOM_alpha_test */
  532. #ifndef GL_QCOM_alpha_test
  533. #define GL_ALPHA_TEST_QCOM 0x0BC0
  534. #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
  535. #define GL_ALPHA_TEST_REF_QCOM 0x0BC2
  536. #endif
  537. /* GL_QCOM_binning_control */
  538. #ifndef GL_QCOM_binning_control
  539. #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
  540. #define GL_CPU_OPTIMIZED_QCOM 0x8FB1
  541. #define GL_GPU_OPTIMIZED_QCOM 0x8FB2
  542. #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
  543. #endif
  544. /* GL_QCOM_driver_control */
  545. /* No new tokens introduced by this extension. */
  546. /* GL_QCOM_extended_get */
  547. #ifndef GL_QCOM_extended_get
  548. #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
  549. #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
  550. #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
  551. #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
  552. #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
  553. #define GL_TEXTURE_TYPE_QCOM 0x8BD7
  554. #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
  555. #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
  556. #define GL_TEXTURE_TARGET_QCOM 0x8BDA
  557. #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
  558. #define GL_STATE_RESTORE 0x8BDC
  559. #endif
  560. /* GL_QCOM_extended_get2 */
  561. /* No new tokens introduced by this extension. */
  562. /* GL_QCOM_perfmon_global_mode */
  563. #ifndef GL_QCOM_perfmon_global_mode
  564. #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
  565. #endif
  566. /* GL_QCOM_writeonly_rendering */
  567. #ifndef GL_QCOM_writeonly_rendering
  568. #define GL_WRITEONLY_RENDERING_QCOM 0x8823
  569. #endif
  570. /* GL_QCOM_tiled_rendering */
  571. #ifndef GL_QCOM_tiled_rendering
  572. #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
  573. #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
  574. #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
  575. #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
  576. #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
  577. #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
  578. #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
  579. #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
  580. #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
  581. #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
  582. #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
  583. #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
  584. #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
  585. #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
  586. #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
  587. #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
  588. #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
  589. #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
  590. #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
  591. #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
  592. #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
  593. #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
  594. #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
  595. #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
  596. #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
  597. #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
  598. #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
  599. #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
  600. #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
  601. #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
  602. #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
  603. #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
  604. #endif
  605. /*------------------------------------------------------------------------*
  606. * VIV extension tokens
  607. *------------------------------------------------------------------------*/
  608. /* GL_VIV_shader_binary */
  609. #ifndef GL_VIV_shader_binary
  610. #define GL_SHADER_BINARY_VIV 0x8FC4
  611. #endif
  612. /*------------------------------------------------------------------------*
  613. * End of extension tokens, start of corresponding extension functions
  614. *------------------------------------------------------------------------*/
  615. /*------------------------------------------------------------------------*
  616. * OES extension functions
  617. *------------------------------------------------------------------------*/
  618. /* GL_OES_compressed_ETC1_RGB8_texture */
  619. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  620. #define GL_OES_compressed_ETC1_RGB8_texture 1
  621. #endif
  622. /* GL_OES_compressed_paletted_texture */
  623. #ifndef GL_OES_compressed_paletted_texture
  624. #define GL_OES_compressed_paletted_texture 1
  625. #endif
  626. /* GL_OES_depth24 */
  627. #ifndef GL_OES_depth24
  628. #define GL_OES_depth24 1
  629. #endif
  630. /* GL_OES_depth32 */
  631. #ifndef GL_OES_depth32
  632. #define GL_OES_depth32 1
  633. #endif
  634. /* GL_OES_depth_texture */
  635. #ifndef GL_OES_depth_texture
  636. #define GL_OES_depth_texture 1
  637. #endif
  638. /* GL_OES_EGL_image */
  639. #ifndef GL_OES_EGL_image
  640. #define GL_OES_EGL_image 1
  641. #ifdef GL_GLEXT_PROTOTYPES
  642. GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  643. GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  644. #endif
  645. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  646. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  647. #endif
  648. /* GL_OES_EGL_image_external */
  649. #ifndef GL_OES_EGL_image_external
  650. #define GL_OES_EGL_image_external 1
  651. /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  652. #endif
  653. /* GL_OES_element_index_uint */
  654. #ifndef GL_OES_element_index_uint
  655. #define GL_OES_element_index_uint 1
  656. #endif
  657. /* GL_OES_fbo_render_mipmap */
  658. #ifndef GL_OES_fbo_render_mipmap
  659. #define GL_OES_fbo_render_mipmap 1
  660. #endif
  661. /* GL_OES_fragment_precision_high */
  662. #ifndef GL_OES_fragment_precision_high
  663. #define GL_OES_fragment_precision_high 1
  664. #endif
  665. /* GL_OES_get_program_binary */
  666. #ifndef GL_OES_get_program_binary
  667. #define GL_OES_get_program_binary 1
  668. #ifdef GL_GLEXT_PROTOTYPES
  669. GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  670. GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  671. #endif
  672. typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  673. typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  674. #endif
  675. /* GL_OES_mapbuffer */
  676. #ifndef GL_OES_mapbuffer
  677. #define GL_OES_mapbuffer 1
  678. #ifdef GL_GLEXT_PROTOTYPES
  679. GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  680. GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  681. GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
  682. #endif
  683. typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  684. typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  685. typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
  686. #endif
  687. /* GL_OES_packed_depth_stencil */
  688. #ifndef GL_OES_packed_depth_stencil
  689. #define GL_OES_packed_depth_stencil 1
  690. #endif
  691. /* GL_OES_required_internalformat */
  692. #ifndef GL_OES_required_internalformat
  693. #define GL_OES_required_internalformat 1
  694. #endif
  695. /* GL_OES_rgb8_rgba8 */
  696. #ifndef GL_OES_rgb8_rgba8
  697. #define GL_OES_rgb8_rgba8 1
  698. #endif
  699. /* GL_OES_standard_derivatives */
  700. #ifndef GL_OES_standard_derivatives
  701. #define GL_OES_standard_derivatives 1
  702. #endif
  703. /* GL_OES_stencil1 */
  704. #ifndef GL_OES_stencil1
  705. #define GL_OES_stencil1 1
  706. #endif
  707. /* GL_OES_stencil4 */
  708. #ifndef GL_OES_stencil4
  709. #define GL_OES_stencil4 1
  710. #endif
  711. /* GL_OES_texture_3D */
  712. #ifndef GL_OES_texture_3D
  713. #define GL_OES_texture_3D 1
  714. #ifdef GL_GLEXT_PROTOTYPES
  715. 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);
  716. 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);
  717. GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  718. 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);
  719. 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);
  720. GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  721. #endif
  722. 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);
  723. 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);
  724. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  725. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  726. 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);
  727. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  728. #endif
  729. /* GL_OES_texture_float */
  730. #ifndef GL_OES_texture_float
  731. #define GL_OES_texture_float 1
  732. #endif
  733. /* GL_OES_texture_float_linear */
  734. #ifndef GL_OES_texture_float_linear
  735. #define GL_OES_texture_float_linear 1
  736. #endif
  737. /* GL_OES_texture_half_float */
  738. #ifndef GL_OES_texture_half_float
  739. #define GL_OES_texture_half_float 1
  740. #endif
  741. /* GL_OES_texture_half_float_linear */
  742. #ifndef GL_OES_texture_half_float_linear
  743. #define GL_OES_texture_half_float_linear 1
  744. #endif
  745. /* GL_OES_texture_npot */
  746. #ifndef GL_OES_texture_npot
  747. #define GL_OES_texture_npot 1
  748. #endif
  749. /* GL_OES_vertex_array_object */
  750. #ifndef GL_OES_vertex_array_object
  751. #define GL_OES_vertex_array_object 1
  752. #ifdef GL_GLEXT_PROTOTYPES
  753. GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  754. GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  755. GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  756. GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  757. #endif
  758. typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  759. typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  760. typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  761. typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  762. #endif
  763. /* GL_OES_vertex_half_float */
  764. #ifndef GL_OES_vertex_half_float
  765. #define GL_OES_vertex_half_float 1
  766. #endif
  767. /* GL_OES_vertex_type_10_10_10_2 */
  768. #ifndef GL_OES_vertex_type_10_10_10_2
  769. #define GL_OES_vertex_type_10_10_10_2 1
  770. #endif
  771. /*------------------------------------------------------------------------*
  772. * AMD extension functions
  773. *------------------------------------------------------------------------*/
  774. /* GL_AMD_compressed_3DC_texture */
  775. #ifndef GL_AMD_compressed_3DC_texture
  776. #define GL_AMD_compressed_3DC_texture 1
  777. #endif
  778. /* GL_AMD_compressed_ATC_texture */
  779. #ifndef GL_AMD_compressed_ATC_texture
  780. #define GL_AMD_compressed_ATC_texture 1
  781. #endif
  782. /* AMD_performance_monitor */
  783. #ifndef GL_AMD_performance_monitor
  784. #define GL_AMD_performance_monitor 1
  785. #ifdef GL_GLEXT_PROTOTYPES
  786. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  787. GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  788. GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  789. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  790. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  791. GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  792. GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  793. GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  794. GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  795. GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  796. GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  797. #endif
  798. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  799. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  800. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  801. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  802. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  803. typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  804. typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  805. typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  806. typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  807. typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  808. typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  809. #endif
  810. /* GL_AMD_program_binary_Z400 */
  811. #ifndef GL_AMD_program_binary_Z400
  812. #define GL_AMD_program_binary_Z400 1
  813. #endif
  814. /*------------------------------------------------------------------------*
  815. * ANGLE extension functions
  816. *------------------------------------------------------------------------*/
  817. /* GL_ANGLE_framebuffer_blit */
  818. #ifndef GL_ANGLE_framebuffer_blit
  819. #define GL_ANGLE_framebuffer_blit 1
  820. #ifdef GL_GLEXT_PROTOTYPES
  821. 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);
  822. #endif
  823. 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);
  824. #endif
  825. /* GL_ANGLE_framebuffer_multisample */
  826. #ifndef GL_ANGLE_framebuffer_multisample
  827. #define GL_ANGLE_framebuffer_multisample 1
  828. #ifdef GL_GLEXT_PROTOTYPES
  829. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  830. #endif
  831. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  832. #endif
  833. #ifndef GL_ANGLE_instanced_arrays
  834. #ifdef GL_GLEXT_PROTOTYPES
  835. GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  836. GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  837. GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  838. #endif
  839. typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  840. typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  841. typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  842. #endif
  843. /* GL_ANGLE_pack_reverse_row_order */
  844. #ifndef GL_ANGLE_pack_reverse_row_order
  845. #define GL_ANGLE_pack_reverse_row_order 1
  846. #endif
  847. /* GL_ANGLE_texture_compression_dxt3 */
  848. #ifndef GL_ANGLE_texture_compression_dxt3
  849. #define GL_ANGLE_texture_compression_dxt3 1
  850. #endif
  851. /* GL_ANGLE_texture_compression_dxt5 */
  852. #ifndef GL_ANGLE_texture_compression_dxt5
  853. #define GL_ANGLE_texture_compression_dxt5 1
  854. #endif
  855. /* GL_ANGLE_texture_usage */
  856. #ifndef GL_ANGLE_texture_usage
  857. #define GL_ANGLE_texture_usage 1
  858. #endif
  859. #ifndef GL_ANGLE_translated_shader_source
  860. #define GL_ANGLE_translated_shader_source 1
  861. #ifdef GL_GLEXT_PROTOTYPES
  862. GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  863. #endif
  864. typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  865. #endif
  866. /*------------------------------------------------------------------------*
  867. * APPLE extension functions
  868. *------------------------------------------------------------------------*/
  869. /* GL_APPLE_rgb_422 */
  870. #ifndef GL_APPLE_rgb_422
  871. #define GL_APPLE_rgb_422 1
  872. #endif
  873. /* GL_APPLE_framebuffer_multisample */
  874. #ifndef GL_APPLE_framebuffer_multisample
  875. #define GL_APPLE_framebuffer_multisample 1
  876. #ifdef GL_GLEXT_PROTOTYPES
  877. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  878. GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  879. #endif /* GL_GLEXT_PROTOTYPES */
  880. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  881. typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  882. #endif
  883. /* GL_APPLE_texture_format_BGRA8888 */
  884. #ifndef GL_APPLE_texture_format_BGRA8888
  885. #define GL_APPLE_texture_format_BGRA8888 1
  886. #endif
  887. /* GL_APPLE_texture_max_level */
  888. #ifndef GL_APPLE_texture_max_level
  889. #define GL_APPLE_texture_max_level 1
  890. #endif
  891. /*------------------------------------------------------------------------*
  892. * ARM extension functions
  893. *------------------------------------------------------------------------*/
  894. /* GL_ARM_mali_shader_binary */
  895. #ifndef GL_ARM_mali_shader_binary
  896. #define GL_ARM_mali_shader_binary 1
  897. #endif
  898. /* GL_ARM_rgba8 */
  899. #ifndef GL_ARM_rgba8
  900. #define GL_ARM_rgba8 1
  901. #endif
  902. /*------------------------------------------------------------------------*
  903. * EXT extension functions
  904. *------------------------------------------------------------------------*/
  905. /* GL_EXT_blend_minmax */
  906. #ifndef GL_EXT_blend_minmax
  907. #define GL_EXT_blend_minmax 1
  908. #endif
  909. /* GL_EXT_color_buffer_half_float */
  910. #ifndef GL_EXT_color_buffer_half_float
  911. #define GL_EXT_color_buffer_half_float 1
  912. #endif
  913. /* GL_EXT_debug_label */
  914. #ifndef GL_EXT_debug_label
  915. #define GL_EXT_debug_label 1
  916. #ifdef GL_GLEXT_PROTOTYPES
  917. GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  918. GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  919. #endif
  920. typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  921. typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  922. #endif
  923. /* GL_EXT_debug_marker */
  924. #ifndef GL_EXT_debug_marker
  925. #define GL_EXT_debug_marker 1
  926. #ifdef GL_GLEXT_PROTOTYPES
  927. GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  928. GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  929. GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  930. #endif
  931. typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  932. typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  933. typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  934. #endif
  935. /* GL_EXT_discard_framebuffer */
  936. #ifndef GL_EXT_discard_framebuffer
  937. #define GL_EXT_discard_framebuffer 1
  938. #ifdef GL_GLEXT_PROTOTYPES
  939. GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  940. #endif
  941. typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  942. #endif
  943. /* GL_EXT_multisampled_render_to_texture */
  944. #ifndef GL_EXT_multisampled_render_to_texture
  945. #define GL_EXT_multisampled_render_to_texture 1
  946. #ifdef GL_GLEXT_PROTOTYPES
  947. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  948. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  949. #endif
  950. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  951. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  952. #endif
  953. #ifndef GL_EXT_multi_draw_arrays
  954. #define GL_EXT_multi_draw_arrays 1
  955. #ifdef GL_GLEXT_PROTOTYPES
  956. GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
  957. GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
  958. #endif /* GL_GLEXT_PROTOTYPES */
  959. typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  960. typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  961. #endif
  962. /* GL_EXT_occlusion_query_boolean */
  963. #ifndef GL_EXT_occlusion_query_boolean
  964. #define GL_EXT_occlusion_query_boolean 1
  965. #ifdef GL_GLEXT_PROTOTYPES
  966. GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  967. GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  968. GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  969. GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  970. GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  971. GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  972. GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  973. #endif
  974. typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  975. typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  976. typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  977. typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  978. typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  979. typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  980. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  981. #endif
  982. /* GL_EXT_read_format_bgra */
  983. #ifndef GL_EXT_read_format_bgra
  984. #define GL_EXT_read_format_bgra 1
  985. #endif
  986. /* GL_EXT_robustness */
  987. #ifndef GL_EXT_robustness
  988. #define GL_EXT_robustness 1
  989. #ifdef GL_GLEXT_PROTOTYPES
  990. GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  991. GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  992. GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
  993. GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  994. #endif
  995. typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  996. typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  997. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
  998. typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  999. #endif
  1000. /* GL_EXT_separate_shader_objects */
  1001. #ifndef GL_EXT_separate_shader_objects
  1002. #define GL_EXT_separate_shader_objects 1
  1003. #ifdef GL_GLEXT_PROTOTYPES
  1004. GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  1005. GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  1006. GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  1007. GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  1008. GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  1009. GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  1010. GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  1011. GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  1012. GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  1013. GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  1014. GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  1015. GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1016. GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1017. GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  1018. GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  1019. GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1020. GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1021. GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1022. GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1023. GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1024. GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1025. GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1026. GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1027. GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1028. GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1029. GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1030. GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1031. GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1032. GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  1033. GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1034. #endif
  1035. typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  1036. typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  1037. typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  1038. typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1039. typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  1040. typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  1041. typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1042. typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  1043. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  1044. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  1045. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  1046. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1047. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1048. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  1049. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  1050. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1051. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1052. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1053. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1054. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1055. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1056. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1057. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1058. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1059. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1060. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1061. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1062. typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1063. typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1064. typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1065. #endif
  1066. /* GL_EXT_shader_texture_lod */
  1067. #ifndef GL_EXT_shader_texture_lod
  1068. #define GL_EXT_shader_texture_lod 1
  1069. #endif
  1070. /* GL_EXT_shadow_samplers */
  1071. #ifndef GL_EXT_shadow_samplers
  1072. #define GL_EXT_shadow_samplers 1
  1073. #endif
  1074. /* GL_EXT_sRGB */
  1075. #ifndef GL_EXT_sRGB
  1076. #define GL_EXT_sRGB 1
  1077. #endif
  1078. /* GL_EXT_texture_compression_dxt1 */
  1079. #ifndef GL_EXT_texture_compression_dxt1
  1080. #define GL_EXT_texture_compression_dxt1 1
  1081. #endif
  1082. /* GL_EXT_texture_filter_anisotropic */
  1083. #ifndef GL_EXT_texture_filter_anisotropic
  1084. #define GL_EXT_texture_filter_anisotropic 1
  1085. #endif
  1086. /* GL_EXT_texture_format_BGRA8888 */
  1087. #ifndef GL_EXT_texture_format_BGRA8888
  1088. #define GL_EXT_texture_format_BGRA8888 1
  1089. #endif
  1090. /* GL_EXT_texture_rg */
  1091. #ifndef GL_EXT_texture_rg
  1092. #define GL_EXT_texture_rg 1
  1093. #endif
  1094. /* GL_EXT_texture_storage */
  1095. #ifndef GL_EXT_texture_storage
  1096. #define GL_EXT_texture_storage 1
  1097. #ifdef GL_GLEXT_PROTOTYPES
  1098. GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1099. GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1100. GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1101. GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1102. GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1103. GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1104. #endif
  1105. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1106. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1107. typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1108. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1109. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1110. typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1111. #endif
  1112. /* GL_EXT_texture_type_2_10_10_10_REV */
  1113. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  1114. #define GL_EXT_texture_type_2_10_10_10_REV 1
  1115. #endif
  1116. /* GL_EXT_unpack_subimage */
  1117. #ifndef GL_EXT_unpack_subimage
  1118. #define GL_EXT_unpack_subimage 1
  1119. #endif
  1120. /*------------------------------------------------------------------------*
  1121. * DMP extension functions
  1122. *------------------------------------------------------------------------*/
  1123. /* GL_DMP_shader_binary */
  1124. #ifndef GL_DMP_shader_binary
  1125. #define GL_DMP_shader_binary 1
  1126. #endif
  1127. /*------------------------------------------------------------------------*
  1128. * FJ extension functions
  1129. *------------------------------------------------------------------------*/
  1130. /* GL_FJ_shader_binary_GCCSO */
  1131. #ifndef GL_FJ_shader_binary_GCCSO
  1132. #define GL_FJ_shader_binary_GCCSO 1
  1133. #endif
  1134. /*------------------------------------------------------------------------*
  1135. * IMG extension functions
  1136. *------------------------------------------------------------------------*/
  1137. /* GL_IMG_program_binary */
  1138. #ifndef GL_IMG_program_binary
  1139. #define GL_IMG_program_binary 1
  1140. #endif
  1141. /* GL_IMG_read_format */
  1142. #ifndef GL_IMG_read_format
  1143. #define GL_IMG_read_format 1
  1144. #endif
  1145. /* GL_IMG_shader_binary */
  1146. #ifndef GL_IMG_shader_binary
  1147. #define GL_IMG_shader_binary 1
  1148. #endif
  1149. /* GL_IMG_texture_compression_pvrtc */
  1150. #ifndef GL_IMG_texture_compression_pvrtc
  1151. #define GL_IMG_texture_compression_pvrtc 1
  1152. #endif
  1153. /* GL_IMG_multisampled_render_to_texture */
  1154. #ifndef GL_IMG_multisampled_render_to_texture
  1155. #define GL_IMG_multisampled_render_to_texture 1
  1156. #ifdef GL_GLEXT_PROTOTYPES
  1157. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  1158. GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
  1159. #endif
  1160. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1161. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1162. #endif
  1163. /*------------------------------------------------------------------------*
  1164. * NV extension functions
  1165. *------------------------------------------------------------------------*/
  1166. /* GL_NV_coverage_sample */
  1167. #ifndef GL_NV_coverage_sample
  1168. #define GL_NV_coverage_sample 1
  1169. #ifdef GL_GLEXT_PROTOTYPES
  1170. GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  1171. GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  1172. #endif
  1173. typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  1174. typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  1175. #endif
  1176. /* GL_NV_depth_nonlinear */
  1177. #ifndef GL_NV_depth_nonlinear
  1178. #define GL_NV_depth_nonlinear 1
  1179. #endif
  1180. /* GL_NV_draw_buffers */
  1181. #ifndef GL_NV_draw_buffers
  1182. #define GL_NV_draw_buffers 1
  1183. #ifdef GL_GLEXT_PROTOTYPES
  1184. GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  1185. #endif
  1186. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  1187. #endif
  1188. /* GL_NV_fbo_color_attachments */
  1189. #ifndef GL_NV_fbo_color_attachments
  1190. #define GL_NV_fbo_color_attachments 1
  1191. #endif
  1192. /* GL_NV_fence */
  1193. #ifndef GL_NV_fence
  1194. #define GL_NV_fence 1
  1195. #ifdef GL_GLEXT_PROTOTYPES
  1196. GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
  1197. GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
  1198. GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
  1199. GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
  1200. GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
  1201. GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
  1202. GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
  1203. #endif
  1204. typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1205. typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1206. typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1207. typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1208. typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1209. typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1210. typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1211. #endif
  1212. /* GL_NV_read_buffer */
  1213. #ifndef GL_NV_read_buffer
  1214. #define GL_NV_read_buffer 1
  1215. #ifdef GL_GLEXT_PROTOTYPES
  1216. GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  1217. #endif
  1218. typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  1219. #endif
  1220. /* GL_NV_read_buffer_front */
  1221. #ifndef GL_NV_read_buffer_front
  1222. #define GL_NV_read_buffer_front 1
  1223. #endif
  1224. /* GL_NV_read_depth */
  1225. #ifndef GL_NV_read_depth
  1226. #define GL_NV_read_depth 1
  1227. #endif
  1228. /* GL_NV_read_depth_stencil */
  1229. #ifndef GL_NV_read_depth_stencil
  1230. #define GL_NV_read_depth_stencil 1
  1231. #endif
  1232. /* GL_NV_read_stencil */
  1233. #ifndef GL_NV_read_stencil
  1234. #define GL_NV_read_stencil 1
  1235. #endif
  1236. /* GL_NV_texture_compression_s3tc_update */
  1237. #ifndef GL_NV_texture_compression_s3tc_update
  1238. #define GL_NV_texture_compression_s3tc_update 1
  1239. #endif
  1240. /* GL_NV_texture_npot_2D_mipmap */
  1241. #ifndef GL_NV_texture_npot_2D_mipmap
  1242. #define GL_NV_texture_npot_2D_mipmap 1
  1243. #endif
  1244. /*------------------------------------------------------------------------*
  1245. * QCOM extension functions
  1246. *------------------------------------------------------------------------*/
  1247. /* GL_QCOM_alpha_test */
  1248. #ifndef GL_QCOM_alpha_test
  1249. #define GL_QCOM_alpha_test 1
  1250. #ifdef GL_GLEXT_PROTOTYPES
  1251. GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  1252. #endif
  1253. typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  1254. #endif
  1255. /* GL_QCOM_binning_control */
  1256. #ifndef GL_QCOM_binning_control
  1257. #define GL_QCOM_binning_control 1
  1258. #endif
  1259. /* GL_QCOM_driver_control */
  1260. #ifndef GL_QCOM_driver_control
  1261. #define GL_QCOM_driver_control 1
  1262. #ifdef GL_GLEXT_PROTOTYPES
  1263. GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1264. GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1265. GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1266. GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1267. #endif
  1268. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1269. typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1270. typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1271. typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1272. #endif
  1273. /* GL_QCOM_extended_get */
  1274. #ifndef GL_QCOM_extended_get
  1275. #define GL_QCOM_extended_get 1
  1276. #ifdef GL_GLEXT_PROTOTYPES
  1277. GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1278. GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1279. GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1280. GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1281. GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1282. GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1283. 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);
  1284. GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1285. #endif
  1286. typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1287. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1288. typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1289. typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1290. typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1291. typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1292. 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);
  1293. typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1294. #endif
  1295. /* GL_QCOM_extended_get2 */
  1296. #ifndef GL_QCOM_extended_get2
  1297. #define GL_QCOM_extended_get2 1
  1298. #ifdef GL_GLEXT_PROTOTYPES
  1299. GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1300. GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1301. GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  1302. GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1303. #endif
  1304. typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  1305. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  1306. typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  1307. typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  1308. #endif
  1309. /* GL_QCOM_perfmon_global_mode */
  1310. #ifndef GL_QCOM_perfmon_global_mode
  1311. #define GL_QCOM_perfmon_global_mode 1
  1312. #endif
  1313. /* GL_QCOM_writeonly_rendering */
  1314. #ifndef GL_QCOM_writeonly_rendering
  1315. #define GL_QCOM_writeonly_rendering 1
  1316. #endif
  1317. /* GL_QCOM_tiled_rendering */
  1318. #ifndef GL_QCOM_tiled_rendering
  1319. #define GL_QCOM_tiled_rendering 1
  1320. #ifdef GL_GLEXT_PROTOTYPES
  1321. GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1322. GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  1323. #endif
  1324. typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  1325. typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  1326. #endif
  1327. /*------------------------------------------------------------------------*
  1328. * VIV extension tokens
  1329. *------------------------------------------------------------------------*/
  1330. /* GL_VIV_shader_binary */
  1331. #ifndef GL_VIV_shader_binary
  1332. #define GL_VIV_shader_binary 1
  1333. #endif
  1334. #ifdef __cplusplus
  1335. }
  1336. #endif
  1337. #endif /* __gl2ext_h_ */