The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5244 lines
310KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2020 - Raw Material Software Limited
  5. JUCE is an open source library subject to commercial or open-source
  6. licensing.
  7. By using JUCE, you agree to the terms of both the JUCE 6 End-User License
  8. Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
  9. End User License Agreement: www.juce.com/juce-6-licence
  10. Privacy Policy: www.juce.com/juce-privacy-policy
  11. Or: You may also use this code under the terms of the GPL v3 (see
  12. www.gnu.org/licenses).
  13. JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  14. EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  15. DISCLAIMED.
  16. ==============================================================================
  17. */
  18. // This file was generated automatically using data from the opengl-registry
  19. // https://github.com/KhronosGroup/OpenGL-Registry
  20. #pragma once
  21. // IMPORTANT! Include this before any platform gl files.
  22. #if defined (ES1_GL_H_GUARD) || defined (__gl_es20_h_) || defined (__gl_es30_h_)
  23. #error gl.h included before juce_gles2.h
  24. #endif
  25. #if defined (__gltypes_h_)
  26. #error gltypes.h included before juce_gles2.h
  27. #endif
  28. #define ES1_GL_H_GUARD
  29. #define __gl_es20_h_
  30. #define __gl_es30_h_
  31. #include "juce_khrplatform.h"
  32. typedef unsigned int GLenum;
  33. typedef unsigned char GLboolean;
  34. typedef unsigned int GLbitfield;
  35. typedef void GLvoid;
  36. typedef khronos_int8_t GLbyte;
  37. typedef khronos_uint8_t GLubyte;
  38. typedef khronos_int16_t GLshort;
  39. typedef khronos_uint16_t GLushort;
  40. typedef int GLint;
  41. typedef unsigned int GLuint;
  42. typedef khronos_int32_t GLclampx;
  43. typedef int GLsizei;
  44. typedef khronos_float_t GLfloat;
  45. typedef khronos_float_t GLclampf;
  46. typedef double GLdouble;
  47. typedef double GLclampd;
  48. typedef void *GLeglClientBufferEXT;
  49. typedef void *GLeglImageOES;
  50. typedef char GLchar;
  51. typedef char GLcharARB;
  52. #ifdef __APPLE__
  53. typedef void *GLhandleARB;
  54. #else
  55. typedef unsigned int GLhandleARB;
  56. #endif
  57. typedef khronos_uint16_t GLhalf;
  58. typedef khronos_uint16_t GLhalfARB;
  59. typedef khronos_int32_t GLfixed;
  60. typedef khronos_intptr_t GLintptr;
  61. typedef khronos_intptr_t GLintptrARB;
  62. typedef khronos_ssize_t GLsizeiptr;
  63. typedef khronos_ssize_t GLsizeiptrARB;
  64. typedef khronos_int64_t GLint64;
  65. typedef khronos_int64_t GLint64EXT;
  66. typedef khronos_uint64_t GLuint64;
  67. typedef khronos_uint64_t GLuint64EXT;
  68. typedef struct __GLsync *GLsync;
  69. struct _cl_context;
  70. struct _cl_event;
  71. typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
  72. typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
  73. typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
  74. typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
  75. typedef unsigned short GLhalfNV;
  76. typedef GLintptr GLvdpauSurfaceNV;
  77. typedef void ( *GLVULKANPROCNV)(void);
  78. namespace juce
  79. {
  80. namespace gl
  81. {
  82. #ifndef GL_ES_VERSION_2_0
  83. #define GL_ES_VERSION_2_0 1
  84. enum
  85. {
  86. GL_DEPTH_BUFFER_BIT = 0x00000100,
  87. GL_STENCIL_BUFFER_BIT = 0x00000400,
  88. GL_COLOR_BUFFER_BIT = 0x00004000,
  89. GL_FALSE = 0,
  90. GL_TRUE = 1,
  91. GL_POINTS = 0x0000,
  92. GL_LINES = 0x0001,
  93. GL_LINE_LOOP = 0x0002,
  94. GL_LINE_STRIP = 0x0003,
  95. GL_TRIANGLES = 0x0004,
  96. GL_TRIANGLE_STRIP = 0x0005,
  97. GL_TRIANGLE_FAN = 0x0006,
  98. GL_ZERO = 0,
  99. GL_ONE = 1,
  100. GL_SRC_COLOR = 0x0300,
  101. GL_ONE_MINUS_SRC_COLOR = 0x0301,
  102. GL_SRC_ALPHA = 0x0302,
  103. GL_ONE_MINUS_SRC_ALPHA = 0x0303,
  104. GL_DST_ALPHA = 0x0304,
  105. GL_ONE_MINUS_DST_ALPHA = 0x0305,
  106. GL_DST_COLOR = 0x0306,
  107. GL_ONE_MINUS_DST_COLOR = 0x0307,
  108. GL_SRC_ALPHA_SATURATE = 0x0308,
  109. GL_FUNC_ADD = 0x8006,
  110. GL_BLEND_EQUATION = 0x8009,
  111. GL_BLEND_EQUATION_RGB = 0x8009,
  112. GL_BLEND_EQUATION_ALPHA = 0x883D,
  113. GL_FUNC_SUBTRACT = 0x800A,
  114. GL_FUNC_REVERSE_SUBTRACT = 0x800B,
  115. GL_BLEND_DST_RGB = 0x80C8,
  116. GL_BLEND_SRC_RGB = 0x80C9,
  117. GL_BLEND_DST_ALPHA = 0x80CA,
  118. GL_BLEND_SRC_ALPHA = 0x80CB,
  119. GL_CONSTANT_COLOR = 0x8001,
  120. GL_ONE_MINUS_CONSTANT_COLOR = 0x8002,
  121. GL_CONSTANT_ALPHA = 0x8003,
  122. GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
  123. GL_BLEND_COLOR = 0x8005,
  124. GL_ARRAY_BUFFER = 0x8892,
  125. GL_ELEMENT_ARRAY_BUFFER = 0x8893,
  126. GL_ARRAY_BUFFER_BINDING = 0x8894,
  127. GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895,
  128. GL_STREAM_DRAW = 0x88E0,
  129. GL_STATIC_DRAW = 0x88E4,
  130. GL_DYNAMIC_DRAW = 0x88E8,
  131. GL_BUFFER_SIZE = 0x8764,
  132. GL_BUFFER_USAGE = 0x8765,
  133. GL_CURRENT_VERTEX_ATTRIB = 0x8626,
  134. GL_FRONT = 0x0404,
  135. GL_BACK = 0x0405,
  136. GL_FRONT_AND_BACK = 0x0408,
  137. GL_TEXTURE_2D = 0x0DE1,
  138. GL_CULL_FACE = 0x0B44,
  139. GL_BLEND = 0x0BE2,
  140. GL_DITHER = 0x0BD0,
  141. GL_STENCIL_TEST = 0x0B90,
  142. GL_DEPTH_TEST = 0x0B71,
  143. GL_SCISSOR_TEST = 0x0C11,
  144. GL_POLYGON_OFFSET_FILL = 0x8037,
  145. GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E,
  146. GL_SAMPLE_COVERAGE = 0x80A0,
  147. GL_NO_ERROR = 0,
  148. GL_INVALID_ENUM = 0x0500,
  149. GL_INVALID_VALUE = 0x0501,
  150. GL_INVALID_OPERATION = 0x0502,
  151. GL_OUT_OF_MEMORY = 0x0505,
  152. GL_CW = 0x0900,
  153. GL_CCW = 0x0901,
  154. GL_LINE_WIDTH = 0x0B21,
  155. GL_ALIASED_POINT_SIZE_RANGE = 0x846D,
  156. GL_ALIASED_LINE_WIDTH_RANGE = 0x846E,
  157. GL_CULL_FACE_MODE = 0x0B45,
  158. GL_FRONT_FACE = 0x0B46,
  159. GL_DEPTH_RANGE = 0x0B70,
  160. GL_DEPTH_WRITEMASK = 0x0B72,
  161. GL_DEPTH_CLEAR_VALUE = 0x0B73,
  162. GL_DEPTH_FUNC = 0x0B74,
  163. GL_STENCIL_CLEAR_VALUE = 0x0B91,
  164. GL_STENCIL_FUNC = 0x0B92,
  165. GL_STENCIL_FAIL = 0x0B94,
  166. GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95,
  167. GL_STENCIL_PASS_DEPTH_PASS = 0x0B96,
  168. GL_STENCIL_REF = 0x0B97,
  169. GL_STENCIL_VALUE_MASK = 0x0B93,
  170. GL_STENCIL_WRITEMASK = 0x0B98,
  171. GL_STENCIL_BACK_FUNC = 0x8800,
  172. GL_STENCIL_BACK_FAIL = 0x8801,
  173. GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802,
  174. GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803,
  175. GL_STENCIL_BACK_REF = 0x8CA3,
  176. GL_STENCIL_BACK_VALUE_MASK = 0x8CA4,
  177. GL_STENCIL_BACK_WRITEMASK = 0x8CA5,
  178. GL_VIEWPORT = 0x0BA2,
  179. GL_SCISSOR_BOX = 0x0C10,
  180. GL_COLOR_CLEAR_VALUE = 0x0C22,
  181. GL_COLOR_WRITEMASK = 0x0C23,
  182. GL_UNPACK_ALIGNMENT = 0x0CF5,
  183. GL_PACK_ALIGNMENT = 0x0D05,
  184. GL_MAX_TEXTURE_SIZE = 0x0D33,
  185. GL_MAX_VIEWPORT_DIMS = 0x0D3A,
  186. GL_SUBPIXEL_BITS = 0x0D50,
  187. GL_RED_BITS = 0x0D52,
  188. GL_GREEN_BITS = 0x0D53,
  189. GL_BLUE_BITS = 0x0D54,
  190. GL_ALPHA_BITS = 0x0D55,
  191. GL_DEPTH_BITS = 0x0D56,
  192. GL_STENCIL_BITS = 0x0D57,
  193. GL_POLYGON_OFFSET_UNITS = 0x2A00,
  194. GL_POLYGON_OFFSET_FACTOR = 0x8038,
  195. GL_TEXTURE_BINDING_2D = 0x8069,
  196. GL_SAMPLE_BUFFERS = 0x80A8,
  197. GL_SAMPLES = 0x80A9,
  198. GL_SAMPLE_COVERAGE_VALUE = 0x80AA,
  199. GL_SAMPLE_COVERAGE_INVERT = 0x80AB,
  200. GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2,
  201. GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3,
  202. GL_DONT_CARE = 0x1100,
  203. GL_FASTEST = 0x1101,
  204. GL_NICEST = 0x1102,
  205. GL_GENERATE_MIPMAP_HINT = 0x8192,
  206. GL_BYTE = 0x1400,
  207. GL_UNSIGNED_BYTE = 0x1401,
  208. GL_SHORT = 0x1402,
  209. GL_UNSIGNED_SHORT = 0x1403,
  210. GL_INT = 0x1404,
  211. GL_UNSIGNED_INT = 0x1405,
  212. GL_FLOAT = 0x1406,
  213. GL_FIXED = 0x140C,
  214. GL_DEPTH_COMPONENT = 0x1902,
  215. GL_ALPHA = 0x1906,
  216. GL_RGB = 0x1907,
  217. GL_RGBA = 0x1908,
  218. GL_LUMINANCE = 0x1909,
  219. GL_LUMINANCE_ALPHA = 0x190A,
  220. GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033,
  221. GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034,
  222. GL_UNSIGNED_SHORT_5_6_5 = 0x8363,
  223. GL_FRAGMENT_SHADER = 0x8B30,
  224. GL_VERTEX_SHADER = 0x8B31,
  225. GL_MAX_VERTEX_ATTRIBS = 0x8869,
  226. GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB,
  227. GL_MAX_VARYING_VECTORS = 0x8DFC,
  228. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D,
  229. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C,
  230. GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872,
  231. GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD,
  232. GL_SHADER_TYPE = 0x8B4F,
  233. GL_DELETE_STATUS = 0x8B80,
  234. GL_LINK_STATUS = 0x8B82,
  235. GL_VALIDATE_STATUS = 0x8B83,
  236. GL_ATTACHED_SHADERS = 0x8B85,
  237. GL_ACTIVE_UNIFORMS = 0x8B86,
  238. GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87,
  239. GL_ACTIVE_ATTRIBUTES = 0x8B89,
  240. GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A,
  241. GL_SHADING_LANGUAGE_VERSION = 0x8B8C,
  242. GL_CURRENT_PROGRAM = 0x8B8D,
  243. GL_NEVER = 0x0200,
  244. GL_LESS = 0x0201,
  245. GL_EQUAL = 0x0202,
  246. GL_LEQUAL = 0x0203,
  247. GL_GREATER = 0x0204,
  248. GL_NOTEQUAL = 0x0205,
  249. GL_GEQUAL = 0x0206,
  250. GL_ALWAYS = 0x0207,
  251. GL_KEEP = 0x1E00,
  252. GL_REPLACE = 0x1E01,
  253. GL_INCR = 0x1E02,
  254. GL_DECR = 0x1E03,
  255. GL_INVERT = 0x150A,
  256. GL_INCR_WRAP = 0x8507,
  257. GL_DECR_WRAP = 0x8508,
  258. GL_VENDOR = 0x1F00,
  259. GL_RENDERER = 0x1F01,
  260. GL_VERSION = 0x1F02,
  261. GL_EXTENSIONS = 0x1F03,
  262. GL_NEAREST = 0x2600,
  263. GL_LINEAR = 0x2601,
  264. GL_NEAREST_MIPMAP_NEAREST = 0x2700,
  265. GL_LINEAR_MIPMAP_NEAREST = 0x2701,
  266. GL_NEAREST_MIPMAP_LINEAR = 0x2702,
  267. GL_LINEAR_MIPMAP_LINEAR = 0x2703,
  268. GL_TEXTURE_MAG_FILTER = 0x2800,
  269. GL_TEXTURE_MIN_FILTER = 0x2801,
  270. GL_TEXTURE_WRAP_S = 0x2802,
  271. GL_TEXTURE_WRAP_T = 0x2803,
  272. GL_TEXTURE = 0x1702,
  273. GL_TEXTURE_CUBE_MAP = 0x8513,
  274. GL_TEXTURE_BINDING_CUBE_MAP = 0x8514,
  275. GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515,
  276. GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516,
  277. GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517,
  278. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518,
  279. GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519,
  280. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A,
  281. GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C,
  282. GL_TEXTURE0 = 0x84C0,
  283. GL_TEXTURE1 = 0x84C1,
  284. GL_TEXTURE2 = 0x84C2,
  285. GL_TEXTURE3 = 0x84C3,
  286. GL_TEXTURE4 = 0x84C4,
  287. GL_TEXTURE5 = 0x84C5,
  288. GL_TEXTURE6 = 0x84C6,
  289. GL_TEXTURE7 = 0x84C7,
  290. GL_TEXTURE8 = 0x84C8,
  291. GL_TEXTURE9 = 0x84C9,
  292. GL_TEXTURE10 = 0x84CA,
  293. GL_TEXTURE11 = 0x84CB,
  294. GL_TEXTURE12 = 0x84CC,
  295. GL_TEXTURE13 = 0x84CD,
  296. GL_TEXTURE14 = 0x84CE,
  297. GL_TEXTURE15 = 0x84CF,
  298. GL_TEXTURE16 = 0x84D0,
  299. GL_TEXTURE17 = 0x84D1,
  300. GL_TEXTURE18 = 0x84D2,
  301. GL_TEXTURE19 = 0x84D3,
  302. GL_TEXTURE20 = 0x84D4,
  303. GL_TEXTURE21 = 0x84D5,
  304. GL_TEXTURE22 = 0x84D6,
  305. GL_TEXTURE23 = 0x84D7,
  306. GL_TEXTURE24 = 0x84D8,
  307. GL_TEXTURE25 = 0x84D9,
  308. GL_TEXTURE26 = 0x84DA,
  309. GL_TEXTURE27 = 0x84DB,
  310. GL_TEXTURE28 = 0x84DC,
  311. GL_TEXTURE29 = 0x84DD,
  312. GL_TEXTURE30 = 0x84DE,
  313. GL_TEXTURE31 = 0x84DF,
  314. GL_ACTIVE_TEXTURE = 0x84E0,
  315. GL_REPEAT = 0x2901,
  316. GL_CLAMP_TO_EDGE = 0x812F,
  317. GL_MIRRORED_REPEAT = 0x8370,
  318. GL_FLOAT_VEC2 = 0x8B50,
  319. GL_FLOAT_VEC3 = 0x8B51,
  320. GL_FLOAT_VEC4 = 0x8B52,
  321. GL_INT_VEC2 = 0x8B53,
  322. GL_INT_VEC3 = 0x8B54,
  323. GL_INT_VEC4 = 0x8B55,
  324. GL_BOOL = 0x8B56,
  325. GL_BOOL_VEC2 = 0x8B57,
  326. GL_BOOL_VEC3 = 0x8B58,
  327. GL_BOOL_VEC4 = 0x8B59,
  328. GL_FLOAT_MAT2 = 0x8B5A,
  329. GL_FLOAT_MAT3 = 0x8B5B,
  330. GL_FLOAT_MAT4 = 0x8B5C,
  331. GL_SAMPLER_2D = 0x8B5E,
  332. GL_SAMPLER_CUBE = 0x8B60,
  333. GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622,
  334. GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623,
  335. GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624,
  336. GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625,
  337. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A,
  338. GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645,
  339. GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F,
  340. GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A,
  341. GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B,
  342. GL_COMPILE_STATUS = 0x8B81,
  343. GL_INFO_LOG_LENGTH = 0x8B84,
  344. GL_SHADER_SOURCE_LENGTH = 0x8B88,
  345. GL_SHADER_COMPILER = 0x8DFA,
  346. GL_SHADER_BINARY_FORMATS = 0x8DF8,
  347. GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9,
  348. GL_LOW_FLOAT = 0x8DF0,
  349. GL_MEDIUM_FLOAT = 0x8DF1,
  350. GL_HIGH_FLOAT = 0x8DF2,
  351. GL_LOW_INT = 0x8DF3,
  352. GL_MEDIUM_INT = 0x8DF4,
  353. GL_HIGH_INT = 0x8DF5,
  354. GL_FRAMEBUFFER = 0x8D40,
  355. GL_RENDERBUFFER = 0x8D41,
  356. GL_RGBA4 = 0x8056,
  357. GL_RGB5_A1 = 0x8057,
  358. GL_RGB565 = 0x8D62,
  359. GL_DEPTH_COMPONENT16 = 0x81A5,
  360. GL_STENCIL_INDEX8 = 0x8D48,
  361. GL_RENDERBUFFER_WIDTH = 0x8D42,
  362. GL_RENDERBUFFER_HEIGHT = 0x8D43,
  363. GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44,
  364. GL_RENDERBUFFER_RED_SIZE = 0x8D50,
  365. GL_RENDERBUFFER_GREEN_SIZE = 0x8D51,
  366. GL_RENDERBUFFER_BLUE_SIZE = 0x8D52,
  367. GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53,
  368. GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54,
  369. GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55,
  370. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0,
  371. GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1,
  372. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2,
  373. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3,
  374. GL_COLOR_ATTACHMENT0 = 0x8CE0,
  375. GL_DEPTH_ATTACHMENT = 0x8D00,
  376. GL_STENCIL_ATTACHMENT = 0x8D20,
  377. GL_NONE = 0,
  378. GL_FRAMEBUFFER_COMPLETE = 0x8CD5,
  379. GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6,
  380. GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7,
  381. GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9,
  382. GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD,
  383. GL_FRAMEBUFFER_BINDING = 0x8CA6,
  384. GL_RENDERBUFFER_BINDING = 0x8CA7,
  385. GL_MAX_RENDERBUFFER_SIZE = 0x84E8,
  386. GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506,
  387. };
  388. extern void (KHRONOS_APIENTRY* const& glActiveTexture) (GLenum texture);
  389. extern void (KHRONOS_APIENTRY* const& glAttachShader) (GLuint program, GLuint shader);
  390. extern void (KHRONOS_APIENTRY* const& glBindAttribLocation) (GLuint program, GLuint index, const GLchar *name);
  391. extern void (KHRONOS_APIENTRY* const& glBindBuffer) (GLenum target, GLuint buffer);
  392. extern void (KHRONOS_APIENTRY* const& glBindFramebuffer) (GLenum target, GLuint framebuffer);
  393. extern void (KHRONOS_APIENTRY* const& glBindRenderbuffer) (GLenum target, GLuint renderbuffer);
  394. extern void (KHRONOS_APIENTRY* const& glBindTexture) (GLenum target, GLuint texture);
  395. extern void (KHRONOS_APIENTRY* const& glBlendColor) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  396. extern void (KHRONOS_APIENTRY* const& glBlendEquation) (GLenum mode);
  397. extern void (KHRONOS_APIENTRY* const& glBlendEquationSeparate) (GLenum modeRGB, GLenum modeAlpha);
  398. extern void (KHRONOS_APIENTRY* const& glBlendFunc) (GLenum sfactor, GLenum dfactor);
  399. extern void (KHRONOS_APIENTRY* const& glBlendFuncSeparate) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  400. extern void (KHRONOS_APIENTRY* const& glBufferData) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
  401. extern void (KHRONOS_APIENTRY* const& glBufferSubData) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
  402. extern GLenum (KHRONOS_APIENTRY* const& glCheckFramebufferStatus) (GLenum target);
  403. extern void (KHRONOS_APIENTRY* const& glClear) (GLbitfield mask);
  404. extern void (KHRONOS_APIENTRY* const& glClearColor) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  405. extern void (KHRONOS_APIENTRY* const& glClearDepthf) (GLfloat d);
  406. extern void (KHRONOS_APIENTRY* const& glClearStencil) (GLint s);
  407. extern void (KHRONOS_APIENTRY* const& glColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  408. extern void (KHRONOS_APIENTRY* const& glCompileShader) (GLuint shader);
  409. extern void (KHRONOS_APIENTRY* const& glCompressedTexImage2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
  410. extern void (KHRONOS_APIENTRY* const& glCompressedTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
  411. extern void (KHRONOS_APIENTRY* const& glCopyTexImage2D) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  412. extern void (KHRONOS_APIENTRY* const& glCopyTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  413. extern GLuint (KHRONOS_APIENTRY* const& glCreateProgram) ();
  414. extern GLuint (KHRONOS_APIENTRY* const& glCreateShader) (GLenum type);
  415. extern void (KHRONOS_APIENTRY* const& glCullFace) (GLenum mode);
  416. extern void (KHRONOS_APIENTRY* const& glDeleteBuffers) (GLsizei n, const GLuint *buffers);
  417. extern void (KHRONOS_APIENTRY* const& glDeleteFramebuffers) (GLsizei n, const GLuint *framebuffers);
  418. extern void (KHRONOS_APIENTRY* const& glDeleteProgram) (GLuint program);
  419. extern void (KHRONOS_APIENTRY* const& glDeleteRenderbuffers) (GLsizei n, const GLuint *renderbuffers);
  420. extern void (KHRONOS_APIENTRY* const& glDeleteShader) (GLuint shader);
  421. extern void (KHRONOS_APIENTRY* const& glDeleteTextures) (GLsizei n, const GLuint *textures);
  422. extern void (KHRONOS_APIENTRY* const& glDepthFunc) (GLenum func);
  423. extern void (KHRONOS_APIENTRY* const& glDepthMask) (GLboolean flag);
  424. extern void (KHRONOS_APIENTRY* const& glDepthRangef) (GLfloat n, GLfloat f);
  425. extern void (KHRONOS_APIENTRY* const& glDetachShader) (GLuint program, GLuint shader);
  426. extern void (KHRONOS_APIENTRY* const& glDisable) (GLenum cap);
  427. extern void (KHRONOS_APIENTRY* const& glDisableVertexAttribArray) (GLuint index);
  428. extern void (KHRONOS_APIENTRY* const& glDrawArrays) (GLenum mode, GLint first, GLsizei count);
  429. extern void (KHRONOS_APIENTRY* const& glDrawElements) (GLenum mode, GLsizei count, GLenum type, const void *indices);
  430. extern void (KHRONOS_APIENTRY* const& glEnable) (GLenum cap);
  431. extern void (KHRONOS_APIENTRY* const& glEnableVertexAttribArray) (GLuint index);
  432. extern void (KHRONOS_APIENTRY* const& glFinish) ();
  433. extern void (KHRONOS_APIENTRY* const& glFlush) ();
  434. extern void (KHRONOS_APIENTRY* const& glFramebufferRenderbuffer) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  435. extern void (KHRONOS_APIENTRY* const& glFramebufferTexture2D) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  436. extern void (KHRONOS_APIENTRY* const& glFrontFace) (GLenum mode);
  437. extern void (KHRONOS_APIENTRY* const& glGenBuffers) (GLsizei n, GLuint *buffers);
  438. extern void (KHRONOS_APIENTRY* const& glGenerateMipmap) (GLenum target);
  439. extern void (KHRONOS_APIENTRY* const& glGenFramebuffers) (GLsizei n, GLuint *framebuffers);
  440. extern void (KHRONOS_APIENTRY* const& glGenRenderbuffers) (GLsizei n, GLuint *renderbuffers);
  441. extern void (KHRONOS_APIENTRY* const& glGenTextures) (GLsizei n, GLuint *textures);
  442. extern void (KHRONOS_APIENTRY* const& glGetActiveAttrib) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  443. extern void (KHRONOS_APIENTRY* const& glGetActiveUniform) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  444. extern void (KHRONOS_APIENTRY* const& glGetAttachedShaders) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
  445. extern GLint (KHRONOS_APIENTRY* const& glGetAttribLocation) (GLuint program, const GLchar *name);
  446. extern void (KHRONOS_APIENTRY* const& glGetBooleanv) (GLenum pname, GLboolean *data);
  447. extern void (KHRONOS_APIENTRY* const& glGetBufferParameteriv) (GLenum target, GLenum pname, GLint *params);
  448. extern GLenum (KHRONOS_APIENTRY* const& glGetError) ();
  449. extern void (KHRONOS_APIENTRY* const& glGetFloatv) (GLenum pname, GLfloat *data);
  450. extern void (KHRONOS_APIENTRY* const& glGetFramebufferAttachmentParameteriv) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
  451. extern void (KHRONOS_APIENTRY* const& glGetIntegerv) (GLenum pname, GLint *data);
  452. extern void (KHRONOS_APIENTRY* const& glGetProgramiv) (GLuint program, GLenum pname, GLint *params);
  453. extern void (KHRONOS_APIENTRY* const& glGetProgramInfoLog) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  454. extern void (KHRONOS_APIENTRY* const& glGetRenderbufferParameteriv) (GLenum target, GLenum pname, GLint *params);
  455. extern void (KHRONOS_APIENTRY* const& glGetShaderiv) (GLuint shader, GLenum pname, GLint *params);
  456. extern void (KHRONOS_APIENTRY* const& glGetShaderInfoLog) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  457. extern void (KHRONOS_APIENTRY* const& glGetShaderPrecisionFormat) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
  458. extern void (KHRONOS_APIENTRY* const& glGetShaderSource) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  459. extern const GLubyte * (KHRONOS_APIENTRY* const& glGetString) (GLenum name);
  460. extern void (KHRONOS_APIENTRY* const& glGetTexParameterfv) (GLenum target, GLenum pname, GLfloat *params);
  461. extern void (KHRONOS_APIENTRY* const& glGetTexParameteriv) (GLenum target, GLenum pname, GLint *params);
  462. extern void (KHRONOS_APIENTRY* const& glGetUniformfv) (GLuint program, GLint location, GLfloat *params);
  463. extern void (KHRONOS_APIENTRY* const& glGetUniformiv) (GLuint program, GLint location, GLint *params);
  464. extern GLint (KHRONOS_APIENTRY* const& glGetUniformLocation) (GLuint program, const GLchar *name);
  465. extern void (KHRONOS_APIENTRY* const& glGetVertexAttribfv) (GLuint index, GLenum pname, GLfloat *params);
  466. extern void (KHRONOS_APIENTRY* const& glGetVertexAttribiv) (GLuint index, GLenum pname, GLint *params);
  467. extern void (KHRONOS_APIENTRY* const& glGetVertexAttribPointerv) (GLuint index, GLenum pname, void **pointer);
  468. extern void (KHRONOS_APIENTRY* const& glHint) (GLenum target, GLenum mode);
  469. extern GLboolean (KHRONOS_APIENTRY* const& glIsBuffer) (GLuint buffer);
  470. extern GLboolean (KHRONOS_APIENTRY* const& glIsEnabled) (GLenum cap);
  471. extern GLboolean (KHRONOS_APIENTRY* const& glIsFramebuffer) (GLuint framebuffer);
  472. extern GLboolean (KHRONOS_APIENTRY* const& glIsProgram) (GLuint program);
  473. extern GLboolean (KHRONOS_APIENTRY* const& glIsRenderbuffer) (GLuint renderbuffer);
  474. extern GLboolean (KHRONOS_APIENTRY* const& glIsShader) (GLuint shader);
  475. extern GLboolean (KHRONOS_APIENTRY* const& glIsTexture) (GLuint texture);
  476. extern void (KHRONOS_APIENTRY* const& glLineWidth) (GLfloat width);
  477. extern void (KHRONOS_APIENTRY* const& glLinkProgram) (GLuint program);
  478. extern void (KHRONOS_APIENTRY* const& glPixelStorei) (GLenum pname, GLint param);
  479. extern void (KHRONOS_APIENTRY* const& glPolygonOffset) (GLfloat factor, GLfloat units);
  480. extern void (KHRONOS_APIENTRY* const& glReadPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
  481. extern void (KHRONOS_APIENTRY* const& glReleaseShaderCompiler) ();
  482. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorage) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  483. extern void (KHRONOS_APIENTRY* const& glSampleCoverage) (GLfloat value, GLboolean invert);
  484. extern void (KHRONOS_APIENTRY* const& glScissor) (GLint x, GLint y, GLsizei width, GLsizei height);
  485. extern void (KHRONOS_APIENTRY* const& glShaderBinary) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
  486. extern void (KHRONOS_APIENTRY* const& glShaderSource) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
  487. extern void (KHRONOS_APIENTRY* const& glStencilFunc) (GLenum func, GLint ref, GLuint mask);
  488. extern void (KHRONOS_APIENTRY* const& glStencilFuncSeparate) (GLenum face, GLenum func, GLint ref, GLuint mask);
  489. extern void (KHRONOS_APIENTRY* const& glStencilMask) (GLuint mask);
  490. extern void (KHRONOS_APIENTRY* const& glStencilMaskSeparate) (GLenum face, GLuint mask);
  491. extern void (KHRONOS_APIENTRY* const& glStencilOp) (GLenum fail, GLenum zfail, GLenum zpass);
  492. extern void (KHRONOS_APIENTRY* const& glStencilOpSeparate) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  493. extern void (KHRONOS_APIENTRY* const& glTexImage2D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
  494. extern void (KHRONOS_APIENTRY* const& glTexParameterf) (GLenum target, GLenum pname, GLfloat param);
  495. extern void (KHRONOS_APIENTRY* const& glTexParameterfv) (GLenum target, GLenum pname, const GLfloat *params);
  496. extern void (KHRONOS_APIENTRY* const& glTexParameteri) (GLenum target, GLenum pname, GLint param);
  497. extern void (KHRONOS_APIENTRY* const& glTexParameteriv) (GLenum target, GLenum pname, const GLint *params);
  498. extern void (KHRONOS_APIENTRY* const& glTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
  499. extern void (KHRONOS_APIENTRY* const& glUniform1f) (GLint location, GLfloat v0);
  500. extern void (KHRONOS_APIENTRY* const& glUniform1fv) (GLint location, GLsizei count, const GLfloat *value);
  501. extern void (KHRONOS_APIENTRY* const& glUniform1i) (GLint location, GLint v0);
  502. extern void (KHRONOS_APIENTRY* const& glUniform1iv) (GLint location, GLsizei count, const GLint *value);
  503. extern void (KHRONOS_APIENTRY* const& glUniform2f) (GLint location, GLfloat v0, GLfloat v1);
  504. extern void (KHRONOS_APIENTRY* const& glUniform2fv) (GLint location, GLsizei count, const GLfloat *value);
  505. extern void (KHRONOS_APIENTRY* const& glUniform2i) (GLint location, GLint v0, GLint v1);
  506. extern void (KHRONOS_APIENTRY* const& glUniform2iv) (GLint location, GLsizei count, const GLint *value);
  507. extern void (KHRONOS_APIENTRY* const& glUniform3f) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  508. extern void (KHRONOS_APIENTRY* const& glUniform3fv) (GLint location, GLsizei count, const GLfloat *value);
  509. extern void (KHRONOS_APIENTRY* const& glUniform3i) (GLint location, GLint v0, GLint v1, GLint v2);
  510. extern void (KHRONOS_APIENTRY* const& glUniform3iv) (GLint location, GLsizei count, const GLint *value);
  511. extern void (KHRONOS_APIENTRY* const& glUniform4f) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  512. extern void (KHRONOS_APIENTRY* const& glUniform4fv) (GLint location, GLsizei count, const GLfloat *value);
  513. extern void (KHRONOS_APIENTRY* const& glUniform4i) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  514. extern void (KHRONOS_APIENTRY* const& glUniform4iv) (GLint location, GLsizei count, const GLint *value);
  515. extern void (KHRONOS_APIENTRY* const& glUniformMatrix2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  516. extern void (KHRONOS_APIENTRY* const& glUniformMatrix3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  517. extern void (KHRONOS_APIENTRY* const& glUniformMatrix4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  518. extern void (KHRONOS_APIENTRY* const& glUseProgram) (GLuint program);
  519. extern void (KHRONOS_APIENTRY* const& glValidateProgram) (GLuint program);
  520. extern void (KHRONOS_APIENTRY* const& glVertexAttrib1f) (GLuint index, GLfloat x);
  521. extern void (KHRONOS_APIENTRY* const& glVertexAttrib1fv) (GLuint index, const GLfloat *v);
  522. extern void (KHRONOS_APIENTRY* const& glVertexAttrib2f) (GLuint index, GLfloat x, GLfloat y);
  523. extern void (KHRONOS_APIENTRY* const& glVertexAttrib2fv) (GLuint index, const GLfloat *v);
  524. extern void (KHRONOS_APIENTRY* const& glVertexAttrib3f) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  525. extern void (KHRONOS_APIENTRY* const& glVertexAttrib3fv) (GLuint index, const GLfloat *v);
  526. extern void (KHRONOS_APIENTRY* const& glVertexAttrib4f) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  527. extern void (KHRONOS_APIENTRY* const& glVertexAttrib4fv) (GLuint index, const GLfloat *v);
  528. extern void (KHRONOS_APIENTRY* const& glVertexAttribPointer) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
  529. extern void (KHRONOS_APIENTRY* const& glViewport) (GLint x, GLint y, GLsizei width, GLsizei height);
  530. #endif
  531. #ifndef GL_ES_VERSION_3_0
  532. #define GL_ES_VERSION_3_0 1
  533. enum
  534. {
  535. GL_READ_BUFFER = 0x0C02,
  536. GL_UNPACK_ROW_LENGTH = 0x0CF2,
  537. GL_UNPACK_SKIP_ROWS = 0x0CF3,
  538. GL_UNPACK_SKIP_PIXELS = 0x0CF4,
  539. GL_PACK_ROW_LENGTH = 0x0D02,
  540. GL_PACK_SKIP_ROWS = 0x0D03,
  541. GL_PACK_SKIP_PIXELS = 0x0D04,
  542. GL_COLOR = 0x1800,
  543. GL_DEPTH = 0x1801,
  544. GL_STENCIL = 0x1802,
  545. GL_RED = 0x1903,
  546. GL_RGB8 = 0x8051,
  547. GL_RGBA8 = 0x8058,
  548. GL_RGB10_A2 = 0x8059,
  549. GL_TEXTURE_BINDING_3D = 0x806A,
  550. GL_UNPACK_SKIP_IMAGES = 0x806D,
  551. GL_UNPACK_IMAGE_HEIGHT = 0x806E,
  552. GL_TEXTURE_3D = 0x806F,
  553. GL_TEXTURE_WRAP_R = 0x8072,
  554. GL_MAX_3D_TEXTURE_SIZE = 0x8073,
  555. GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368,
  556. GL_MAX_ELEMENTS_VERTICES = 0x80E8,
  557. GL_MAX_ELEMENTS_INDICES = 0x80E9,
  558. GL_TEXTURE_MIN_LOD = 0x813A,
  559. GL_TEXTURE_MAX_LOD = 0x813B,
  560. GL_TEXTURE_BASE_LEVEL = 0x813C,
  561. GL_TEXTURE_MAX_LEVEL = 0x813D,
  562. GL_MIN = 0x8007,
  563. GL_MAX = 0x8008,
  564. GL_DEPTH_COMPONENT24 = 0x81A6,
  565. GL_MAX_TEXTURE_LOD_BIAS = 0x84FD,
  566. GL_TEXTURE_COMPARE_MODE = 0x884C,
  567. GL_TEXTURE_COMPARE_FUNC = 0x884D,
  568. GL_CURRENT_QUERY = 0x8865,
  569. GL_QUERY_RESULT = 0x8866,
  570. GL_QUERY_RESULT_AVAILABLE = 0x8867,
  571. GL_BUFFER_MAPPED = 0x88BC,
  572. GL_BUFFER_MAP_POINTER = 0x88BD,
  573. GL_STREAM_READ = 0x88E1,
  574. GL_STREAM_COPY = 0x88E2,
  575. GL_STATIC_READ = 0x88E5,
  576. GL_STATIC_COPY = 0x88E6,
  577. GL_DYNAMIC_READ = 0x88E9,
  578. GL_DYNAMIC_COPY = 0x88EA,
  579. GL_MAX_DRAW_BUFFERS = 0x8824,
  580. GL_DRAW_BUFFER0 = 0x8825,
  581. GL_DRAW_BUFFER1 = 0x8826,
  582. GL_DRAW_BUFFER2 = 0x8827,
  583. GL_DRAW_BUFFER3 = 0x8828,
  584. GL_DRAW_BUFFER4 = 0x8829,
  585. GL_DRAW_BUFFER5 = 0x882A,
  586. GL_DRAW_BUFFER6 = 0x882B,
  587. GL_DRAW_BUFFER7 = 0x882C,
  588. GL_DRAW_BUFFER8 = 0x882D,
  589. GL_DRAW_BUFFER9 = 0x882E,
  590. GL_DRAW_BUFFER10 = 0x882F,
  591. GL_DRAW_BUFFER11 = 0x8830,
  592. GL_DRAW_BUFFER12 = 0x8831,
  593. GL_DRAW_BUFFER13 = 0x8832,
  594. GL_DRAW_BUFFER14 = 0x8833,
  595. GL_DRAW_BUFFER15 = 0x8834,
  596. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49,
  597. GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A,
  598. GL_SAMPLER_3D = 0x8B5F,
  599. GL_SAMPLER_2D_SHADOW = 0x8B62,
  600. GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B,
  601. GL_PIXEL_PACK_BUFFER = 0x88EB,
  602. GL_PIXEL_UNPACK_BUFFER = 0x88EC,
  603. GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED,
  604. GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF,
  605. GL_FLOAT_MAT2x3 = 0x8B65,
  606. GL_FLOAT_MAT2x4 = 0x8B66,
  607. GL_FLOAT_MAT3x2 = 0x8B67,
  608. GL_FLOAT_MAT3x4 = 0x8B68,
  609. GL_FLOAT_MAT4x2 = 0x8B69,
  610. GL_FLOAT_MAT4x3 = 0x8B6A,
  611. GL_SRGB = 0x8C40,
  612. GL_SRGB8 = 0x8C41,
  613. GL_SRGB8_ALPHA8 = 0x8C43,
  614. GL_COMPARE_REF_TO_TEXTURE = 0x884E,
  615. GL_MAJOR_VERSION = 0x821B,
  616. GL_MINOR_VERSION = 0x821C,
  617. GL_NUM_EXTENSIONS = 0x821D,
  618. GL_RGBA32F = 0x8814,
  619. GL_RGB32F = 0x8815,
  620. GL_RGBA16F = 0x881A,
  621. GL_RGB16F = 0x881B,
  622. GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD,
  623. GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF,
  624. GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904,
  625. GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905,
  626. GL_MAX_VARYING_COMPONENTS = 0x8B4B,
  627. GL_TEXTURE_2D_ARRAY = 0x8C1A,
  628. GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D,
  629. GL_R11F_G11F_B10F = 0x8C3A,
  630. GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B,
  631. GL_RGB9_E5 = 0x8C3D,
  632. GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E,
  633. GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76,
  634. GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F,
  635. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80,
  636. GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83,
  637. GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84,
  638. GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85,
  639. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88,
  640. GL_RASTERIZER_DISCARD = 0x8C89,
  641. GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A,
  642. GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B,
  643. GL_INTERLEAVED_ATTRIBS = 0x8C8C,
  644. GL_SEPARATE_ATTRIBS = 0x8C8D,
  645. GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E,
  646. GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F,
  647. GL_RGBA32UI = 0x8D70,
  648. GL_RGB32UI = 0x8D71,
  649. GL_RGBA16UI = 0x8D76,
  650. GL_RGB16UI = 0x8D77,
  651. GL_RGBA8UI = 0x8D7C,
  652. GL_RGB8UI = 0x8D7D,
  653. GL_RGBA32I = 0x8D82,
  654. GL_RGB32I = 0x8D83,
  655. GL_RGBA16I = 0x8D88,
  656. GL_RGB16I = 0x8D89,
  657. GL_RGBA8I = 0x8D8E,
  658. GL_RGB8I = 0x8D8F,
  659. GL_RED_INTEGER = 0x8D94,
  660. GL_RGB_INTEGER = 0x8D98,
  661. GL_RGBA_INTEGER = 0x8D99,
  662. GL_SAMPLER_2D_ARRAY = 0x8DC1,
  663. GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4,
  664. GL_SAMPLER_CUBE_SHADOW = 0x8DC5,
  665. GL_UNSIGNED_INT_VEC2 = 0x8DC6,
  666. GL_UNSIGNED_INT_VEC3 = 0x8DC7,
  667. GL_UNSIGNED_INT_VEC4 = 0x8DC8,
  668. GL_INT_SAMPLER_2D = 0x8DCA,
  669. GL_INT_SAMPLER_3D = 0x8DCB,
  670. GL_INT_SAMPLER_CUBE = 0x8DCC,
  671. GL_INT_SAMPLER_2D_ARRAY = 0x8DCF,
  672. GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2,
  673. GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3,
  674. GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4,
  675. GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7,
  676. GL_BUFFER_ACCESS_FLAGS = 0x911F,
  677. GL_BUFFER_MAP_LENGTH = 0x9120,
  678. GL_BUFFER_MAP_OFFSET = 0x9121,
  679. GL_DEPTH_COMPONENT32F = 0x8CAC,
  680. GL_DEPTH32F_STENCIL8 = 0x8CAD,
  681. GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD,
  682. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210,
  683. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211,
  684. GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212,
  685. GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213,
  686. GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214,
  687. GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215,
  688. GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216,
  689. GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217,
  690. GL_FRAMEBUFFER_DEFAULT = 0x8218,
  691. GL_FRAMEBUFFER_UNDEFINED = 0x8219,
  692. GL_DEPTH_STENCIL_ATTACHMENT = 0x821A,
  693. GL_DEPTH_STENCIL = 0x84F9,
  694. GL_UNSIGNED_INT_24_8 = 0x84FA,
  695. GL_DEPTH24_STENCIL8 = 0x88F0,
  696. GL_UNSIGNED_NORMALIZED = 0x8C17,
  697. GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6,
  698. GL_READ_FRAMEBUFFER = 0x8CA8,
  699. GL_DRAW_FRAMEBUFFER = 0x8CA9,
  700. GL_READ_FRAMEBUFFER_BINDING = 0x8CAA,
  701. GL_RENDERBUFFER_SAMPLES = 0x8CAB,
  702. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4,
  703. GL_MAX_COLOR_ATTACHMENTS = 0x8CDF,
  704. GL_COLOR_ATTACHMENT1 = 0x8CE1,
  705. GL_COLOR_ATTACHMENT2 = 0x8CE2,
  706. GL_COLOR_ATTACHMENT3 = 0x8CE3,
  707. GL_COLOR_ATTACHMENT4 = 0x8CE4,
  708. GL_COLOR_ATTACHMENT5 = 0x8CE5,
  709. GL_COLOR_ATTACHMENT6 = 0x8CE6,
  710. GL_COLOR_ATTACHMENT7 = 0x8CE7,
  711. GL_COLOR_ATTACHMENT8 = 0x8CE8,
  712. GL_COLOR_ATTACHMENT9 = 0x8CE9,
  713. GL_COLOR_ATTACHMENT10 = 0x8CEA,
  714. GL_COLOR_ATTACHMENT11 = 0x8CEB,
  715. GL_COLOR_ATTACHMENT12 = 0x8CEC,
  716. GL_COLOR_ATTACHMENT13 = 0x8CED,
  717. GL_COLOR_ATTACHMENT14 = 0x8CEE,
  718. GL_COLOR_ATTACHMENT15 = 0x8CEF,
  719. GL_COLOR_ATTACHMENT16 = 0x8CF0,
  720. GL_COLOR_ATTACHMENT17 = 0x8CF1,
  721. GL_COLOR_ATTACHMENT18 = 0x8CF2,
  722. GL_COLOR_ATTACHMENT19 = 0x8CF3,
  723. GL_COLOR_ATTACHMENT20 = 0x8CF4,
  724. GL_COLOR_ATTACHMENT21 = 0x8CF5,
  725. GL_COLOR_ATTACHMENT22 = 0x8CF6,
  726. GL_COLOR_ATTACHMENT23 = 0x8CF7,
  727. GL_COLOR_ATTACHMENT24 = 0x8CF8,
  728. GL_COLOR_ATTACHMENT25 = 0x8CF9,
  729. GL_COLOR_ATTACHMENT26 = 0x8CFA,
  730. GL_COLOR_ATTACHMENT27 = 0x8CFB,
  731. GL_COLOR_ATTACHMENT28 = 0x8CFC,
  732. GL_COLOR_ATTACHMENT29 = 0x8CFD,
  733. GL_COLOR_ATTACHMENT30 = 0x8CFE,
  734. GL_COLOR_ATTACHMENT31 = 0x8CFF,
  735. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56,
  736. GL_MAX_SAMPLES = 0x8D57,
  737. GL_HALF_FLOAT = 0x140B,
  738. GL_MAP_READ_BIT = 0x0001,
  739. GL_MAP_WRITE_BIT = 0x0002,
  740. GL_MAP_INVALIDATE_RANGE_BIT = 0x0004,
  741. GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008,
  742. GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010,
  743. GL_MAP_UNSYNCHRONIZED_BIT = 0x0020,
  744. GL_RG = 0x8227,
  745. GL_RG_INTEGER = 0x8228,
  746. GL_R8 = 0x8229,
  747. GL_RG8 = 0x822B,
  748. GL_R16F = 0x822D,
  749. GL_R32F = 0x822E,
  750. GL_RG16F = 0x822F,
  751. GL_RG32F = 0x8230,
  752. GL_R8I = 0x8231,
  753. GL_R8UI = 0x8232,
  754. GL_R16I = 0x8233,
  755. GL_R16UI = 0x8234,
  756. GL_R32I = 0x8235,
  757. GL_R32UI = 0x8236,
  758. GL_RG8I = 0x8237,
  759. GL_RG8UI = 0x8238,
  760. GL_RG16I = 0x8239,
  761. GL_RG16UI = 0x823A,
  762. GL_RG32I = 0x823B,
  763. GL_RG32UI = 0x823C,
  764. GL_VERTEX_ARRAY_BINDING = 0x85B5,
  765. GL_R8_SNORM = 0x8F94,
  766. GL_RG8_SNORM = 0x8F95,
  767. GL_RGB8_SNORM = 0x8F96,
  768. GL_RGBA8_SNORM = 0x8F97,
  769. GL_SIGNED_NORMALIZED = 0x8F9C,
  770. GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69,
  771. GL_COPY_READ_BUFFER = 0x8F36,
  772. GL_COPY_WRITE_BUFFER = 0x8F37,
  773. GL_COPY_READ_BUFFER_BINDING = 0x8F36,
  774. GL_COPY_WRITE_BUFFER_BINDING = 0x8F37,
  775. GL_UNIFORM_BUFFER = 0x8A11,
  776. GL_UNIFORM_BUFFER_BINDING = 0x8A28,
  777. GL_UNIFORM_BUFFER_START = 0x8A29,
  778. GL_UNIFORM_BUFFER_SIZE = 0x8A2A,
  779. GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B,
  780. GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D,
  781. GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E,
  782. GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F,
  783. GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30,
  784. GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31,
  785. GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33,
  786. GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34,
  787. GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35,
  788. GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36,
  789. GL_UNIFORM_TYPE = 0x8A37,
  790. GL_UNIFORM_SIZE = 0x8A38,
  791. GL_UNIFORM_NAME_LENGTH = 0x8A39,
  792. GL_UNIFORM_BLOCK_INDEX = 0x8A3A,
  793. GL_UNIFORM_OFFSET = 0x8A3B,
  794. GL_UNIFORM_ARRAY_STRIDE = 0x8A3C,
  795. GL_UNIFORM_MATRIX_STRIDE = 0x8A3D,
  796. GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E,
  797. GL_UNIFORM_BLOCK_BINDING = 0x8A3F,
  798. GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40,
  799. GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41,
  800. GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42,
  801. GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43,
  802. GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44,
  803. GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46,
  804. GL_INVALID_INDEX = 0xFFFFFFFF,
  805. GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122,
  806. GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125,
  807. GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111,
  808. GL_OBJECT_TYPE = 0x9112,
  809. GL_SYNC_CONDITION = 0x9113,
  810. GL_SYNC_STATUS = 0x9114,
  811. GL_SYNC_FLAGS = 0x9115,
  812. GL_SYNC_FENCE = 0x9116,
  813. GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117,
  814. GL_UNSIGNALED = 0x9118,
  815. GL_SIGNALED = 0x9119,
  816. GL_ALREADY_SIGNALED = 0x911A,
  817. GL_TIMEOUT_EXPIRED = 0x911B,
  818. GL_CONDITION_SATISFIED = 0x911C,
  819. GL_WAIT_FAILED = 0x911D,
  820. GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001,
  821. GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF,
  822. GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE,
  823. GL_ANY_SAMPLES_PASSED = 0x8C2F,
  824. GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A,
  825. GL_SAMPLER_BINDING = 0x8919,
  826. GL_RGB10_A2UI = 0x906F,
  827. GL_TEXTURE_SWIZZLE_R = 0x8E42,
  828. GL_TEXTURE_SWIZZLE_G = 0x8E43,
  829. GL_TEXTURE_SWIZZLE_B = 0x8E44,
  830. GL_TEXTURE_SWIZZLE_A = 0x8E45,
  831. GL_GREEN = 0x1904,
  832. GL_BLUE = 0x1905,
  833. GL_INT_2_10_10_10_REV = 0x8D9F,
  834. GL_TRANSFORM_FEEDBACK = 0x8E22,
  835. GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23,
  836. GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24,
  837. GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25,
  838. GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257,
  839. GL_PROGRAM_BINARY_LENGTH = 0x8741,
  840. GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE,
  841. GL_PROGRAM_BINARY_FORMATS = 0x87FF,
  842. GL_COMPRESSED_R11_EAC = 0x9270,
  843. GL_COMPRESSED_SIGNED_R11_EAC = 0x9271,
  844. GL_COMPRESSED_RG11_EAC = 0x9272,
  845. GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273,
  846. GL_COMPRESSED_RGB8_ETC2 = 0x9274,
  847. GL_COMPRESSED_SRGB8_ETC2 = 0x9275,
  848. GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276,
  849. GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277,
  850. GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278,
  851. GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279,
  852. GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F,
  853. GL_MAX_ELEMENT_INDEX = 0x8D6B,
  854. GL_NUM_SAMPLE_COUNTS = 0x9380,
  855. GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF,
  856. };
  857. extern void (KHRONOS_APIENTRY* const& glReadBuffer) (GLenum src);
  858. extern void (KHRONOS_APIENTRY* const& glDrawRangeElements) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
  859. extern void (KHRONOS_APIENTRY* const& glTexImage3D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
  860. extern void (KHRONOS_APIENTRY* const& glTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
  861. extern void (KHRONOS_APIENTRY* const& glCopyTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  862. extern void (KHRONOS_APIENTRY* const& glCompressedTexImage3D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
  863. extern void (KHRONOS_APIENTRY* const& glCompressedTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
  864. extern void (KHRONOS_APIENTRY* const& glGenQueries) (GLsizei n, GLuint *ids);
  865. extern void (KHRONOS_APIENTRY* const& glDeleteQueries) (GLsizei n, const GLuint *ids);
  866. extern GLboolean (KHRONOS_APIENTRY* const& glIsQuery) (GLuint id);
  867. extern void (KHRONOS_APIENTRY* const& glBeginQuery) (GLenum target, GLuint id);
  868. extern void (KHRONOS_APIENTRY* const& glEndQuery) (GLenum target);
  869. extern void (KHRONOS_APIENTRY* const& glGetQueryiv) (GLenum target, GLenum pname, GLint *params);
  870. extern void (KHRONOS_APIENTRY* const& glGetQueryObjectuiv) (GLuint id, GLenum pname, GLuint *params);
  871. extern GLboolean (KHRONOS_APIENTRY* const& glUnmapBuffer) (GLenum target);
  872. extern void (KHRONOS_APIENTRY* const& glGetBufferPointerv) (GLenum target, GLenum pname, void **params);
  873. extern void (KHRONOS_APIENTRY* const& glDrawBuffers) (GLsizei n, const GLenum *bufs);
  874. extern void (KHRONOS_APIENTRY* const& glUniformMatrix2x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  875. extern void (KHRONOS_APIENTRY* const& glUniformMatrix3x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  876. extern void (KHRONOS_APIENTRY* const& glUniformMatrix2x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  877. extern void (KHRONOS_APIENTRY* const& glUniformMatrix4x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  878. extern void (KHRONOS_APIENTRY* const& glUniformMatrix3x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  879. extern void (KHRONOS_APIENTRY* const& glUniformMatrix4x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  880. extern void (KHRONOS_APIENTRY* const& glBlitFramebuffer) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  881. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorageMultisample) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  882. extern void (KHRONOS_APIENTRY* const& glFramebufferTextureLayer) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  883. extern void * (KHRONOS_APIENTRY* const& glMapBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  884. extern void (KHRONOS_APIENTRY* const& glFlushMappedBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length);
  885. extern void (KHRONOS_APIENTRY* const& glBindVertexArray) (GLuint array);
  886. extern void (KHRONOS_APIENTRY* const& glDeleteVertexArrays) (GLsizei n, const GLuint *arrays);
  887. extern void (KHRONOS_APIENTRY* const& glGenVertexArrays) (GLsizei n, GLuint *arrays);
  888. extern GLboolean (KHRONOS_APIENTRY* const& glIsVertexArray) (GLuint array);
  889. extern void (KHRONOS_APIENTRY* const& glGetIntegeri_v) (GLenum target, GLuint index, GLint *data);
  890. extern void (KHRONOS_APIENTRY* const& glBeginTransformFeedback) (GLenum primitiveMode);
  891. extern void (KHRONOS_APIENTRY* const& glEndTransformFeedback) ();
  892. extern void (KHRONOS_APIENTRY* const& glBindBufferRange) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  893. extern void (KHRONOS_APIENTRY* const& glBindBufferBase) (GLenum target, GLuint index, GLuint buffer);
  894. extern void (KHRONOS_APIENTRY* const& glTransformFeedbackVaryings) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
  895. extern void (KHRONOS_APIENTRY* const& glGetTransformFeedbackVarying) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  896. extern void (KHRONOS_APIENTRY* const& glVertexAttribIPointer) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
  897. extern void (KHRONOS_APIENTRY* const& glGetVertexAttribIiv) (GLuint index, GLenum pname, GLint *params);
  898. extern void (KHRONOS_APIENTRY* const& glGetVertexAttribIuiv) (GLuint index, GLenum pname, GLuint *params);
  899. extern void (KHRONOS_APIENTRY* const& glVertexAttribI4i) (GLuint index, GLint x, GLint y, GLint z, GLint w);
  900. extern void (KHRONOS_APIENTRY* const& glVertexAttribI4ui) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  901. extern void (KHRONOS_APIENTRY* const& glVertexAttribI4iv) (GLuint index, const GLint *v);
  902. extern void (KHRONOS_APIENTRY* const& glVertexAttribI4uiv) (GLuint index, const GLuint *v);
  903. extern void (KHRONOS_APIENTRY* const& glGetUniformuiv) (GLuint program, GLint location, GLuint *params);
  904. extern GLint (KHRONOS_APIENTRY* const& glGetFragDataLocation) (GLuint program, const GLchar *name);
  905. extern void (KHRONOS_APIENTRY* const& glUniform1ui) (GLint location, GLuint v0);
  906. extern void (KHRONOS_APIENTRY* const& glUniform2ui) (GLint location, GLuint v0, GLuint v1);
  907. extern void (KHRONOS_APIENTRY* const& glUniform3ui) (GLint location, GLuint v0, GLuint v1, GLuint v2);
  908. extern void (KHRONOS_APIENTRY* const& glUniform4ui) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  909. extern void (KHRONOS_APIENTRY* const& glUniform1uiv) (GLint location, GLsizei count, const GLuint *value);
  910. extern void (KHRONOS_APIENTRY* const& glUniform2uiv) (GLint location, GLsizei count, const GLuint *value);
  911. extern void (KHRONOS_APIENTRY* const& glUniform3uiv) (GLint location, GLsizei count, const GLuint *value);
  912. extern void (KHRONOS_APIENTRY* const& glUniform4uiv) (GLint location, GLsizei count, const GLuint *value);
  913. extern void (KHRONOS_APIENTRY* const& glClearBufferiv) (GLenum buffer, GLint drawbuffer, const GLint *value);
  914. extern void (KHRONOS_APIENTRY* const& glClearBufferuiv) (GLenum buffer, GLint drawbuffer, const GLuint *value);
  915. extern void (KHRONOS_APIENTRY* const& glClearBufferfv) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
  916. extern void (KHRONOS_APIENTRY* const& glClearBufferfi) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  917. extern const GLubyte * (KHRONOS_APIENTRY* const& glGetStringi) (GLenum name, GLuint index);
  918. extern void (KHRONOS_APIENTRY* const& glCopyBufferSubData) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  919. extern void (KHRONOS_APIENTRY* const& glGetUniformIndices) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
  920. extern void (KHRONOS_APIENTRY* const& glGetActiveUniformsiv) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  921. extern GLuint (KHRONOS_APIENTRY* const& glGetUniformBlockIndex) (GLuint program, const GLchar *uniformBlockName);
  922. extern void (KHRONOS_APIENTRY* const& glGetActiveUniformBlockiv) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  923. extern void (KHRONOS_APIENTRY* const& glGetActiveUniformBlockName) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  924. extern void (KHRONOS_APIENTRY* const& glUniformBlockBinding) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  925. extern void (KHRONOS_APIENTRY* const& glDrawArraysInstanced) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
  926. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstanced) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
  927. extern GLsync (KHRONOS_APIENTRY* const& glFenceSync) (GLenum condition, GLbitfield flags);
  928. extern GLboolean (KHRONOS_APIENTRY* const& glIsSync) (GLsync sync);
  929. extern void (KHRONOS_APIENTRY* const& glDeleteSync) (GLsync sync);
  930. extern GLenum (KHRONOS_APIENTRY* const& glClientWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  931. extern void (KHRONOS_APIENTRY* const& glWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  932. extern void (KHRONOS_APIENTRY* const& glGetInteger64v) (GLenum pname, GLint64 *data);
  933. extern void (KHRONOS_APIENTRY* const& glGetSynciv) (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
  934. extern void (KHRONOS_APIENTRY* const& glGetInteger64i_v) (GLenum target, GLuint index, GLint64 *data);
  935. extern void (KHRONOS_APIENTRY* const& glGetBufferParameteri64v) (GLenum target, GLenum pname, GLint64 *params);
  936. extern void (KHRONOS_APIENTRY* const& glGenSamplers) (GLsizei count, GLuint *samplers);
  937. extern void (KHRONOS_APIENTRY* const& glDeleteSamplers) (GLsizei count, const GLuint *samplers);
  938. extern GLboolean (KHRONOS_APIENTRY* const& glIsSampler) (GLuint sampler);
  939. extern void (KHRONOS_APIENTRY* const& glBindSampler) (GLuint unit, GLuint sampler);
  940. extern void (KHRONOS_APIENTRY* const& glSamplerParameteri) (GLuint sampler, GLenum pname, GLint param);
  941. extern void (KHRONOS_APIENTRY* const& glSamplerParameteriv) (GLuint sampler, GLenum pname, const GLint *param);
  942. extern void (KHRONOS_APIENTRY* const& glSamplerParameterf) (GLuint sampler, GLenum pname, GLfloat param);
  943. extern void (KHRONOS_APIENTRY* const& glSamplerParameterfv) (GLuint sampler, GLenum pname, const GLfloat *param);
  944. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameteriv) (GLuint sampler, GLenum pname, GLint *params);
  945. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameterfv) (GLuint sampler, GLenum pname, GLfloat *params);
  946. extern void (KHRONOS_APIENTRY* const& glVertexAttribDivisor) (GLuint index, GLuint divisor);
  947. extern void (KHRONOS_APIENTRY* const& glBindTransformFeedback) (GLenum target, GLuint id);
  948. extern void (KHRONOS_APIENTRY* const& glDeleteTransformFeedbacks) (GLsizei n, const GLuint *ids);
  949. extern void (KHRONOS_APIENTRY* const& glGenTransformFeedbacks) (GLsizei n, GLuint *ids);
  950. extern GLboolean (KHRONOS_APIENTRY* const& glIsTransformFeedback) (GLuint id);
  951. extern void (KHRONOS_APIENTRY* const& glPauseTransformFeedback) ();
  952. extern void (KHRONOS_APIENTRY* const& glResumeTransformFeedback) ();
  953. extern void (KHRONOS_APIENTRY* const& glGetProgramBinary) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
  954. extern void (KHRONOS_APIENTRY* const& glProgramBinary) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
  955. extern void (KHRONOS_APIENTRY* const& glProgramParameteri) (GLuint program, GLenum pname, GLint value);
  956. extern void (KHRONOS_APIENTRY* const& glInvalidateFramebuffer) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  957. extern void (KHRONOS_APIENTRY* const& glInvalidateSubFramebuffer) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
  958. extern void (KHRONOS_APIENTRY* const& glTexStorage2D) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  959. extern void (KHRONOS_APIENTRY* const& glTexStorage3D) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  960. extern void (KHRONOS_APIENTRY* const& glGetInternalformativ) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params);
  961. #endif
  962. #ifndef GL_ES_VERSION_3_1
  963. #define GL_ES_VERSION_3_1 1
  964. enum
  965. {
  966. GL_COMPUTE_SHADER = 0x91B9,
  967. GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB,
  968. GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC,
  969. GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD,
  970. GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262,
  971. GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263,
  972. GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264,
  973. GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265,
  974. GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266,
  975. GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB,
  976. GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE,
  977. GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF,
  978. GL_COMPUTE_WORK_GROUP_SIZE = 0x8267,
  979. GL_DISPATCH_INDIRECT_BUFFER = 0x90EE,
  980. GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF,
  981. GL_COMPUTE_SHADER_BIT = 0x00000020,
  982. GL_DRAW_INDIRECT_BUFFER = 0x8F3F,
  983. GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43,
  984. GL_MAX_UNIFORM_LOCATIONS = 0x826E,
  985. GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310,
  986. GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311,
  987. GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313,
  988. GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314,
  989. GL_MAX_FRAMEBUFFER_WIDTH = 0x9315,
  990. GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316,
  991. GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318,
  992. GL_UNIFORM = 0x92E1,
  993. GL_UNIFORM_BLOCK = 0x92E2,
  994. GL_PROGRAM_INPUT = 0x92E3,
  995. GL_PROGRAM_OUTPUT = 0x92E4,
  996. GL_BUFFER_VARIABLE = 0x92E5,
  997. GL_SHADER_STORAGE_BLOCK = 0x92E6,
  998. GL_ATOMIC_COUNTER_BUFFER = 0x92C0,
  999. GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4,
  1000. GL_ACTIVE_RESOURCES = 0x92F5,
  1001. GL_MAX_NAME_LENGTH = 0x92F6,
  1002. GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7,
  1003. GL_NAME_LENGTH = 0x92F9,
  1004. GL_TYPE = 0x92FA,
  1005. GL_ARRAY_SIZE = 0x92FB,
  1006. GL_OFFSET = 0x92FC,
  1007. GL_BLOCK_INDEX = 0x92FD,
  1008. GL_ARRAY_STRIDE = 0x92FE,
  1009. GL_MATRIX_STRIDE = 0x92FF,
  1010. GL_IS_ROW_MAJOR = 0x9300,
  1011. GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301,
  1012. GL_BUFFER_BINDING = 0x9302,
  1013. GL_BUFFER_DATA_SIZE = 0x9303,
  1014. GL_NUM_ACTIVE_VARIABLES = 0x9304,
  1015. GL_ACTIVE_VARIABLES = 0x9305,
  1016. GL_REFERENCED_BY_VERTEX_SHADER = 0x9306,
  1017. GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A,
  1018. GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B,
  1019. GL_TOP_LEVEL_ARRAY_SIZE = 0x930C,
  1020. GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D,
  1021. GL_LOCATION = 0x930E,
  1022. GL_VERTEX_SHADER_BIT = 0x00000001,
  1023. GL_FRAGMENT_SHADER_BIT = 0x00000002,
  1024. GL_ALL_SHADER_BITS = 0xFFFFFFFF,
  1025. GL_PROGRAM_SEPARABLE = 0x8258,
  1026. GL_ACTIVE_PROGRAM = 0x8259,
  1027. GL_PROGRAM_PIPELINE_BINDING = 0x825A,
  1028. GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1,
  1029. GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2,
  1030. GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3,
  1031. GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC,
  1032. GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0,
  1033. GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1,
  1034. GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2,
  1035. GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6,
  1036. GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7,
  1037. GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8,
  1038. GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC,
  1039. GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9,
  1040. GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB,
  1041. GL_MAX_IMAGE_UNITS = 0x8F38,
  1042. GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA,
  1043. GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE,
  1044. GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF,
  1045. GL_IMAGE_BINDING_NAME = 0x8F3A,
  1046. GL_IMAGE_BINDING_LEVEL = 0x8F3B,
  1047. GL_IMAGE_BINDING_LAYERED = 0x8F3C,
  1048. GL_IMAGE_BINDING_LAYER = 0x8F3D,
  1049. GL_IMAGE_BINDING_ACCESS = 0x8F3E,
  1050. GL_IMAGE_BINDING_FORMAT = 0x906E,
  1051. GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001,
  1052. GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002,
  1053. GL_UNIFORM_BARRIER_BIT = 0x00000004,
  1054. GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008,
  1055. GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020,
  1056. GL_COMMAND_BARRIER_BIT = 0x00000040,
  1057. GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080,
  1058. GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100,
  1059. GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200,
  1060. GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400,
  1061. GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800,
  1062. GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000,
  1063. GL_ALL_BARRIER_BITS = 0xFFFFFFFF,
  1064. GL_IMAGE_2D = 0x904D,
  1065. GL_IMAGE_3D = 0x904E,
  1066. GL_IMAGE_CUBE = 0x9050,
  1067. GL_IMAGE_2D_ARRAY = 0x9053,
  1068. GL_INT_IMAGE_2D = 0x9058,
  1069. GL_INT_IMAGE_3D = 0x9059,
  1070. GL_INT_IMAGE_CUBE = 0x905B,
  1071. GL_INT_IMAGE_2D_ARRAY = 0x905E,
  1072. GL_UNSIGNED_INT_IMAGE_2D = 0x9063,
  1073. GL_UNSIGNED_INT_IMAGE_3D = 0x9064,
  1074. GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066,
  1075. GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069,
  1076. GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7,
  1077. GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8,
  1078. GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9,
  1079. GL_READ_ONLY = 0x88B8,
  1080. GL_WRITE_ONLY = 0x88B9,
  1081. GL_READ_WRITE = 0x88BA,
  1082. GL_SHADER_STORAGE_BUFFER = 0x90D2,
  1083. GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3,
  1084. GL_SHADER_STORAGE_BUFFER_START = 0x90D4,
  1085. GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5,
  1086. GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6,
  1087. GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA,
  1088. GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB,
  1089. GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC,
  1090. GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD,
  1091. GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE,
  1092. GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF,
  1093. GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000,
  1094. GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39,
  1095. GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA,
  1096. GL_STENCIL_INDEX = 0x1901,
  1097. GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E,
  1098. GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F,
  1099. GL_SAMPLE_POSITION = 0x8E50,
  1100. GL_SAMPLE_MASK = 0x8E51,
  1101. GL_SAMPLE_MASK_VALUE = 0x8E52,
  1102. GL_TEXTURE_2D_MULTISAMPLE = 0x9100,
  1103. GL_MAX_SAMPLE_MASK_WORDS = 0x8E59,
  1104. GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E,
  1105. GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F,
  1106. GL_MAX_INTEGER_SAMPLES = 0x9110,
  1107. GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104,
  1108. GL_TEXTURE_SAMPLES = 0x9106,
  1109. GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107,
  1110. GL_TEXTURE_WIDTH = 0x1000,
  1111. GL_TEXTURE_HEIGHT = 0x1001,
  1112. GL_TEXTURE_DEPTH = 0x8071,
  1113. GL_TEXTURE_INTERNAL_FORMAT = 0x1003,
  1114. GL_TEXTURE_RED_SIZE = 0x805C,
  1115. GL_TEXTURE_GREEN_SIZE = 0x805D,
  1116. GL_TEXTURE_BLUE_SIZE = 0x805E,
  1117. GL_TEXTURE_ALPHA_SIZE = 0x805F,
  1118. GL_TEXTURE_DEPTH_SIZE = 0x884A,
  1119. GL_TEXTURE_STENCIL_SIZE = 0x88F1,
  1120. GL_TEXTURE_SHARED_SIZE = 0x8C3F,
  1121. GL_TEXTURE_RED_TYPE = 0x8C10,
  1122. GL_TEXTURE_GREEN_TYPE = 0x8C11,
  1123. GL_TEXTURE_BLUE_TYPE = 0x8C12,
  1124. GL_TEXTURE_ALPHA_TYPE = 0x8C13,
  1125. GL_TEXTURE_DEPTH_TYPE = 0x8C16,
  1126. GL_TEXTURE_COMPRESSED = 0x86A1,
  1127. GL_SAMPLER_2D_MULTISAMPLE = 0x9108,
  1128. GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109,
  1129. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A,
  1130. GL_VERTEX_ATTRIB_BINDING = 0x82D4,
  1131. GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5,
  1132. GL_VERTEX_BINDING_DIVISOR = 0x82D6,
  1133. GL_VERTEX_BINDING_OFFSET = 0x82D7,
  1134. GL_VERTEX_BINDING_STRIDE = 0x82D8,
  1135. GL_VERTEX_BINDING_BUFFER = 0x8F4F,
  1136. GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9,
  1137. GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA,
  1138. GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5,
  1139. };
  1140. extern void (KHRONOS_APIENTRY* const& glDispatchCompute) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
  1141. extern void (KHRONOS_APIENTRY* const& glDispatchComputeIndirect) (GLintptr indirect);
  1142. extern void (KHRONOS_APIENTRY* const& glDrawArraysIndirect) (GLenum mode, const void *indirect);
  1143. extern void (KHRONOS_APIENTRY* const& glDrawElementsIndirect) (GLenum mode, GLenum type, const void *indirect);
  1144. extern void (KHRONOS_APIENTRY* const& glFramebufferParameteri) (GLenum target, GLenum pname, GLint param);
  1145. extern void (KHRONOS_APIENTRY* const& glGetFramebufferParameteriv) (GLenum target, GLenum pname, GLint *params);
  1146. extern void (KHRONOS_APIENTRY* const& glGetProgramInterfaceiv) (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
  1147. extern GLuint (KHRONOS_APIENTRY* const& glGetProgramResourceIndex) (GLuint program, GLenum programInterface, const GLchar *name);
  1148. extern void (KHRONOS_APIENTRY* const& glGetProgramResourceName) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
  1149. extern void (KHRONOS_APIENTRY* const& glGetProgramResourceiv) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params);
  1150. extern GLint (KHRONOS_APIENTRY* const& glGetProgramResourceLocation) (GLuint program, GLenum programInterface, const GLchar *name);
  1151. extern void (KHRONOS_APIENTRY* const& glUseProgramStages) (GLuint pipeline, GLbitfield stages, GLuint program);
  1152. extern void (KHRONOS_APIENTRY* const& glActiveShaderProgram) (GLuint pipeline, GLuint program);
  1153. extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramv) (GLenum type, GLsizei count, const GLchar *const*strings);
  1154. extern void (KHRONOS_APIENTRY* const& glBindProgramPipeline) (GLuint pipeline);
  1155. extern void (KHRONOS_APIENTRY* const& glDeleteProgramPipelines) (GLsizei n, const GLuint *pipelines);
  1156. extern void (KHRONOS_APIENTRY* const& glGenProgramPipelines) (GLsizei n, GLuint *pipelines);
  1157. extern GLboolean (KHRONOS_APIENTRY* const& glIsProgramPipeline) (GLuint pipeline);
  1158. extern void (KHRONOS_APIENTRY* const& glGetProgramPipelineiv) (GLuint pipeline, GLenum pname, GLint *params);
  1159. extern void (KHRONOS_APIENTRY* const& glProgramUniform1i) (GLuint program, GLint location, GLint v0);
  1160. extern void (KHRONOS_APIENTRY* const& glProgramUniform2i) (GLuint program, GLint location, GLint v0, GLint v1);
  1161. extern void (KHRONOS_APIENTRY* const& glProgramUniform3i) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
  1162. extern void (KHRONOS_APIENTRY* const& glProgramUniform4i) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  1163. extern void (KHRONOS_APIENTRY* const& glProgramUniform1ui) (GLuint program, GLint location, GLuint v0);
  1164. extern void (KHRONOS_APIENTRY* const& glProgramUniform2ui) (GLuint program, GLint location, GLuint v0, GLuint v1);
  1165. extern void (KHRONOS_APIENTRY* const& glProgramUniform3ui) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
  1166. extern void (KHRONOS_APIENTRY* const& glProgramUniform4ui) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  1167. extern void (KHRONOS_APIENTRY* const& glProgramUniform1f) (GLuint program, GLint location, GLfloat v0);
  1168. extern void (KHRONOS_APIENTRY* const& glProgramUniform2f) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
  1169. extern void (KHRONOS_APIENTRY* const& glProgramUniform3f) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  1170. extern void (KHRONOS_APIENTRY* const& glProgramUniform4f) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  1171. extern void (KHRONOS_APIENTRY* const& glProgramUniform1iv) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1172. extern void (KHRONOS_APIENTRY* const& glProgramUniform2iv) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1173. extern void (KHRONOS_APIENTRY* const& glProgramUniform3iv) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1174. extern void (KHRONOS_APIENTRY* const& glProgramUniform4iv) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1175. extern void (KHRONOS_APIENTRY* const& glProgramUniform1uiv) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  1176. extern void (KHRONOS_APIENTRY* const& glProgramUniform2uiv) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  1177. extern void (KHRONOS_APIENTRY* const& glProgramUniform3uiv) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  1178. extern void (KHRONOS_APIENTRY* const& glProgramUniform4uiv) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  1179. extern void (KHRONOS_APIENTRY* const& glProgramUniform1fv) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1180. extern void (KHRONOS_APIENTRY* const& glProgramUniform2fv) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1181. extern void (KHRONOS_APIENTRY* const& glProgramUniform3fv) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1182. extern void (KHRONOS_APIENTRY* const& glProgramUniform4fv) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1183. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix2fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1184. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix3fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1185. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix4fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1186. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix2x3fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1187. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix3x2fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1188. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix2x4fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1189. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix4x2fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1190. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix3x4fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1191. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix4x3fv) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1192. extern void (KHRONOS_APIENTRY* const& glValidateProgramPipeline) (GLuint pipeline);
  1193. extern void (KHRONOS_APIENTRY* const& glGetProgramPipelineInfoLog) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1194. extern void (KHRONOS_APIENTRY* const& glBindImageTexture) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
  1195. extern void (KHRONOS_APIENTRY* const& glGetBooleani_v) (GLenum target, GLuint index, GLboolean *data);
  1196. extern void (KHRONOS_APIENTRY* const& glMemoryBarrier) (GLbitfield barriers);
  1197. extern void (KHRONOS_APIENTRY* const& glMemoryBarrierByRegion) (GLbitfield barriers);
  1198. extern void (KHRONOS_APIENTRY* const& glTexStorage2DMultisample) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
  1199. extern void (KHRONOS_APIENTRY* const& glGetMultisamplefv) (GLenum pname, GLuint index, GLfloat *val);
  1200. extern void (KHRONOS_APIENTRY* const& glSampleMaski) (GLuint maskNumber, GLbitfield mask);
  1201. extern void (KHRONOS_APIENTRY* const& glGetTexLevelParameteriv) (GLenum target, GLint level, GLenum pname, GLint *params);
  1202. extern void (KHRONOS_APIENTRY* const& glGetTexLevelParameterfv) (GLenum target, GLint level, GLenum pname, GLfloat *params);
  1203. extern void (KHRONOS_APIENTRY* const& glBindVertexBuffer) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
  1204. extern void (KHRONOS_APIENTRY* const& glVertexAttribFormat) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
  1205. extern void (KHRONOS_APIENTRY* const& glVertexAttribIFormat) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
  1206. extern void (KHRONOS_APIENTRY* const& glVertexAttribBinding) (GLuint attribindex, GLuint bindingindex);
  1207. extern void (KHRONOS_APIENTRY* const& glVertexBindingDivisor) (GLuint bindingindex, GLuint divisor);
  1208. #endif
  1209. #ifndef GL_ES_VERSION_3_2
  1210. #define GL_ES_VERSION_3_2 1
  1211. enum
  1212. {
  1213. GL_MULTISAMPLE_LINE_WIDTH_RANGE = 0x9381,
  1214. GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 0x9382,
  1215. GL_MULTIPLY = 0x9294,
  1216. GL_SCREEN = 0x9295,
  1217. GL_OVERLAY = 0x9296,
  1218. GL_DARKEN = 0x9297,
  1219. GL_LIGHTEN = 0x9298,
  1220. GL_COLORDODGE = 0x9299,
  1221. GL_COLORBURN = 0x929A,
  1222. GL_HARDLIGHT = 0x929B,
  1223. GL_SOFTLIGHT = 0x929C,
  1224. GL_DIFFERENCE = 0x929E,
  1225. GL_EXCLUSION = 0x92A0,
  1226. GL_HSL_HUE = 0x92AD,
  1227. GL_HSL_SATURATION = 0x92AE,
  1228. GL_HSL_COLOR = 0x92AF,
  1229. GL_HSL_LUMINOSITY = 0x92B0,
  1230. GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242,
  1231. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243,
  1232. GL_DEBUG_CALLBACK_FUNCTION = 0x8244,
  1233. GL_DEBUG_CALLBACK_USER_PARAM = 0x8245,
  1234. GL_DEBUG_SOURCE_API = 0x8246,
  1235. GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247,
  1236. GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248,
  1237. GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249,
  1238. GL_DEBUG_SOURCE_APPLICATION = 0x824A,
  1239. GL_DEBUG_SOURCE_OTHER = 0x824B,
  1240. GL_DEBUG_TYPE_ERROR = 0x824C,
  1241. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D,
  1242. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E,
  1243. GL_DEBUG_TYPE_PORTABILITY = 0x824F,
  1244. GL_DEBUG_TYPE_PERFORMANCE = 0x8250,
  1245. GL_DEBUG_TYPE_OTHER = 0x8251,
  1246. GL_DEBUG_TYPE_MARKER = 0x8268,
  1247. GL_DEBUG_TYPE_PUSH_GROUP = 0x8269,
  1248. GL_DEBUG_TYPE_POP_GROUP = 0x826A,
  1249. GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B,
  1250. GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C,
  1251. GL_DEBUG_GROUP_STACK_DEPTH = 0x826D,
  1252. GL_BUFFER = 0x82E0,
  1253. GL_SHADER = 0x82E1,
  1254. GL_PROGRAM = 0x82E2,
  1255. GL_VERTEX_ARRAY = 0x8074,
  1256. GL_QUERY = 0x82E3,
  1257. GL_PROGRAM_PIPELINE = 0x82E4,
  1258. GL_SAMPLER = 0x82E6,
  1259. GL_MAX_LABEL_LENGTH = 0x82E8,
  1260. GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143,
  1261. GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144,
  1262. GL_DEBUG_LOGGED_MESSAGES = 0x9145,
  1263. GL_DEBUG_SEVERITY_HIGH = 0x9146,
  1264. GL_DEBUG_SEVERITY_MEDIUM = 0x9147,
  1265. GL_DEBUG_SEVERITY_LOW = 0x9148,
  1266. GL_DEBUG_OUTPUT = 0x92E0,
  1267. GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002,
  1268. GL_STACK_OVERFLOW = 0x0503,
  1269. GL_STACK_UNDERFLOW = 0x0504,
  1270. GL_GEOMETRY_SHADER = 0x8DD9,
  1271. GL_GEOMETRY_SHADER_BIT = 0x00000004,
  1272. GL_GEOMETRY_VERTICES_OUT = 0x8916,
  1273. GL_GEOMETRY_INPUT_TYPE = 0x8917,
  1274. GL_GEOMETRY_OUTPUT_TYPE = 0x8918,
  1275. GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F,
  1276. GL_LAYER_PROVOKING_VERTEX = 0x825E,
  1277. GL_LINES_ADJACENCY = 0x000A,
  1278. GL_LINE_STRIP_ADJACENCY = 0x000B,
  1279. GL_TRIANGLES_ADJACENCY = 0x000C,
  1280. GL_TRIANGLE_STRIP_ADJACENCY = 0x000D,
  1281. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF,
  1282. GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C,
  1283. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32,
  1284. GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123,
  1285. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124,
  1286. GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0,
  1287. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1,
  1288. GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A,
  1289. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29,
  1290. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF,
  1291. GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5,
  1292. GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD,
  1293. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7,
  1294. GL_FIRST_VERTEX_CONVENTION = 0x8E4D,
  1295. GL_LAST_VERTEX_CONVENTION = 0x8E4E,
  1296. GL_UNDEFINED_VERTEX = 0x8260,
  1297. GL_PRIMITIVES_GENERATED = 0x8C87,
  1298. GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312,
  1299. GL_MAX_FRAMEBUFFER_LAYERS = 0x9317,
  1300. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8,
  1301. GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7,
  1302. GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309,
  1303. GL_PRIMITIVE_BOUNDING_BOX = 0x92BE,
  1304. GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004,
  1305. GL_CONTEXT_FLAGS = 0x821E,
  1306. GL_LOSE_CONTEXT_ON_RESET = 0x8252,
  1307. GL_GUILTY_CONTEXT_RESET = 0x8253,
  1308. GL_INNOCENT_CONTEXT_RESET = 0x8254,
  1309. GL_UNKNOWN_CONTEXT_RESET = 0x8255,
  1310. GL_RESET_NOTIFICATION_STRATEGY = 0x8256,
  1311. GL_NO_RESET_NOTIFICATION = 0x8261,
  1312. GL_CONTEXT_LOST = 0x0507,
  1313. GL_SAMPLE_SHADING = 0x8C36,
  1314. GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37,
  1315. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B,
  1316. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C,
  1317. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D,
  1318. GL_PATCHES = 0x000E,
  1319. GL_PATCH_VERTICES = 0x8E72,
  1320. GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75,
  1321. GL_TESS_GEN_MODE = 0x8E76,
  1322. GL_TESS_GEN_SPACING = 0x8E77,
  1323. GL_TESS_GEN_VERTEX_ORDER = 0x8E78,
  1324. GL_TESS_GEN_POINT_MODE = 0x8E79,
  1325. GL_ISOLINES = 0x8E7A,
  1326. GL_QUADS = 0x0007,
  1327. GL_FRACTIONAL_ODD = 0x8E7B,
  1328. GL_FRACTIONAL_EVEN = 0x8E7C,
  1329. GL_MAX_PATCH_VERTICES = 0x8E7D,
  1330. GL_MAX_TESS_GEN_LEVEL = 0x8E7E,
  1331. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F,
  1332. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80,
  1333. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81,
  1334. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82,
  1335. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83,
  1336. GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84,
  1337. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85,
  1338. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86,
  1339. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89,
  1340. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A,
  1341. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C,
  1342. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D,
  1343. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E,
  1344. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F,
  1345. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD,
  1346. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE,
  1347. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3,
  1348. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4,
  1349. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB,
  1350. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC,
  1351. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8,
  1352. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9,
  1353. GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221,
  1354. GL_IS_PER_PATCH = 0x92E7,
  1355. GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307,
  1356. GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308,
  1357. GL_TESS_CONTROL_SHADER = 0x8E88,
  1358. GL_TESS_EVALUATION_SHADER = 0x8E87,
  1359. GL_TESS_CONTROL_SHADER_BIT = 0x00000008,
  1360. GL_TESS_EVALUATION_SHADER_BIT = 0x00000010,
  1361. GL_TEXTURE_BORDER_COLOR = 0x1004,
  1362. GL_CLAMP_TO_BORDER = 0x812D,
  1363. GL_TEXTURE_BUFFER = 0x8C2A,
  1364. GL_TEXTURE_BUFFER_BINDING = 0x8C2A,
  1365. GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B,
  1366. GL_TEXTURE_BINDING_BUFFER = 0x8C2C,
  1367. GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D,
  1368. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F,
  1369. GL_SAMPLER_BUFFER = 0x8DC2,
  1370. GL_INT_SAMPLER_BUFFER = 0x8DD0,
  1371. GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8,
  1372. GL_IMAGE_BUFFER = 0x9051,
  1373. GL_INT_IMAGE_BUFFER = 0x905C,
  1374. GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067,
  1375. GL_TEXTURE_BUFFER_OFFSET = 0x919D,
  1376. GL_TEXTURE_BUFFER_SIZE = 0x919E,
  1377. GL_COMPRESSED_RGBA_ASTC_4x4 = 0x93B0,
  1378. GL_COMPRESSED_RGBA_ASTC_5x4 = 0x93B1,
  1379. GL_COMPRESSED_RGBA_ASTC_5x5 = 0x93B2,
  1380. GL_COMPRESSED_RGBA_ASTC_6x5 = 0x93B3,
  1381. GL_COMPRESSED_RGBA_ASTC_6x6 = 0x93B4,
  1382. GL_COMPRESSED_RGBA_ASTC_8x5 = 0x93B5,
  1383. GL_COMPRESSED_RGBA_ASTC_8x6 = 0x93B6,
  1384. GL_COMPRESSED_RGBA_ASTC_8x8 = 0x93B7,
  1385. GL_COMPRESSED_RGBA_ASTC_10x5 = 0x93B8,
  1386. GL_COMPRESSED_RGBA_ASTC_10x6 = 0x93B9,
  1387. GL_COMPRESSED_RGBA_ASTC_10x8 = 0x93BA,
  1388. GL_COMPRESSED_RGBA_ASTC_10x10 = 0x93BB,
  1389. GL_COMPRESSED_RGBA_ASTC_12x10 = 0x93BC,
  1390. GL_COMPRESSED_RGBA_ASTC_12x12 = 0x93BD,
  1391. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0,
  1392. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1,
  1393. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2,
  1394. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3,
  1395. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4,
  1396. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5,
  1397. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6,
  1398. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7,
  1399. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8,
  1400. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9,
  1401. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA,
  1402. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB,
  1403. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC,
  1404. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD,
  1405. GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009,
  1406. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A,
  1407. GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C,
  1408. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D,
  1409. GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E,
  1410. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F,
  1411. GL_IMAGE_CUBE_MAP_ARRAY = 0x9054,
  1412. GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F,
  1413. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A,
  1414. GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102,
  1415. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105,
  1416. GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B,
  1417. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C,
  1418. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D,
  1419. };
  1420. extern void (KHRONOS_APIENTRY* const& glBlendBarrier) ();
  1421. extern void (KHRONOS_APIENTRY* const& glCopyImageSubData) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
  1422. extern void (KHRONOS_APIENTRY* const& glDebugMessageControl) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1423. extern void (KHRONOS_APIENTRY* const& glDebugMessageInsert) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1424. extern void (KHRONOS_APIENTRY* const& glDebugMessageCallback) (GLDEBUGPROC callback, const void *userParam);
  1425. extern GLuint (KHRONOS_APIENTRY* const& glGetDebugMessageLog) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1426. extern void (KHRONOS_APIENTRY* const& glPushDebugGroup) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1427. extern void (KHRONOS_APIENTRY* const& glPopDebugGroup) ();
  1428. extern void (KHRONOS_APIENTRY* const& glObjectLabel) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1429. extern void (KHRONOS_APIENTRY* const& glGetObjectLabel) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1430. extern void (KHRONOS_APIENTRY* const& glObjectPtrLabel) (const void *ptr, GLsizei length, const GLchar *label);
  1431. extern void (KHRONOS_APIENTRY* const& glGetObjectPtrLabel) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1432. extern void (KHRONOS_APIENTRY* const& glGetPointerv) (GLenum pname, void **params);
  1433. extern void (KHRONOS_APIENTRY* const& glEnablei) (GLenum target, GLuint index);
  1434. extern void (KHRONOS_APIENTRY* const& glDisablei) (GLenum target, GLuint index);
  1435. extern void (KHRONOS_APIENTRY* const& glBlendEquationi) (GLuint buf, GLenum mode);
  1436. extern void (KHRONOS_APIENTRY* const& glBlendEquationSeparatei) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  1437. extern void (KHRONOS_APIENTRY* const& glBlendFunci) (GLuint buf, GLenum src, GLenum dst);
  1438. extern void (KHRONOS_APIENTRY* const& glBlendFuncSeparatei) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  1439. extern void (KHRONOS_APIENTRY* const& glColorMaski) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  1440. extern GLboolean (KHRONOS_APIENTRY* const& glIsEnabledi) (GLenum target, GLuint index);
  1441. extern void (KHRONOS_APIENTRY* const& glDrawElementsBaseVertex) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  1442. extern void (KHRONOS_APIENTRY* const& glDrawRangeElementsBaseVertex) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  1443. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedBaseVertex) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
  1444. extern void (KHRONOS_APIENTRY* const& glFramebufferTexture) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  1445. extern void (KHRONOS_APIENTRY* const& glPrimitiveBoundingBox) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
  1446. extern GLenum (KHRONOS_APIENTRY* const& glGetGraphicsResetStatus) ();
  1447. extern void (KHRONOS_APIENTRY* const& glReadnPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  1448. extern void (KHRONOS_APIENTRY* const& glGetnUniformfv) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  1449. extern void (KHRONOS_APIENTRY* const& glGetnUniformiv) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1450. extern void (KHRONOS_APIENTRY* const& glGetnUniformuiv) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
  1451. extern void (KHRONOS_APIENTRY* const& glMinSampleShading) (GLfloat value);
  1452. extern void (KHRONOS_APIENTRY* const& glPatchParameteri) (GLenum pname, GLint value);
  1453. extern void (KHRONOS_APIENTRY* const& glTexParameterIiv) (GLenum target, GLenum pname, const GLint *params);
  1454. extern void (KHRONOS_APIENTRY* const& glTexParameterIuiv) (GLenum target, GLenum pname, const GLuint *params);
  1455. extern void (KHRONOS_APIENTRY* const& glGetTexParameterIiv) (GLenum target, GLenum pname, GLint *params);
  1456. extern void (KHRONOS_APIENTRY* const& glGetTexParameterIuiv) (GLenum target, GLenum pname, GLuint *params);
  1457. extern void (KHRONOS_APIENTRY* const& glSamplerParameterIiv) (GLuint sampler, GLenum pname, const GLint *param);
  1458. extern void (KHRONOS_APIENTRY* const& glSamplerParameterIuiv) (GLuint sampler, GLenum pname, const GLuint *param);
  1459. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameterIiv) (GLuint sampler, GLenum pname, GLint *params);
  1460. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameterIuiv) (GLuint sampler, GLenum pname, GLuint *params);
  1461. extern void (KHRONOS_APIENTRY* const& glTexBuffer) (GLenum target, GLenum internalformat, GLuint buffer);
  1462. extern void (KHRONOS_APIENTRY* const& glTexBufferRange) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
  1463. extern void (KHRONOS_APIENTRY* const& glTexStorage3DMultisample) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
  1464. #endif
  1465. #ifndef GL_AMD_compressed_3DC_texture
  1466. #define GL_AMD_compressed_3DC_texture 1
  1467. enum
  1468. {
  1469. GL_3DC_X_AMD = 0x87F9,
  1470. GL_3DC_XY_AMD = 0x87FA,
  1471. };
  1472. #endif
  1473. #ifndef GL_AMD_compressed_ATC_texture
  1474. #define GL_AMD_compressed_ATC_texture 1
  1475. enum
  1476. {
  1477. GL_ATC_RGB_AMD = 0x8C92,
  1478. GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93,
  1479. GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE,
  1480. };
  1481. #endif
  1482. #ifndef GL_AMD_framebuffer_multisample_advanced
  1483. #define GL_AMD_framebuffer_multisample_advanced 1
  1484. enum
  1485. {
  1486. GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2,
  1487. GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3,
  1488. GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4,
  1489. GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5,
  1490. GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6,
  1491. GL_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7,
  1492. };
  1493. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorageMultisampleAdvancedAMD) (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height);
  1494. extern void (KHRONOS_APIENTRY* const& glNamedRenderbufferStorageMultisampleAdvancedAMD) (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height);
  1495. #endif
  1496. #ifndef GL_AMD_performance_monitor
  1497. #define GL_AMD_performance_monitor 1
  1498. enum
  1499. {
  1500. GL_COUNTER_TYPE_AMD = 0x8BC0,
  1501. GL_COUNTER_RANGE_AMD = 0x8BC1,
  1502. GL_UNSIGNED_INT64_AMD = 0x8BC2,
  1503. GL_PERCENTAGE_AMD = 0x8BC3,
  1504. GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4,
  1505. GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5,
  1506. GL_PERFMON_RESULT_AMD = 0x8BC6,
  1507. };
  1508. extern void (KHRONOS_APIENTRY* const& glGetPerfMonitorGroupsAMD) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1509. extern void (KHRONOS_APIENTRY* const& glGetPerfMonitorCountersAMD) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1510. extern void (KHRONOS_APIENTRY* const& glGetPerfMonitorGroupStringAMD) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1511. extern void (KHRONOS_APIENTRY* const& glGetPerfMonitorCounterStringAMD) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1512. extern void (KHRONOS_APIENTRY* const& glGetPerfMonitorCounterInfoAMD) (GLuint group, GLuint counter, GLenum pname, void *data);
  1513. extern void (KHRONOS_APIENTRY* const& glGenPerfMonitorsAMD) (GLsizei n, GLuint *monitors);
  1514. extern void (KHRONOS_APIENTRY* const& glDeletePerfMonitorsAMD) (GLsizei n, GLuint *monitors);
  1515. extern void (KHRONOS_APIENTRY* const& glSelectPerfMonitorCountersAMD) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
  1516. extern void (KHRONOS_APIENTRY* const& glBeginPerfMonitorAMD) (GLuint monitor);
  1517. extern void (KHRONOS_APIENTRY* const& glEndPerfMonitorAMD) (GLuint monitor);
  1518. extern void (KHRONOS_APIENTRY* const& glGetPerfMonitorCounterDataAMD) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1519. #endif
  1520. #ifndef GL_AMD_program_binary_Z400
  1521. #define GL_AMD_program_binary_Z400 1
  1522. enum
  1523. {
  1524. GL_Z400_BINARY_AMD = 0x8740,
  1525. };
  1526. #endif
  1527. #ifndef GL_ANDROID_extension_pack_es31a
  1528. #define GL_ANDROID_extension_pack_es31a 1
  1529. #endif
  1530. #ifndef GL_ANGLE_depth_texture
  1531. #define GL_ANGLE_depth_texture 1
  1532. enum
  1533. {
  1534. GL_DEPTH_STENCIL_OES = 0x84F9,
  1535. GL_UNSIGNED_INT_24_8_OES = 0x84FA,
  1536. GL_DEPTH_COMPONENT32_OES = 0x81A7,
  1537. GL_DEPTH24_STENCIL8_OES = 0x88F0,
  1538. };
  1539. #endif
  1540. #ifndef GL_ANGLE_framebuffer_blit
  1541. #define GL_ANGLE_framebuffer_blit 1
  1542. enum
  1543. {
  1544. GL_READ_FRAMEBUFFER_ANGLE = 0x8CA8,
  1545. GL_DRAW_FRAMEBUFFER_ANGLE = 0x8CA9,
  1546. GL_DRAW_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6,
  1547. GL_READ_FRAMEBUFFER_BINDING_ANGLE = 0x8CAA,
  1548. };
  1549. extern void (KHRONOS_APIENTRY* const& glBlitFramebufferANGLE) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1550. #endif
  1551. #ifndef GL_ANGLE_framebuffer_multisample
  1552. #define GL_ANGLE_framebuffer_multisample 1
  1553. enum
  1554. {
  1555. GL_RENDERBUFFER_SAMPLES_ANGLE = 0x8CAB,
  1556. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = 0x8D56,
  1557. GL_MAX_SAMPLES_ANGLE = 0x8D57,
  1558. };
  1559. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorageMultisampleANGLE) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1560. #endif
  1561. #ifndef GL_ANGLE_instanced_arrays
  1562. #define GL_ANGLE_instanced_arrays 1
  1563. enum
  1564. {
  1565. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE,
  1566. };
  1567. extern void (KHRONOS_APIENTRY* const& glDrawArraysInstancedANGLE) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1568. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedANGLE) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1569. extern void (KHRONOS_APIENTRY* const& glVertexAttribDivisorANGLE) (GLuint index, GLuint divisor);
  1570. #endif
  1571. #ifndef GL_ANGLE_pack_reverse_row_order
  1572. #define GL_ANGLE_pack_reverse_row_order 1
  1573. enum
  1574. {
  1575. GL_PACK_REVERSE_ROW_ORDER_ANGLE = 0x93A4,
  1576. };
  1577. #endif
  1578. #ifndef GL_ANGLE_program_binary
  1579. #define GL_ANGLE_program_binary 1
  1580. enum
  1581. {
  1582. GL_PROGRAM_BINARY_ANGLE = 0x93A6,
  1583. };
  1584. #endif
  1585. #ifndef GL_ANGLE_texture_compression_dxt3
  1586. #define GL_ANGLE_texture_compression_dxt3 1
  1587. enum
  1588. {
  1589. GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = 0x83F2,
  1590. };
  1591. #endif
  1592. #ifndef GL_ANGLE_texture_compression_dxt5
  1593. #define GL_ANGLE_texture_compression_dxt5 1
  1594. enum
  1595. {
  1596. GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = 0x83F3,
  1597. };
  1598. #endif
  1599. #ifndef GL_ANGLE_texture_usage
  1600. #define GL_ANGLE_texture_usage 1
  1601. enum
  1602. {
  1603. GL_TEXTURE_USAGE_ANGLE = 0x93A2,
  1604. GL_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3,
  1605. };
  1606. #endif
  1607. #ifndef GL_ANGLE_translated_shader_source
  1608. #define GL_ANGLE_translated_shader_source 1
  1609. enum
  1610. {
  1611. GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0,
  1612. };
  1613. extern void (KHRONOS_APIENTRY* const& glGetTranslatedShaderSourceANGLE) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  1614. #endif
  1615. #ifndef GL_APPLE_clip_distance
  1616. #define GL_APPLE_clip_distance 1
  1617. enum
  1618. {
  1619. GL_MAX_CLIP_DISTANCES_APPLE = 0x0D32,
  1620. GL_CLIP_DISTANCE0_APPLE = 0x3000,
  1621. GL_CLIP_DISTANCE1_APPLE = 0x3001,
  1622. GL_CLIP_DISTANCE2_APPLE = 0x3002,
  1623. GL_CLIP_DISTANCE3_APPLE = 0x3003,
  1624. GL_CLIP_DISTANCE4_APPLE = 0x3004,
  1625. GL_CLIP_DISTANCE5_APPLE = 0x3005,
  1626. GL_CLIP_DISTANCE6_APPLE = 0x3006,
  1627. GL_CLIP_DISTANCE7_APPLE = 0x3007,
  1628. };
  1629. #endif
  1630. #ifndef GL_APPLE_color_buffer_packed_float
  1631. #define GL_APPLE_color_buffer_packed_float 1
  1632. #endif
  1633. #ifndef GL_APPLE_copy_texture_levels
  1634. #define GL_APPLE_copy_texture_levels 1
  1635. extern void (KHRONOS_APIENTRY* const& glCopyTextureLevelsAPPLE) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1636. #endif
  1637. #ifndef GL_APPLE_framebuffer_multisample
  1638. #define GL_APPLE_framebuffer_multisample 1
  1639. enum
  1640. {
  1641. GL_RENDERBUFFER_SAMPLES_APPLE = 0x8CAB,
  1642. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = 0x8D56,
  1643. GL_MAX_SAMPLES_APPLE = 0x8D57,
  1644. GL_READ_FRAMEBUFFER_APPLE = 0x8CA8,
  1645. GL_DRAW_FRAMEBUFFER_APPLE = 0x8CA9,
  1646. GL_DRAW_FRAMEBUFFER_BINDING_APPLE = 0x8CA6,
  1647. GL_READ_FRAMEBUFFER_BINDING_APPLE = 0x8CAA,
  1648. };
  1649. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorageMultisampleAPPLE) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1650. extern void (KHRONOS_APIENTRY* const& glResolveMultisampleFramebufferAPPLE) ();
  1651. #endif
  1652. #ifndef GL_APPLE_rgb_422
  1653. #define GL_APPLE_rgb_422 1
  1654. enum
  1655. {
  1656. GL_RGB_422_APPLE = 0x8A1F,
  1657. GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA,
  1658. GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB,
  1659. GL_RGB_RAW_422_APPLE = 0x8A51,
  1660. };
  1661. #endif
  1662. #ifndef GL_APPLE_sync
  1663. #define GL_APPLE_sync 1
  1664. enum
  1665. {
  1666. GL_SYNC_OBJECT_APPLE = 0x8A53,
  1667. GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111,
  1668. GL_OBJECT_TYPE_APPLE = 0x9112,
  1669. GL_SYNC_CONDITION_APPLE = 0x9113,
  1670. GL_SYNC_STATUS_APPLE = 0x9114,
  1671. GL_SYNC_FLAGS_APPLE = 0x9115,
  1672. GL_SYNC_FENCE_APPLE = 0x9116,
  1673. GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117,
  1674. GL_UNSIGNALED_APPLE = 0x9118,
  1675. GL_SIGNALED_APPLE = 0x9119,
  1676. GL_ALREADY_SIGNALED_APPLE = 0x911A,
  1677. GL_TIMEOUT_EXPIRED_APPLE = 0x911B,
  1678. GL_CONDITION_SATISFIED_APPLE = 0x911C,
  1679. GL_WAIT_FAILED_APPLE = 0x911D,
  1680. GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001,
  1681. GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF,
  1682. };
  1683. extern GLsync (KHRONOS_APIENTRY* const& glFenceSyncAPPLE) (GLenum condition, GLbitfield flags);
  1684. extern GLboolean (KHRONOS_APIENTRY* const& glIsSyncAPPLE) (GLsync sync);
  1685. extern void (KHRONOS_APIENTRY* const& glDeleteSyncAPPLE) (GLsync sync);
  1686. extern GLenum (KHRONOS_APIENTRY* const& glClientWaitSyncAPPLE) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1687. extern void (KHRONOS_APIENTRY* const& glWaitSyncAPPLE) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1688. extern void (KHRONOS_APIENTRY* const& glGetInteger64vAPPLE) (GLenum pname, GLint64 *params);
  1689. extern void (KHRONOS_APIENTRY* const& glGetSyncivAPPLE) (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
  1690. #endif
  1691. #ifndef GL_APPLE_texture_format_BGRA8888
  1692. #define GL_APPLE_texture_format_BGRA8888 1
  1693. enum
  1694. {
  1695. GL_BGRA_EXT = 0x80E1,
  1696. GL_BGRA8_EXT = 0x93A1,
  1697. };
  1698. #endif
  1699. #ifndef GL_APPLE_texture_max_level
  1700. #define GL_APPLE_texture_max_level 1
  1701. enum
  1702. {
  1703. GL_TEXTURE_MAX_LEVEL_APPLE = 0x813D,
  1704. };
  1705. #endif
  1706. #ifndef GL_APPLE_texture_packed_float
  1707. #define GL_APPLE_texture_packed_float 1
  1708. enum
  1709. {
  1710. GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE = 0x8C3B,
  1711. GL_UNSIGNED_INT_5_9_9_9_REV_APPLE = 0x8C3E,
  1712. GL_R11F_G11F_B10F_APPLE = 0x8C3A,
  1713. GL_RGB9_E5_APPLE = 0x8C3D,
  1714. };
  1715. #endif
  1716. #ifndef GL_ARM_mali_program_binary
  1717. #define GL_ARM_mali_program_binary 1
  1718. enum
  1719. {
  1720. GL_MALI_PROGRAM_BINARY_ARM = 0x8F61,
  1721. };
  1722. #endif
  1723. #ifndef GL_ARM_mali_shader_binary
  1724. #define GL_ARM_mali_shader_binary 1
  1725. enum
  1726. {
  1727. GL_MALI_SHADER_BINARY_ARM = 0x8F60,
  1728. };
  1729. #endif
  1730. #ifndef GL_ARM_rgba8
  1731. #define GL_ARM_rgba8 1
  1732. #endif
  1733. #ifndef GL_ARM_shader_framebuffer_fetch
  1734. #define GL_ARM_shader_framebuffer_fetch 1
  1735. enum
  1736. {
  1737. GL_FETCH_PER_SAMPLE_ARM = 0x8F65,
  1738. GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66,
  1739. };
  1740. #endif
  1741. #ifndef GL_ARM_shader_framebuffer_fetch_depth_stencil
  1742. #define GL_ARM_shader_framebuffer_fetch_depth_stencil 1
  1743. #endif
  1744. #ifndef GL_ARM_texture_unnormalized_coordinates
  1745. #define GL_ARM_texture_unnormalized_coordinates 1
  1746. enum
  1747. {
  1748. GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM = 0x8F6A,
  1749. };
  1750. #endif
  1751. #ifndef GL_DMP_program_binary
  1752. #define GL_DMP_program_binary 1
  1753. enum
  1754. {
  1755. GL_SMAPHS30_PROGRAM_BINARY_DMP = 0x9251,
  1756. GL_SMAPHS_PROGRAM_BINARY_DMP = 0x9252,
  1757. GL_DMP_PROGRAM_BINARY_DMP = 0x9253,
  1758. };
  1759. #endif
  1760. #ifndef GL_DMP_shader_binary
  1761. #define GL_DMP_shader_binary 1
  1762. enum
  1763. {
  1764. GL_SHADER_BINARY_DMP = 0x9250,
  1765. };
  1766. #endif
  1767. #ifndef GL_EXT_EGL_image_array
  1768. #define GL_EXT_EGL_image_array 1
  1769. #endif
  1770. #ifndef GL_EXT_EGL_image_storage
  1771. #define GL_EXT_EGL_image_storage 1
  1772. extern void (KHRONOS_APIENTRY* const& glEGLImageTargetTexStorageEXT) (GLenum target, GLeglImageOES image, const GLint* attrib_list);
  1773. extern void (KHRONOS_APIENTRY* const& glEGLImageTargetTextureStorageEXT) (GLuint texture, GLeglImageOES image, const GLint* attrib_list);
  1774. #endif
  1775. #ifndef GL_EXT_YUV_target
  1776. #define GL_EXT_YUV_target 1
  1777. enum
  1778. {
  1779. GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT = 0x8BE7,
  1780. GL_TEXTURE_EXTERNAL_OES = 0x8D65,
  1781. GL_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67,
  1782. GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68,
  1783. };
  1784. #endif
  1785. #ifndef GL_EXT_base_instance
  1786. #define GL_EXT_base_instance 1
  1787. extern void (KHRONOS_APIENTRY* const& glDrawArraysInstancedBaseInstanceEXT) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
  1788. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedBaseInstanceEXT) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
  1789. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedBaseVertexBaseInstanceEXT) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
  1790. #endif
  1791. #ifndef GL_EXT_blend_func_extended
  1792. #define GL_EXT_blend_func_extended 1
  1793. enum
  1794. {
  1795. GL_SRC1_COLOR_EXT = 0x88F9,
  1796. GL_SRC1_ALPHA_EXT = 0x8589,
  1797. GL_ONE_MINUS_SRC1_COLOR_EXT = 0x88FA,
  1798. GL_ONE_MINUS_SRC1_ALPHA_EXT = 0x88FB,
  1799. GL_SRC_ALPHA_SATURATE_EXT = 0x0308,
  1800. GL_LOCATION_INDEX_EXT = 0x930F,
  1801. GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = 0x88FC,
  1802. };
  1803. extern void (KHRONOS_APIENTRY* const& glBindFragDataLocationIndexedEXT) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
  1804. extern void (KHRONOS_APIENTRY* const& glBindFragDataLocationEXT) (GLuint program, GLuint color, const GLchar *name);
  1805. extern GLint (KHRONOS_APIENTRY* const& glGetProgramResourceLocationIndexEXT) (GLuint program, GLenum programInterface, const GLchar *name);
  1806. extern GLint (KHRONOS_APIENTRY* const& glGetFragDataIndexEXT) (GLuint program, const GLchar *name);
  1807. #endif
  1808. #ifndef GL_EXT_blend_minmax
  1809. #define GL_EXT_blend_minmax 1
  1810. enum
  1811. {
  1812. GL_MIN_EXT = 0x8007,
  1813. GL_MAX_EXT = 0x8008,
  1814. GL_FUNC_ADD_EXT = 0x8006,
  1815. GL_BLEND_EQUATION_EXT = 0x8009,
  1816. };
  1817. extern void (KHRONOS_APIENTRY* const& glBlendEquationEXT) (GLenum mode);
  1818. #endif
  1819. #ifndef GL_EXT_buffer_storage
  1820. #define GL_EXT_buffer_storage 1
  1821. enum
  1822. {
  1823. GL_MAP_PERSISTENT_BIT_EXT = 0x0040,
  1824. GL_MAP_COHERENT_BIT_EXT = 0x0080,
  1825. GL_DYNAMIC_STORAGE_BIT_EXT = 0x0100,
  1826. GL_CLIENT_STORAGE_BIT_EXT = 0x0200,
  1827. GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT = 0x00004000,
  1828. GL_BUFFER_IMMUTABLE_STORAGE_EXT = 0x821F,
  1829. GL_BUFFER_STORAGE_FLAGS_EXT = 0x8220,
  1830. };
  1831. extern void (KHRONOS_APIENTRY* const& glBufferStorageEXT) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
  1832. #endif
  1833. #ifndef GL_EXT_clear_texture
  1834. #define GL_EXT_clear_texture 1
  1835. extern void (KHRONOS_APIENTRY* const& glClearTexImageEXT) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
  1836. extern void (KHRONOS_APIENTRY* const& glClearTexSubImageEXT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
  1837. #endif
  1838. #ifndef GL_EXT_clip_control
  1839. #define GL_EXT_clip_control 1
  1840. enum
  1841. {
  1842. GL_LOWER_LEFT_EXT = 0x8CA1,
  1843. GL_UPPER_LEFT_EXT = 0x8CA2,
  1844. GL_NEGATIVE_ONE_TO_ONE_EXT = 0x935E,
  1845. GL_ZERO_TO_ONE_EXT = 0x935F,
  1846. GL_CLIP_ORIGIN_EXT = 0x935C,
  1847. GL_CLIP_DEPTH_MODE_EXT = 0x935D,
  1848. };
  1849. extern void (KHRONOS_APIENTRY* const& glClipControlEXT) (GLenum origin, GLenum depth);
  1850. #endif
  1851. #ifndef GL_EXT_clip_cull_distance
  1852. #define GL_EXT_clip_cull_distance 1
  1853. enum
  1854. {
  1855. GL_MAX_CLIP_DISTANCES_EXT = 0x0D32,
  1856. GL_MAX_CULL_DISTANCES_EXT = 0x82F9,
  1857. GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT = 0x82FA,
  1858. GL_CLIP_DISTANCE0_EXT = 0x3000,
  1859. GL_CLIP_DISTANCE1_EXT = 0x3001,
  1860. GL_CLIP_DISTANCE2_EXT = 0x3002,
  1861. GL_CLIP_DISTANCE3_EXT = 0x3003,
  1862. GL_CLIP_DISTANCE4_EXT = 0x3004,
  1863. GL_CLIP_DISTANCE5_EXT = 0x3005,
  1864. GL_CLIP_DISTANCE6_EXT = 0x3006,
  1865. GL_CLIP_DISTANCE7_EXT = 0x3007,
  1866. };
  1867. #endif
  1868. #ifndef GL_EXT_color_buffer_float
  1869. #define GL_EXT_color_buffer_float 1
  1870. #endif
  1871. #ifndef GL_EXT_color_buffer_half_float
  1872. #define GL_EXT_color_buffer_half_float 1
  1873. enum
  1874. {
  1875. GL_RGBA16F_EXT = 0x881A,
  1876. GL_RGB16F_EXT = 0x881B,
  1877. GL_RG16F_EXT = 0x822F,
  1878. GL_R16F_EXT = 0x822D,
  1879. GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211,
  1880. GL_UNSIGNED_NORMALIZED_EXT = 0x8C17,
  1881. };
  1882. #endif
  1883. #ifndef GL_EXT_conservative_depth
  1884. #define GL_EXT_conservative_depth 1
  1885. #endif
  1886. #ifndef GL_EXT_copy_image
  1887. #define GL_EXT_copy_image 1
  1888. extern void (KHRONOS_APIENTRY* const& glCopyImageSubDataEXT) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
  1889. #endif
  1890. #ifndef GL_EXT_debug_label
  1891. #define GL_EXT_debug_label 1
  1892. enum
  1893. {
  1894. GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F,
  1895. GL_PROGRAM_OBJECT_EXT = 0x8B40,
  1896. GL_SHADER_OBJECT_EXT = 0x8B48,
  1897. GL_BUFFER_OBJECT_EXT = 0x9151,
  1898. GL_QUERY_OBJECT_EXT = 0x9153,
  1899. GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154,
  1900. };
  1901. extern void (KHRONOS_APIENTRY* const& glLabelObjectEXT) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1902. extern void (KHRONOS_APIENTRY* const& glGetObjectLabelEXT) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1903. #endif
  1904. #ifndef GL_EXT_debug_marker
  1905. #define GL_EXT_debug_marker 1
  1906. extern void (KHRONOS_APIENTRY* const& glInsertEventMarkerEXT) (GLsizei length, const GLchar *marker);
  1907. extern void (KHRONOS_APIENTRY* const& glPushGroupMarkerEXT) (GLsizei length, const GLchar *marker);
  1908. extern void (KHRONOS_APIENTRY* const& glPopGroupMarkerEXT) ();
  1909. #endif
  1910. #ifndef GL_EXT_depth_clamp
  1911. #define GL_EXT_depth_clamp 1
  1912. enum
  1913. {
  1914. GL_DEPTH_CLAMP_EXT = 0x864F,
  1915. };
  1916. #endif
  1917. #ifndef GL_EXT_discard_framebuffer
  1918. #define GL_EXT_discard_framebuffer 1
  1919. enum
  1920. {
  1921. GL_COLOR_EXT = 0x1800,
  1922. GL_DEPTH_EXT = 0x1801,
  1923. GL_STENCIL_EXT = 0x1802,
  1924. };
  1925. extern void (KHRONOS_APIENTRY* const& glDiscardFramebufferEXT) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1926. #endif
  1927. #ifndef GL_EXT_disjoint_timer_query
  1928. #define GL_EXT_disjoint_timer_query 1
  1929. enum
  1930. {
  1931. GL_QUERY_COUNTER_BITS_EXT = 0x8864,
  1932. GL_CURRENT_QUERY_EXT = 0x8865,
  1933. GL_QUERY_RESULT_EXT = 0x8866,
  1934. GL_QUERY_RESULT_AVAILABLE_EXT = 0x8867,
  1935. GL_TIME_ELAPSED_EXT = 0x88BF,
  1936. GL_TIMESTAMP_EXT = 0x8E28,
  1937. GL_GPU_DISJOINT_EXT = 0x8FBB,
  1938. };
  1939. extern void (KHRONOS_APIENTRY* const& glGenQueriesEXT) (GLsizei n, GLuint *ids);
  1940. extern void (KHRONOS_APIENTRY* const& glDeleteQueriesEXT) (GLsizei n, const GLuint *ids);
  1941. extern GLboolean (KHRONOS_APIENTRY* const& glIsQueryEXT) (GLuint id);
  1942. extern void (KHRONOS_APIENTRY* const& glBeginQueryEXT) (GLenum target, GLuint id);
  1943. extern void (KHRONOS_APIENTRY* const& glEndQueryEXT) (GLenum target);
  1944. extern void (KHRONOS_APIENTRY* const& glQueryCounterEXT) (GLuint id, GLenum target);
  1945. extern void (KHRONOS_APIENTRY* const& glGetQueryivEXT) (GLenum target, GLenum pname, GLint *params);
  1946. extern void (KHRONOS_APIENTRY* const& glGetQueryObjectivEXT) (GLuint id, GLenum pname, GLint *params);
  1947. extern void (KHRONOS_APIENTRY* const& glGetQueryObjectuivEXT) (GLuint id, GLenum pname, GLuint *params);
  1948. extern void (KHRONOS_APIENTRY* const& glGetQueryObjecti64vEXT) (GLuint id, GLenum pname, GLint64 *params);
  1949. extern void (KHRONOS_APIENTRY* const& glGetQueryObjectui64vEXT) (GLuint id, GLenum pname, GLuint64 *params);
  1950. extern void (KHRONOS_APIENTRY* const& glGetInteger64vEXT) (GLenum pname, GLint64 *data);
  1951. #endif
  1952. #ifndef GL_EXT_draw_buffers
  1953. #define GL_EXT_draw_buffers 1
  1954. enum
  1955. {
  1956. GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF,
  1957. GL_MAX_DRAW_BUFFERS_EXT = 0x8824,
  1958. GL_DRAW_BUFFER0_EXT = 0x8825,
  1959. GL_DRAW_BUFFER1_EXT = 0x8826,
  1960. GL_DRAW_BUFFER2_EXT = 0x8827,
  1961. GL_DRAW_BUFFER3_EXT = 0x8828,
  1962. GL_DRAW_BUFFER4_EXT = 0x8829,
  1963. GL_DRAW_BUFFER5_EXT = 0x882A,
  1964. GL_DRAW_BUFFER6_EXT = 0x882B,
  1965. GL_DRAW_BUFFER7_EXT = 0x882C,
  1966. GL_DRAW_BUFFER8_EXT = 0x882D,
  1967. GL_DRAW_BUFFER9_EXT = 0x882E,
  1968. GL_DRAW_BUFFER10_EXT = 0x882F,
  1969. GL_DRAW_BUFFER11_EXT = 0x8830,
  1970. GL_DRAW_BUFFER12_EXT = 0x8831,
  1971. GL_DRAW_BUFFER13_EXT = 0x8832,
  1972. GL_DRAW_BUFFER14_EXT = 0x8833,
  1973. GL_DRAW_BUFFER15_EXT = 0x8834,
  1974. GL_COLOR_ATTACHMENT0_EXT = 0x8CE0,
  1975. GL_COLOR_ATTACHMENT1_EXT = 0x8CE1,
  1976. GL_COLOR_ATTACHMENT2_EXT = 0x8CE2,
  1977. GL_COLOR_ATTACHMENT3_EXT = 0x8CE3,
  1978. GL_COLOR_ATTACHMENT4_EXT = 0x8CE4,
  1979. GL_COLOR_ATTACHMENT5_EXT = 0x8CE5,
  1980. GL_COLOR_ATTACHMENT6_EXT = 0x8CE6,
  1981. GL_COLOR_ATTACHMENT7_EXT = 0x8CE7,
  1982. GL_COLOR_ATTACHMENT8_EXT = 0x8CE8,
  1983. GL_COLOR_ATTACHMENT9_EXT = 0x8CE9,
  1984. GL_COLOR_ATTACHMENT10_EXT = 0x8CEA,
  1985. GL_COLOR_ATTACHMENT11_EXT = 0x8CEB,
  1986. GL_COLOR_ATTACHMENT12_EXT = 0x8CEC,
  1987. GL_COLOR_ATTACHMENT13_EXT = 0x8CED,
  1988. GL_COLOR_ATTACHMENT14_EXT = 0x8CEE,
  1989. GL_COLOR_ATTACHMENT15_EXT = 0x8CEF,
  1990. };
  1991. extern void (KHRONOS_APIENTRY* const& glDrawBuffersEXT) (GLsizei n, const GLenum *bufs);
  1992. #endif
  1993. #ifndef GL_EXT_draw_buffers_indexed
  1994. #define GL_EXT_draw_buffers_indexed 1
  1995. extern void (KHRONOS_APIENTRY* const& glEnableiEXT) (GLenum target, GLuint index);
  1996. extern void (KHRONOS_APIENTRY* const& glDisableiEXT) (GLenum target, GLuint index);
  1997. extern void (KHRONOS_APIENTRY* const& glBlendEquationiEXT) (GLuint buf, GLenum mode);
  1998. extern void (KHRONOS_APIENTRY* const& glBlendEquationSeparateiEXT) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  1999. extern void (KHRONOS_APIENTRY* const& glBlendFunciEXT) (GLuint buf, GLenum src, GLenum dst);
  2000. extern void (KHRONOS_APIENTRY* const& glBlendFuncSeparateiEXT) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  2001. extern void (KHRONOS_APIENTRY* const& glColorMaskiEXT) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  2002. extern GLboolean (KHRONOS_APIENTRY* const& glIsEnablediEXT) (GLenum target, GLuint index);
  2003. #endif
  2004. #ifndef GL_EXT_draw_elements_base_vertex
  2005. #define GL_EXT_draw_elements_base_vertex 1
  2006. extern void (KHRONOS_APIENTRY* const& glDrawElementsBaseVertexEXT) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  2007. extern void (KHRONOS_APIENTRY* const& glDrawRangeElementsBaseVertexEXT) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  2008. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedBaseVertexEXT) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
  2009. extern void (KHRONOS_APIENTRY* const& glMultiDrawElementsBaseVertexEXT) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
  2010. #endif
  2011. #ifndef GL_EXT_draw_instanced
  2012. #define GL_EXT_draw_instanced 1
  2013. extern void (KHRONOS_APIENTRY* const& glDrawArraysInstancedEXT) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
  2014. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedEXT) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  2015. #endif
  2016. #ifndef GL_EXT_draw_transform_feedback
  2017. #define GL_EXT_draw_transform_feedback 1
  2018. extern void (KHRONOS_APIENTRY* const& glDrawTransformFeedbackEXT) (GLenum mode, GLuint id);
  2019. extern void (KHRONOS_APIENTRY* const& glDrawTransformFeedbackInstancedEXT) (GLenum mode, GLuint id, GLsizei instancecount);
  2020. #endif
  2021. #ifndef GL_EXT_external_buffer
  2022. #define GL_EXT_external_buffer 1
  2023. extern void (KHRONOS_APIENTRY* const& glBufferStorageExternalEXT) (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
  2024. extern void (KHRONOS_APIENTRY* const& glNamedBufferStorageExternalEXT) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
  2025. #endif
  2026. #ifndef GL_EXT_float_blend
  2027. #define GL_EXT_float_blend 1
  2028. #endif
  2029. #ifndef GL_EXT_geometry_point_size
  2030. #define GL_EXT_geometry_point_size 1
  2031. #endif
  2032. #ifndef GL_EXT_geometry_shader
  2033. #define GL_EXT_geometry_shader 1
  2034. enum
  2035. {
  2036. GL_GEOMETRY_SHADER_EXT = 0x8DD9,
  2037. GL_GEOMETRY_SHADER_BIT_EXT = 0x00000004,
  2038. GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916,
  2039. GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917,
  2040. GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918,
  2041. GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F,
  2042. GL_LAYER_PROVOKING_VERTEX_EXT = 0x825E,
  2043. GL_LINES_ADJACENCY_EXT = 0x000A,
  2044. GL_LINE_STRIP_ADJACENCY_EXT = 0x000B,
  2045. GL_TRIANGLES_ADJACENCY_EXT = 0x000C,
  2046. GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D,
  2047. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF,
  2048. GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C,
  2049. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32,
  2050. GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123,
  2051. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124,
  2052. GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0,
  2053. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1,
  2054. GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A,
  2055. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29,
  2056. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF,
  2057. GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5,
  2058. GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD,
  2059. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7,
  2060. GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D,
  2061. GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E,
  2062. GL_UNDEFINED_VERTEX_EXT = 0x8260,
  2063. GL_PRIMITIVES_GENERATED_EXT = 0x8C87,
  2064. GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312,
  2065. GL_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317,
  2066. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8,
  2067. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7,
  2068. GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309,
  2069. };
  2070. extern void (KHRONOS_APIENTRY* const& glFramebufferTextureEXT) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  2071. #endif
  2072. #ifndef GL_EXT_gpu_shader5
  2073. #define GL_EXT_gpu_shader5 1
  2074. #endif
  2075. #ifndef GL_EXT_instanced_arrays
  2076. #define GL_EXT_instanced_arrays 1
  2077. enum
  2078. {
  2079. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = 0x88FE,
  2080. };
  2081. extern void (KHRONOS_APIENTRY* const& glVertexAttribDivisorEXT) (GLuint index, GLuint divisor);
  2082. #endif
  2083. #ifndef GL_EXT_map_buffer_range
  2084. #define GL_EXT_map_buffer_range 1
  2085. enum
  2086. {
  2087. GL_MAP_READ_BIT_EXT = 0x0001,
  2088. GL_MAP_WRITE_BIT_EXT = 0x0002,
  2089. GL_MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004,
  2090. GL_MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008,
  2091. GL_MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010,
  2092. GL_MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020,
  2093. };
  2094. extern void * (KHRONOS_APIENTRY* const& glMapBufferRangeEXT) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  2095. extern void (KHRONOS_APIENTRY* const& glFlushMappedBufferRangeEXT) (GLenum target, GLintptr offset, GLsizeiptr length);
  2096. #endif
  2097. #ifndef GL_EXT_memory_object
  2098. #define GL_EXT_memory_object 1
  2099. enum
  2100. {
  2101. GL_TEXTURE_TILING_EXT = 0x9580,
  2102. GL_DEDICATED_MEMORY_OBJECT_EXT = 0x9581,
  2103. GL_PROTECTED_MEMORY_OBJECT_EXT = 0x959B,
  2104. GL_NUM_TILING_TYPES_EXT = 0x9582,
  2105. GL_TILING_TYPES_EXT = 0x9583,
  2106. GL_OPTIMAL_TILING_EXT = 0x9584,
  2107. GL_LINEAR_TILING_EXT = 0x9585,
  2108. GL_NUM_DEVICE_UUIDS_EXT = 0x9596,
  2109. GL_DEVICE_UUID_EXT = 0x9597,
  2110. GL_DRIVER_UUID_EXT = 0x9598,
  2111. GL_UUID_SIZE_EXT = 16,
  2112. };
  2113. extern void (KHRONOS_APIENTRY* const& glGetUnsignedBytevEXT) (GLenum pname, GLubyte *data);
  2114. extern void (KHRONOS_APIENTRY* const& glGetUnsignedBytei_vEXT) (GLenum target, GLuint index, GLubyte *data);
  2115. extern void (KHRONOS_APIENTRY* const& glDeleteMemoryObjectsEXT) (GLsizei n, const GLuint *memoryObjects);
  2116. extern GLboolean (KHRONOS_APIENTRY* const& glIsMemoryObjectEXT) (GLuint memoryObject);
  2117. extern void (KHRONOS_APIENTRY* const& glCreateMemoryObjectsEXT) (GLsizei n, GLuint *memoryObjects);
  2118. extern void (KHRONOS_APIENTRY* const& glMemoryObjectParameterivEXT) (GLuint memoryObject, GLenum pname, const GLint *params);
  2119. extern void (KHRONOS_APIENTRY* const& glGetMemoryObjectParameterivEXT) (GLuint memoryObject, GLenum pname, GLint *params);
  2120. extern void (KHRONOS_APIENTRY* const& glTexStorageMem2DEXT) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
  2121. extern void (KHRONOS_APIENTRY* const& glTexStorageMem2DMultisampleEXT) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
  2122. extern void (KHRONOS_APIENTRY* const& glTexStorageMem3DEXT) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
  2123. extern void (KHRONOS_APIENTRY* const& glTexStorageMem3DMultisampleEXT) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
  2124. extern void (KHRONOS_APIENTRY* const& glBufferStorageMemEXT) (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset);
  2125. extern void (KHRONOS_APIENTRY* const& glTextureStorageMem2DEXT) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
  2126. extern void (KHRONOS_APIENTRY* const& glTextureStorageMem2DMultisampleEXT) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
  2127. extern void (KHRONOS_APIENTRY* const& glTextureStorageMem3DEXT) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
  2128. extern void (KHRONOS_APIENTRY* const& glTextureStorageMem3DMultisampleEXT) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
  2129. extern void (KHRONOS_APIENTRY* const& glNamedBufferStorageMemEXT) (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset);
  2130. extern void (KHRONOS_APIENTRY* const& glTexStorageMem1DEXT) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset);
  2131. extern void (KHRONOS_APIENTRY* const& glTextureStorageMem1DEXT) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset);
  2132. #endif
  2133. #ifndef GL_EXT_memory_object_fd
  2134. #define GL_EXT_memory_object_fd 1
  2135. enum
  2136. {
  2137. GL_HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586,
  2138. };
  2139. extern void (KHRONOS_APIENTRY* const& glImportMemoryFdEXT) (GLuint memory, GLuint64 size, GLenum handleType, GLint fd);
  2140. #endif
  2141. #ifndef GL_EXT_memory_object_win32
  2142. #define GL_EXT_memory_object_win32 1
  2143. enum
  2144. {
  2145. GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587,
  2146. GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588,
  2147. GL_DEVICE_LUID_EXT = 0x9599,
  2148. GL_DEVICE_NODE_MASK_EXT = 0x959A,
  2149. GL_LUID_SIZE_EXT = 8,
  2150. GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589,
  2151. GL_HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A,
  2152. GL_HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B,
  2153. GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C,
  2154. };
  2155. extern void (KHRONOS_APIENTRY* const& glImportMemoryWin32HandleEXT) (GLuint memory, GLuint64 size, GLenum handleType, void *handle);
  2156. extern void (KHRONOS_APIENTRY* const& glImportMemoryWin32NameEXT) (GLuint memory, GLuint64 size, GLenum handleType, const void *name);
  2157. #endif
  2158. #ifndef GL_EXT_multi_draw_arrays
  2159. #define GL_EXT_multi_draw_arrays 1
  2160. extern void (KHRONOS_APIENTRY* const& glMultiDrawArraysEXT) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  2161. extern void (KHRONOS_APIENTRY* const& glMultiDrawElementsEXT) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
  2162. #endif
  2163. #ifndef GL_EXT_multi_draw_indirect
  2164. #define GL_EXT_multi_draw_indirect 1
  2165. extern void (KHRONOS_APIENTRY* const& glMultiDrawArraysIndirectEXT) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
  2166. extern void (KHRONOS_APIENTRY* const& glMultiDrawElementsIndirectEXT) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
  2167. #endif
  2168. #ifndef GL_EXT_multisampled_compatibility
  2169. #define GL_EXT_multisampled_compatibility 1
  2170. enum
  2171. {
  2172. GL_MULTISAMPLE_EXT = 0x809D,
  2173. GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F,
  2174. };
  2175. #endif
  2176. #ifndef GL_EXT_multisampled_render_to_texture
  2177. #define GL_EXT_multisampled_render_to_texture 1
  2178. enum
  2179. {
  2180. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = 0x8D6C,
  2181. GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB,
  2182. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56,
  2183. GL_MAX_SAMPLES_EXT = 0x8D57,
  2184. };
  2185. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorageMultisampleEXT) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  2186. extern void (KHRONOS_APIENTRY* const& glFramebufferTexture2DMultisampleEXT) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  2187. #endif
  2188. #ifndef GL_EXT_multisampled_render_to_texture2
  2189. #define GL_EXT_multisampled_render_to_texture2 1
  2190. #endif
  2191. #ifndef GL_EXT_multiview_draw_buffers
  2192. #define GL_EXT_multiview_draw_buffers 1
  2193. enum
  2194. {
  2195. GL_COLOR_ATTACHMENT_EXT = 0x90F0,
  2196. GL_MULTIVIEW_EXT = 0x90F1,
  2197. GL_DRAW_BUFFER_EXT = 0x0C01,
  2198. GL_READ_BUFFER_EXT = 0x0C02,
  2199. GL_MAX_MULTIVIEW_BUFFERS_EXT = 0x90F2,
  2200. };
  2201. extern void (KHRONOS_APIENTRY* const& glReadBufferIndexedEXT) (GLenum src, GLint index);
  2202. extern void (KHRONOS_APIENTRY* const& glDrawBuffersIndexedEXT) (GLint n, const GLenum *location, const GLint *indices);
  2203. extern void (KHRONOS_APIENTRY* const& glGetIntegeri_vEXT) (GLenum target, GLuint index, GLint *data);
  2204. #endif
  2205. #ifndef GL_EXT_multiview_tessellation_geometry_shader
  2206. #define GL_EXT_multiview_tessellation_geometry_shader 1
  2207. #endif
  2208. #ifndef GL_EXT_multiview_texture_multisample
  2209. #define GL_EXT_multiview_texture_multisample 1
  2210. #endif
  2211. #ifndef GL_EXT_multiview_timer_query
  2212. #define GL_EXT_multiview_timer_query 1
  2213. #endif
  2214. #ifndef GL_EXT_occlusion_query_boolean
  2215. #define GL_EXT_occlusion_query_boolean 1
  2216. enum
  2217. {
  2218. GL_ANY_SAMPLES_PASSED_EXT = 0x8C2F,
  2219. GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A,
  2220. };
  2221. #endif
  2222. #ifndef GL_EXT_polygon_offset_clamp
  2223. #define GL_EXT_polygon_offset_clamp 1
  2224. enum
  2225. {
  2226. GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B,
  2227. };
  2228. extern void (KHRONOS_APIENTRY* const& glPolygonOffsetClampEXT) (GLfloat factor, GLfloat units, GLfloat clamp);
  2229. #endif
  2230. #ifndef GL_EXT_post_depth_coverage
  2231. #define GL_EXT_post_depth_coverage 1
  2232. #endif
  2233. #ifndef GL_EXT_primitive_bounding_box
  2234. #define GL_EXT_primitive_bounding_box 1
  2235. enum
  2236. {
  2237. GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE,
  2238. };
  2239. extern void (KHRONOS_APIENTRY* const& glPrimitiveBoundingBoxEXT) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
  2240. #endif
  2241. #ifndef GL_EXT_protected_textures
  2242. #define GL_EXT_protected_textures 1
  2243. enum
  2244. {
  2245. GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT = 0x00000010,
  2246. GL_TEXTURE_PROTECTED_EXT = 0x8BFA,
  2247. };
  2248. #endif
  2249. #ifndef GL_EXT_pvrtc_sRGB
  2250. #define GL_EXT_pvrtc_sRGB 1
  2251. enum
  2252. {
  2253. GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = 0x8A54,
  2254. GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = 0x8A55,
  2255. GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 0x8A56,
  2256. GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = 0x8A57,
  2257. GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = 0x93F0,
  2258. GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = 0x93F1,
  2259. };
  2260. #endif
  2261. #ifndef GL_EXT_raster_multisample
  2262. #define GL_EXT_raster_multisample 1
  2263. enum
  2264. {
  2265. GL_RASTER_MULTISAMPLE_EXT = 0x9327,
  2266. GL_RASTER_SAMPLES_EXT = 0x9328,
  2267. GL_MAX_RASTER_SAMPLES_EXT = 0x9329,
  2268. GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A,
  2269. GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B,
  2270. GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C,
  2271. };
  2272. extern void (KHRONOS_APIENTRY* const& glRasterSamplesEXT) (GLuint samples, GLboolean fixedsamplelocations);
  2273. #endif
  2274. #ifndef GL_EXT_read_format_bgra
  2275. #define GL_EXT_read_format_bgra 1
  2276. enum
  2277. {
  2278. GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365,
  2279. GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366,
  2280. };
  2281. #endif
  2282. #ifndef GL_EXT_render_snorm
  2283. #define GL_EXT_render_snorm 1
  2284. enum
  2285. {
  2286. GL_R16_SNORM_EXT = 0x8F98,
  2287. GL_RG16_SNORM_EXT = 0x8F99,
  2288. GL_RGBA16_SNORM_EXT = 0x8F9B,
  2289. };
  2290. #endif
  2291. #ifndef GL_EXT_robustness
  2292. #define GL_EXT_robustness 1
  2293. enum
  2294. {
  2295. GL_GUILTY_CONTEXT_RESET_EXT = 0x8253,
  2296. GL_INNOCENT_CONTEXT_RESET_EXT = 0x8254,
  2297. GL_UNKNOWN_CONTEXT_RESET_EXT = 0x8255,
  2298. GL_CONTEXT_ROBUST_ACCESS_EXT = 0x90F3,
  2299. GL_RESET_NOTIFICATION_STRATEGY_EXT = 0x8256,
  2300. GL_LOSE_CONTEXT_ON_RESET_EXT = 0x8252,
  2301. GL_NO_RESET_NOTIFICATION_EXT = 0x8261,
  2302. };
  2303. extern GLenum (KHRONOS_APIENTRY* const& glGetGraphicsResetStatusEXT) ();
  2304. extern void (KHRONOS_APIENTRY* const& glReadnPixelsEXT) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  2305. extern void (KHRONOS_APIENTRY* const& glGetnUniformfvEXT) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  2306. extern void (KHRONOS_APIENTRY* const& glGetnUniformivEXT) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  2307. #endif
  2308. #ifndef GL_EXT_semaphore
  2309. #define GL_EXT_semaphore 1
  2310. enum
  2311. {
  2312. GL_LAYOUT_GENERAL_EXT = 0x958D,
  2313. GL_LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E,
  2314. GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F,
  2315. GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590,
  2316. GL_LAYOUT_SHADER_READ_ONLY_EXT = 0x9591,
  2317. GL_LAYOUT_TRANSFER_SRC_EXT = 0x9592,
  2318. GL_LAYOUT_TRANSFER_DST_EXT = 0x9593,
  2319. GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530,
  2320. GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531,
  2321. };
  2322. extern void (KHRONOS_APIENTRY* const& glGenSemaphoresEXT) (GLsizei n, GLuint *semaphores);
  2323. extern void (KHRONOS_APIENTRY* const& glDeleteSemaphoresEXT) (GLsizei n, const GLuint *semaphores);
  2324. extern GLboolean (KHRONOS_APIENTRY* const& glIsSemaphoreEXT) (GLuint semaphore);
  2325. extern void (KHRONOS_APIENTRY* const& glSemaphoreParameterui64vEXT) (GLuint semaphore, GLenum pname, const GLuint64 *params);
  2326. extern void (KHRONOS_APIENTRY* const& glGetSemaphoreParameterui64vEXT) (GLuint semaphore, GLenum pname, GLuint64 *params);
  2327. extern void (KHRONOS_APIENTRY* const& glWaitSemaphoreEXT) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts);
  2328. extern void (KHRONOS_APIENTRY* const& glSignalSemaphoreEXT) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts);
  2329. #endif
  2330. #ifndef GL_EXT_semaphore_fd
  2331. #define GL_EXT_semaphore_fd 1
  2332. extern void (KHRONOS_APIENTRY* const& glImportSemaphoreFdEXT) (GLuint semaphore, GLenum handleType, GLint fd);
  2333. #endif
  2334. #ifndef GL_EXT_semaphore_win32
  2335. #define GL_EXT_semaphore_win32 1
  2336. enum
  2337. {
  2338. GL_HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594,
  2339. GL_D3D12_FENCE_VALUE_EXT = 0x9595,
  2340. };
  2341. extern void (KHRONOS_APIENTRY* const& glImportSemaphoreWin32HandleEXT) (GLuint semaphore, GLenum handleType, void *handle);
  2342. extern void (KHRONOS_APIENTRY* const& glImportSemaphoreWin32NameEXT) (GLuint semaphore, GLenum handleType, const void *name);
  2343. #endif
  2344. #ifndef GL_EXT_sRGB
  2345. #define GL_EXT_sRGB 1
  2346. enum
  2347. {
  2348. GL_SRGB_EXT = 0x8C40,
  2349. GL_SRGB_ALPHA_EXT = 0x8C42,
  2350. GL_SRGB8_ALPHA8_EXT = 0x8C43,
  2351. GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210,
  2352. };
  2353. #endif
  2354. #ifndef GL_EXT_sRGB_write_control
  2355. #define GL_EXT_sRGB_write_control 1
  2356. enum
  2357. {
  2358. GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9,
  2359. };
  2360. #endif
  2361. #ifndef GL_EXT_separate_shader_objects
  2362. #define GL_EXT_separate_shader_objects 1
  2363. enum
  2364. {
  2365. GL_ACTIVE_PROGRAM_EXT = 0x8B8D,
  2366. GL_VERTEX_SHADER_BIT_EXT = 0x00000001,
  2367. GL_FRAGMENT_SHADER_BIT_EXT = 0x00000002,
  2368. GL_ALL_SHADER_BITS_EXT = 0xFFFFFFFF,
  2369. GL_PROGRAM_SEPARABLE_EXT = 0x8258,
  2370. GL_PROGRAM_PIPELINE_BINDING_EXT = 0x825A,
  2371. };
  2372. extern void (KHRONOS_APIENTRY* const& glUseShaderProgramEXT) (GLenum type, GLuint program);
  2373. extern void (KHRONOS_APIENTRY* const& glActiveProgramEXT) (GLuint program);
  2374. extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramEXT) (GLenum type, const GLchar *string);
  2375. extern void (KHRONOS_APIENTRY* const& glActiveShaderProgramEXT) (GLuint pipeline, GLuint program);
  2376. extern void (KHRONOS_APIENTRY* const& glBindProgramPipelineEXT) (GLuint pipeline);
  2377. extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramvEXT) (GLenum type, GLsizei count, const GLchar **strings);
  2378. extern void (KHRONOS_APIENTRY* const& glDeleteProgramPipelinesEXT) (GLsizei n, const GLuint *pipelines);
  2379. extern void (KHRONOS_APIENTRY* const& glGenProgramPipelinesEXT) (GLsizei n, GLuint *pipelines);
  2380. extern void (KHRONOS_APIENTRY* const& glGetProgramPipelineInfoLogEXT) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  2381. extern void (KHRONOS_APIENTRY* const& glGetProgramPipelineivEXT) (GLuint pipeline, GLenum pname, GLint *params);
  2382. extern GLboolean (KHRONOS_APIENTRY* const& glIsProgramPipelineEXT) (GLuint pipeline);
  2383. extern void (KHRONOS_APIENTRY* const& glProgramParameteriEXT) (GLuint program, GLenum pname, GLint value);
  2384. extern void (KHRONOS_APIENTRY* const& glProgramUniform1fEXT) (GLuint program, GLint location, GLfloat v0);
  2385. extern void (KHRONOS_APIENTRY* const& glProgramUniform1fvEXT) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  2386. extern void (KHRONOS_APIENTRY* const& glProgramUniform1iEXT) (GLuint program, GLint location, GLint v0);
  2387. extern void (KHRONOS_APIENTRY* const& glProgramUniform1ivEXT) (GLuint program, GLint location, GLsizei count, const GLint *value);
  2388. extern void (KHRONOS_APIENTRY* const& glProgramUniform2fEXT) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
  2389. extern void (KHRONOS_APIENTRY* const& glProgramUniform2fvEXT) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  2390. extern void (KHRONOS_APIENTRY* const& glProgramUniform2iEXT) (GLuint program, GLint location, GLint v0, GLint v1);
  2391. extern void (KHRONOS_APIENTRY* const& glProgramUniform2ivEXT) (GLuint program, GLint location, GLsizei count, const GLint *value);
  2392. extern void (KHRONOS_APIENTRY* const& glProgramUniform3fEXT) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  2393. extern void (KHRONOS_APIENTRY* const& glProgramUniform3fvEXT) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  2394. extern void (KHRONOS_APIENTRY* const& glProgramUniform3iEXT) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
  2395. extern void (KHRONOS_APIENTRY* const& glProgramUniform3ivEXT) (GLuint program, GLint location, GLsizei count, const GLint *value);
  2396. extern void (KHRONOS_APIENTRY* const& glProgramUniform4fEXT) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  2397. extern void (KHRONOS_APIENTRY* const& glProgramUniform4fvEXT) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  2398. extern void (KHRONOS_APIENTRY* const& glProgramUniform4iEXT) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  2399. extern void (KHRONOS_APIENTRY* const& glProgramUniform4ivEXT) (GLuint program, GLint location, GLsizei count, const GLint *value);
  2400. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix2fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2401. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix3fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2402. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix4fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2403. extern void (KHRONOS_APIENTRY* const& glUseProgramStagesEXT) (GLuint pipeline, GLbitfield stages, GLuint program);
  2404. extern void (KHRONOS_APIENTRY* const& glValidateProgramPipelineEXT) (GLuint pipeline);
  2405. extern void (KHRONOS_APIENTRY* const& glProgramUniform1uiEXT) (GLuint program, GLint location, GLuint v0);
  2406. extern void (KHRONOS_APIENTRY* const& glProgramUniform2uiEXT) (GLuint program, GLint location, GLuint v0, GLuint v1);
  2407. extern void (KHRONOS_APIENTRY* const& glProgramUniform3uiEXT) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
  2408. extern void (KHRONOS_APIENTRY* const& glProgramUniform4uiEXT) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  2409. extern void (KHRONOS_APIENTRY* const& glProgramUniform1uivEXT) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  2410. extern void (KHRONOS_APIENTRY* const& glProgramUniform2uivEXT) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  2411. extern void (KHRONOS_APIENTRY* const& glProgramUniform3uivEXT) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  2412. extern void (KHRONOS_APIENTRY* const& glProgramUniform4uivEXT) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  2413. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix2x3fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2414. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix3x2fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2415. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix2x4fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2416. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix4x2fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2417. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix3x4fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2418. extern void (KHRONOS_APIENTRY* const& glProgramUniformMatrix4x3fvEXT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  2419. #endif
  2420. #ifndef GL_EXT_shader_framebuffer_fetch
  2421. #define GL_EXT_shader_framebuffer_fetch 1
  2422. enum
  2423. {
  2424. GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52,
  2425. };
  2426. #endif
  2427. #ifndef GL_EXT_shader_framebuffer_fetch_non_coherent
  2428. #define GL_EXT_shader_framebuffer_fetch_non_coherent 1
  2429. extern void (KHRONOS_APIENTRY* const& glFramebufferFetchBarrierEXT) ();
  2430. #endif
  2431. #ifndef GL_EXT_shader_group_vote
  2432. #define GL_EXT_shader_group_vote 1
  2433. #endif
  2434. #ifndef GL_EXT_shader_implicit_conversions
  2435. #define GL_EXT_shader_implicit_conversions 1
  2436. #endif
  2437. #ifndef GL_EXT_shader_integer_mix
  2438. #define GL_EXT_shader_integer_mix 1
  2439. #endif
  2440. #ifndef GL_EXT_shader_io_blocks
  2441. #define GL_EXT_shader_io_blocks 1
  2442. #endif
  2443. #ifndef GL_EXT_shader_non_constant_global_initializers
  2444. #define GL_EXT_shader_non_constant_global_initializers 1
  2445. #endif
  2446. #ifndef GL_EXT_shader_pixel_local_storage
  2447. #define GL_EXT_shader_pixel_local_storage 1
  2448. enum
  2449. {
  2450. GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 0x8F63,
  2451. GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 0x8F67,
  2452. GL_SHADER_PIXEL_LOCAL_STORAGE_EXT = 0x8F64,
  2453. };
  2454. #endif
  2455. #ifndef GL_EXT_shader_pixel_local_storage2
  2456. #define GL_EXT_shader_pixel_local_storage2 1
  2457. enum
  2458. {
  2459. GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT = 0x9650,
  2460. GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT = 0x9651,
  2461. GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT = 0x9652,
  2462. };
  2463. extern void (KHRONOS_APIENTRY* const& glFramebufferPixelLocalStorageSizeEXT) (GLuint target, GLsizei size);
  2464. extern GLsizei (KHRONOS_APIENTRY* const& glGetFramebufferPixelLocalStorageSizeEXT) (GLuint target);
  2465. extern void (KHRONOS_APIENTRY* const& glClearPixelLocalStorageuiEXT) (GLsizei offset, GLsizei n, const GLuint *values);
  2466. #endif
  2467. #ifndef GL_EXT_shader_texture_lod
  2468. #define GL_EXT_shader_texture_lod 1
  2469. #endif
  2470. #ifndef GL_EXT_shadow_samplers
  2471. #define GL_EXT_shadow_samplers 1
  2472. enum
  2473. {
  2474. GL_TEXTURE_COMPARE_MODE_EXT = 0x884C,
  2475. GL_TEXTURE_COMPARE_FUNC_EXT = 0x884D,
  2476. GL_COMPARE_REF_TO_TEXTURE_EXT = 0x884E,
  2477. GL_SAMPLER_2D_SHADOW_EXT = 0x8B62,
  2478. };
  2479. #endif
  2480. #ifndef GL_EXT_sparse_texture
  2481. #define GL_EXT_sparse_texture 1
  2482. enum
  2483. {
  2484. GL_TEXTURE_SPARSE_EXT = 0x91A6,
  2485. GL_VIRTUAL_PAGE_SIZE_INDEX_EXT = 0x91A7,
  2486. GL_NUM_SPARSE_LEVELS_EXT = 0x91AA,
  2487. GL_NUM_VIRTUAL_PAGE_SIZES_EXT = 0x91A8,
  2488. GL_VIRTUAL_PAGE_SIZE_X_EXT = 0x9195,
  2489. GL_VIRTUAL_PAGE_SIZE_Y_EXT = 0x9196,
  2490. GL_VIRTUAL_PAGE_SIZE_Z_EXT = 0x9197,
  2491. GL_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009,
  2492. GL_MAX_SPARSE_TEXTURE_SIZE_EXT = 0x9198,
  2493. GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT = 0x9199,
  2494. GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT = 0x919A,
  2495. GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT = 0x91A9,
  2496. };
  2497. extern void (KHRONOS_APIENTRY* const& glTexPageCommitmentEXT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
  2498. #endif
  2499. #ifndef GL_EXT_sparse_texture2
  2500. #define GL_EXT_sparse_texture2 1
  2501. #endif
  2502. #ifndef GL_EXT_tessellation_point_size
  2503. #define GL_EXT_tessellation_point_size 1
  2504. #endif
  2505. #ifndef GL_EXT_tessellation_shader
  2506. #define GL_EXT_tessellation_shader 1
  2507. enum
  2508. {
  2509. GL_PATCHES_EXT = 0x000E,
  2510. GL_PATCH_VERTICES_EXT = 0x8E72,
  2511. GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75,
  2512. GL_TESS_GEN_MODE_EXT = 0x8E76,
  2513. GL_TESS_GEN_SPACING_EXT = 0x8E77,
  2514. GL_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78,
  2515. GL_TESS_GEN_POINT_MODE_EXT = 0x8E79,
  2516. GL_ISOLINES_EXT = 0x8E7A,
  2517. GL_QUADS_EXT = 0x0007,
  2518. GL_FRACTIONAL_ODD_EXT = 0x8E7B,
  2519. GL_FRACTIONAL_EVEN_EXT = 0x8E7C,
  2520. GL_MAX_PATCH_VERTICES_EXT = 0x8E7D,
  2521. GL_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E,
  2522. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F,
  2523. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80,
  2524. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81,
  2525. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82,
  2526. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83,
  2527. GL_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84,
  2528. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85,
  2529. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86,
  2530. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89,
  2531. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A,
  2532. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C,
  2533. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D,
  2534. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E,
  2535. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F,
  2536. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD,
  2537. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE,
  2538. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3,
  2539. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4,
  2540. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB,
  2541. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC,
  2542. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8,
  2543. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9,
  2544. GL_IS_PER_PATCH_EXT = 0x92E7,
  2545. GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307,
  2546. GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308,
  2547. GL_TESS_CONTROL_SHADER_EXT = 0x8E88,
  2548. GL_TESS_EVALUATION_SHADER_EXT = 0x8E87,
  2549. GL_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008,
  2550. GL_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010,
  2551. };
  2552. extern void (KHRONOS_APIENTRY* const& glPatchParameteriEXT) (GLenum pname, GLint value);
  2553. #endif
  2554. #ifndef GL_EXT_texture_border_clamp
  2555. #define GL_EXT_texture_border_clamp 1
  2556. enum
  2557. {
  2558. GL_TEXTURE_BORDER_COLOR_EXT = 0x1004,
  2559. GL_CLAMP_TO_BORDER_EXT = 0x812D,
  2560. };
  2561. extern void (KHRONOS_APIENTRY* const& glTexParameterIivEXT) (GLenum target, GLenum pname, const GLint *params);
  2562. extern void (KHRONOS_APIENTRY* const& glTexParameterIuivEXT) (GLenum target, GLenum pname, const GLuint *params);
  2563. extern void (KHRONOS_APIENTRY* const& glGetTexParameterIivEXT) (GLenum target, GLenum pname, GLint *params);
  2564. extern void (KHRONOS_APIENTRY* const& glGetTexParameterIuivEXT) (GLenum target, GLenum pname, GLuint *params);
  2565. extern void (KHRONOS_APIENTRY* const& glSamplerParameterIivEXT) (GLuint sampler, GLenum pname, const GLint *param);
  2566. extern void (KHRONOS_APIENTRY* const& glSamplerParameterIuivEXT) (GLuint sampler, GLenum pname, const GLuint *param);
  2567. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameterIivEXT) (GLuint sampler, GLenum pname, GLint *params);
  2568. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameterIuivEXT) (GLuint sampler, GLenum pname, GLuint *params);
  2569. #endif
  2570. #ifndef GL_EXT_texture_buffer
  2571. #define GL_EXT_texture_buffer 1
  2572. enum
  2573. {
  2574. GL_TEXTURE_BUFFER_EXT = 0x8C2A,
  2575. GL_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A,
  2576. GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B,
  2577. GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C,
  2578. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D,
  2579. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F,
  2580. GL_SAMPLER_BUFFER_EXT = 0x8DC2,
  2581. GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0,
  2582. GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8,
  2583. GL_IMAGE_BUFFER_EXT = 0x9051,
  2584. GL_INT_IMAGE_BUFFER_EXT = 0x905C,
  2585. GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067,
  2586. GL_TEXTURE_BUFFER_OFFSET_EXT = 0x919D,
  2587. GL_TEXTURE_BUFFER_SIZE_EXT = 0x919E,
  2588. };
  2589. extern void (KHRONOS_APIENTRY* const& glTexBufferEXT) (GLenum target, GLenum internalformat, GLuint buffer);
  2590. extern void (KHRONOS_APIENTRY* const& glTexBufferRangeEXT) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
  2591. #endif
  2592. #ifndef GL_EXT_texture_compression_astc_decode_mode
  2593. #define GL_EXT_texture_compression_astc_decode_mode 1
  2594. enum
  2595. {
  2596. GL_TEXTURE_ASTC_DECODE_PRECISION_EXT = 0x8F69,
  2597. };
  2598. #endif
  2599. #ifndef GL_EXT_texture_compression_bptc
  2600. #define GL_EXT_texture_compression_bptc 1
  2601. enum
  2602. {
  2603. GL_COMPRESSED_RGBA_BPTC_UNORM_EXT = 0x8E8C,
  2604. GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT = 0x8E8D,
  2605. GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT = 0x8E8E,
  2606. GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT = 0x8E8F,
  2607. };
  2608. #endif
  2609. #ifndef GL_EXT_texture_compression_dxt1
  2610. #define GL_EXT_texture_compression_dxt1 1
  2611. enum
  2612. {
  2613. GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0,
  2614. GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1,
  2615. };
  2616. #endif
  2617. #ifndef GL_EXT_texture_compression_rgtc
  2618. #define GL_EXT_texture_compression_rgtc 1
  2619. enum
  2620. {
  2621. GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB,
  2622. GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC,
  2623. GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD,
  2624. GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE,
  2625. };
  2626. #endif
  2627. #ifndef GL_EXT_texture_compression_s3tc
  2628. #define GL_EXT_texture_compression_s3tc 1
  2629. enum
  2630. {
  2631. GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2,
  2632. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3,
  2633. };
  2634. #endif
  2635. #ifndef GL_EXT_texture_compression_s3tc_srgb
  2636. #define GL_EXT_texture_compression_s3tc_srgb 1
  2637. enum
  2638. {
  2639. GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C,
  2640. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D,
  2641. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E,
  2642. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F,
  2643. };
  2644. #endif
  2645. #ifndef GL_EXT_texture_cube_map_array
  2646. #define GL_EXT_texture_cube_map_array 1
  2647. enum
  2648. {
  2649. GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009,
  2650. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A,
  2651. GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C,
  2652. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D,
  2653. GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E,
  2654. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F,
  2655. GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054,
  2656. GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F,
  2657. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A,
  2658. };
  2659. #endif
  2660. #ifndef GL_EXT_texture_filter_anisotropic
  2661. #define GL_EXT_texture_filter_anisotropic 1
  2662. enum
  2663. {
  2664. GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE,
  2665. GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF,
  2666. };
  2667. #endif
  2668. #ifndef GL_EXT_texture_filter_minmax
  2669. #define GL_EXT_texture_filter_minmax 1
  2670. enum
  2671. {
  2672. GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366,
  2673. GL_WEIGHTED_AVERAGE_EXT = 0x9367,
  2674. };
  2675. #endif
  2676. #ifndef GL_EXT_texture_format_BGRA8888
  2677. #define GL_EXT_texture_format_BGRA8888 1
  2678. #endif
  2679. #ifndef GL_EXT_texture_format_sRGB_override
  2680. #define GL_EXT_texture_format_sRGB_override 1
  2681. enum
  2682. {
  2683. GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT = 0x8FBF,
  2684. };
  2685. #endif
  2686. #ifndef GL_EXT_texture_mirror_clamp_to_edge
  2687. #define GL_EXT_texture_mirror_clamp_to_edge 1
  2688. enum
  2689. {
  2690. GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743,
  2691. };
  2692. #endif
  2693. #ifndef GL_EXT_texture_norm16
  2694. #define GL_EXT_texture_norm16 1
  2695. enum
  2696. {
  2697. GL_R16_EXT = 0x822A,
  2698. GL_RG16_EXT = 0x822C,
  2699. GL_RGBA16_EXT = 0x805B,
  2700. GL_RGB16_EXT = 0x8054,
  2701. GL_RGB16_SNORM_EXT = 0x8F9A,
  2702. };
  2703. #endif
  2704. #ifndef GL_EXT_texture_query_lod
  2705. #define GL_EXT_texture_query_lod 1
  2706. #endif
  2707. #ifndef GL_EXT_texture_rg
  2708. #define GL_EXT_texture_rg 1
  2709. enum
  2710. {
  2711. GL_RED_EXT = 0x1903,
  2712. GL_RG_EXT = 0x8227,
  2713. GL_R8_EXT = 0x8229,
  2714. GL_RG8_EXT = 0x822B,
  2715. };
  2716. #endif
  2717. #ifndef GL_EXT_texture_sRGB_R8
  2718. #define GL_EXT_texture_sRGB_R8 1
  2719. enum
  2720. {
  2721. GL_SR8_EXT = 0x8FBD,
  2722. };
  2723. #endif
  2724. #ifndef GL_EXT_texture_sRGB_RG8
  2725. #define GL_EXT_texture_sRGB_RG8 1
  2726. enum
  2727. {
  2728. GL_SRG8_EXT = 0x8FBE,
  2729. };
  2730. #endif
  2731. #ifndef GL_EXT_texture_sRGB_decode
  2732. #define GL_EXT_texture_sRGB_decode 1
  2733. enum
  2734. {
  2735. GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48,
  2736. GL_DECODE_EXT = 0x8A49,
  2737. GL_SKIP_DECODE_EXT = 0x8A4A,
  2738. };
  2739. #endif
  2740. #ifndef GL_EXT_texture_storage
  2741. #define GL_EXT_texture_storage 1
  2742. enum
  2743. {
  2744. GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F,
  2745. GL_ALPHA8_EXT = 0x803C,
  2746. GL_LUMINANCE8_EXT = 0x8040,
  2747. GL_LUMINANCE8_ALPHA8_EXT = 0x8045,
  2748. GL_RGBA32F_EXT = 0x8814,
  2749. GL_RGB32F_EXT = 0x8815,
  2750. GL_ALPHA32F_EXT = 0x8816,
  2751. GL_LUMINANCE32F_EXT = 0x8818,
  2752. GL_LUMINANCE_ALPHA32F_EXT = 0x8819,
  2753. GL_ALPHA16F_EXT = 0x881C,
  2754. GL_LUMINANCE16F_EXT = 0x881E,
  2755. GL_LUMINANCE_ALPHA16F_EXT = 0x881F,
  2756. GL_RGB10_A2_EXT = 0x8059,
  2757. GL_RGB10_EXT = 0x8052,
  2758. GL_R32F_EXT = 0x822E,
  2759. GL_RG32F_EXT = 0x8230,
  2760. };
  2761. extern void (KHRONOS_APIENTRY* const& glTexStorage1DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  2762. extern void (KHRONOS_APIENTRY* const& glTexStorage2DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  2763. extern void (KHRONOS_APIENTRY* const& glTexStorage3DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  2764. extern void (KHRONOS_APIENTRY* const& glTextureStorage1DEXT) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  2765. extern void (KHRONOS_APIENTRY* const& glTextureStorage2DEXT) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  2766. extern void (KHRONOS_APIENTRY* const& glTextureStorage3DEXT) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  2767. #endif
  2768. #ifndef GL_EXT_texture_type_2_10_10_10_REV
  2769. #define GL_EXT_texture_type_2_10_10_10_REV 1
  2770. enum
  2771. {
  2772. GL_UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368,
  2773. };
  2774. #endif
  2775. #ifndef GL_EXT_texture_view
  2776. #define GL_EXT_texture_view 1
  2777. enum
  2778. {
  2779. GL_TEXTURE_VIEW_MIN_LEVEL_EXT = 0x82DB,
  2780. GL_TEXTURE_VIEW_NUM_LEVELS_EXT = 0x82DC,
  2781. GL_TEXTURE_VIEW_MIN_LAYER_EXT = 0x82DD,
  2782. GL_TEXTURE_VIEW_NUM_LAYERS_EXT = 0x82DE,
  2783. };
  2784. extern void (KHRONOS_APIENTRY* const& glTextureViewEXT) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
  2785. #endif
  2786. #ifndef GL_NV_timeline_semaphore
  2787. #define GL_NV_timeline_semaphore 1
  2788. enum
  2789. {
  2790. GL_TIMELINE_SEMAPHORE_VALUE_NV = 0x9595,
  2791. GL_SEMAPHORE_TYPE_NV = 0x95B3,
  2792. GL_SEMAPHORE_TYPE_BINARY_NV = 0x95B4,
  2793. GL_SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5,
  2794. GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6,
  2795. };
  2796. extern void (KHRONOS_APIENTRY* const& glCreateSemaphoresNV) (GLsizei n, GLuint *semaphores);
  2797. extern void (KHRONOS_APIENTRY* const& glSemaphoreParameterivNV) (GLuint semaphore, GLenum pname, const GLint *params);
  2798. extern void (KHRONOS_APIENTRY* const& glGetSemaphoreParameterivNV) (GLuint semaphore, GLenum pname, GLint *params);
  2799. #endif
  2800. #ifndef GL_EXT_unpack_subimage
  2801. #define GL_EXT_unpack_subimage 1
  2802. enum
  2803. {
  2804. GL_UNPACK_ROW_LENGTH_EXT = 0x0CF2,
  2805. GL_UNPACK_SKIP_ROWS_EXT = 0x0CF3,
  2806. GL_UNPACK_SKIP_PIXELS_EXT = 0x0CF4,
  2807. };
  2808. #endif
  2809. #ifndef GL_EXT_win32_keyed_mutex
  2810. #define GL_EXT_win32_keyed_mutex 1
  2811. extern GLboolean (KHRONOS_APIENTRY* const& glAcquireKeyedMutexWin32EXT) (GLuint memory, GLuint64 key, GLuint timeout);
  2812. extern GLboolean (KHRONOS_APIENTRY* const& glReleaseKeyedMutexWin32EXT) (GLuint memory, GLuint64 key);
  2813. #endif
  2814. #ifndef GL_EXT_window_rectangles
  2815. #define GL_EXT_window_rectangles 1
  2816. enum
  2817. {
  2818. GL_INCLUSIVE_EXT = 0x8F10,
  2819. GL_EXCLUSIVE_EXT = 0x8F11,
  2820. GL_WINDOW_RECTANGLE_EXT = 0x8F12,
  2821. GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13,
  2822. GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14,
  2823. GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15,
  2824. };
  2825. extern void (KHRONOS_APIENTRY* const& glWindowRectanglesEXT) (GLenum mode, GLsizei count, const GLint *box);
  2826. #endif
  2827. #ifndef GL_FJ_shader_binary_GCCSO
  2828. #define GL_FJ_shader_binary_GCCSO 1
  2829. enum
  2830. {
  2831. GL_GCCSO_SHADER_BINARY_FJ = 0x9260,
  2832. };
  2833. #endif
  2834. #ifndef GL_IMG_bindless_texture
  2835. #define GL_IMG_bindless_texture 1
  2836. extern GLuint64 (KHRONOS_APIENTRY* const& glGetTextureHandleIMG) (GLuint texture);
  2837. extern GLuint64 (KHRONOS_APIENTRY* const& glGetTextureSamplerHandleIMG) (GLuint texture, GLuint sampler);
  2838. extern void (KHRONOS_APIENTRY* const& glUniformHandleui64IMG) (GLint location, GLuint64 value);
  2839. extern void (KHRONOS_APIENTRY* const& glUniformHandleui64vIMG) (GLint location, GLsizei count, const GLuint64 *value);
  2840. extern void (KHRONOS_APIENTRY* const& glProgramUniformHandleui64IMG) (GLuint program, GLint location, GLuint64 value);
  2841. extern void (KHRONOS_APIENTRY* const& glProgramUniformHandleui64vIMG) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
  2842. #endif
  2843. #ifndef GL_IMG_framebuffer_downsample
  2844. #define GL_IMG_framebuffer_downsample 1
  2845. enum
  2846. {
  2847. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG = 0x913C,
  2848. GL_NUM_DOWNSAMPLE_SCALES_IMG = 0x913D,
  2849. GL_DOWNSAMPLE_SCALES_IMG = 0x913E,
  2850. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG = 0x913F,
  2851. };
  2852. extern void (KHRONOS_APIENTRY* const& glFramebufferTexture2DDownsampleIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale);
  2853. extern void (KHRONOS_APIENTRY* const& glFramebufferTextureLayerDownsampleIMG) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale);
  2854. #endif
  2855. #ifndef GL_IMG_multisampled_render_to_texture
  2856. #define GL_IMG_multisampled_render_to_texture 1
  2857. enum
  2858. {
  2859. GL_RENDERBUFFER_SAMPLES_IMG = 0x9133,
  2860. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = 0x9134,
  2861. GL_MAX_SAMPLES_IMG = 0x9135,
  2862. GL_TEXTURE_SAMPLES_IMG = 0x9136,
  2863. };
  2864. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorageMultisampleIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  2865. extern void (KHRONOS_APIENTRY* const& glFramebufferTexture2DMultisampleIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  2866. #endif
  2867. #ifndef GL_IMG_program_binary
  2868. #define GL_IMG_program_binary 1
  2869. enum
  2870. {
  2871. GL_SGX_PROGRAM_BINARY_IMG = 0x9130,
  2872. };
  2873. #endif
  2874. #ifndef GL_IMG_read_format
  2875. #define GL_IMG_read_format 1
  2876. enum
  2877. {
  2878. GL_BGRA_IMG = 0x80E1,
  2879. GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG = 0x8365,
  2880. };
  2881. #endif
  2882. #ifndef GL_IMG_shader_binary
  2883. #define GL_IMG_shader_binary 1
  2884. enum
  2885. {
  2886. GL_SGX_BINARY_IMG = 0x8C0A,
  2887. };
  2888. #endif
  2889. #ifndef GL_IMG_texture_compression_pvrtc
  2890. #define GL_IMG_texture_compression_pvrtc 1
  2891. enum
  2892. {
  2893. GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00,
  2894. GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01,
  2895. GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02,
  2896. GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03,
  2897. };
  2898. #endif
  2899. #ifndef GL_IMG_texture_compression_pvrtc2
  2900. #define GL_IMG_texture_compression_pvrtc2 1
  2901. enum
  2902. {
  2903. GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 0x9137,
  2904. GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 0x9138,
  2905. };
  2906. #endif
  2907. #ifndef GL_IMG_texture_filter_cubic
  2908. #define GL_IMG_texture_filter_cubic 1
  2909. enum
  2910. {
  2911. GL_CUBIC_IMG = 0x9139,
  2912. GL_CUBIC_MIPMAP_NEAREST_IMG = 0x913A,
  2913. GL_CUBIC_MIPMAP_LINEAR_IMG = 0x913B,
  2914. };
  2915. #endif
  2916. #ifndef GL_INTEL_conservative_rasterization
  2917. #define GL_INTEL_conservative_rasterization 1
  2918. enum
  2919. {
  2920. GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE,
  2921. };
  2922. #endif
  2923. #ifndef GL_INTEL_framebuffer_CMAA
  2924. #define GL_INTEL_framebuffer_CMAA 1
  2925. extern void (KHRONOS_APIENTRY* const& glApplyFramebufferAttachmentCMAAINTEL) ();
  2926. #endif
  2927. #ifndef GL_INTEL_blackhole_render
  2928. #define GL_INTEL_blackhole_render 1
  2929. enum
  2930. {
  2931. GL_BLACKHOLE_RENDER_INTEL = 0x83FC,
  2932. };
  2933. #endif
  2934. #ifndef GL_INTEL_performance_query
  2935. #define GL_INTEL_performance_query 1
  2936. enum
  2937. {
  2938. GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000,
  2939. GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001,
  2940. GL_PERFQUERY_WAIT_INTEL = 0x83FB,
  2941. GL_PERFQUERY_FLUSH_INTEL = 0x83FA,
  2942. GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9,
  2943. GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0,
  2944. GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1,
  2945. GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2,
  2946. GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3,
  2947. GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4,
  2948. GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5,
  2949. GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8,
  2950. GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9,
  2951. GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA,
  2952. GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB,
  2953. GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC,
  2954. GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD,
  2955. GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE,
  2956. GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF,
  2957. GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500,
  2958. };
  2959. extern void (KHRONOS_APIENTRY* const& glBeginPerfQueryINTEL) (GLuint queryHandle);
  2960. extern void (KHRONOS_APIENTRY* const& glCreatePerfQueryINTEL) (GLuint queryId, GLuint *queryHandle);
  2961. extern void (KHRONOS_APIENTRY* const& glDeletePerfQueryINTEL) (GLuint queryHandle);
  2962. extern void (KHRONOS_APIENTRY* const& glEndPerfQueryINTEL) (GLuint queryHandle);
  2963. extern void (KHRONOS_APIENTRY* const& glGetFirstPerfQueryIdINTEL) (GLuint *queryId);
  2964. extern void (KHRONOS_APIENTRY* const& glGetNextPerfQueryIdINTEL) (GLuint queryId, GLuint *nextQueryId);
  2965. extern void (KHRONOS_APIENTRY* const& glGetPerfCounterInfoINTEL) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
  2966. extern void (KHRONOS_APIENTRY* const& glGetPerfQueryDataINTEL) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
  2967. extern void (KHRONOS_APIENTRY* const& glGetPerfQueryIdByNameINTEL) (GLchar *queryName, GLuint *queryId);
  2968. extern void (KHRONOS_APIENTRY* const& glGetPerfQueryInfoINTEL) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
  2969. #endif
  2970. #ifndef GL_KHR_blend_equation_advanced
  2971. #define GL_KHR_blend_equation_advanced 1
  2972. enum
  2973. {
  2974. GL_MULTIPLY_KHR = 0x9294,
  2975. GL_SCREEN_KHR = 0x9295,
  2976. GL_OVERLAY_KHR = 0x9296,
  2977. GL_DARKEN_KHR = 0x9297,
  2978. GL_LIGHTEN_KHR = 0x9298,
  2979. GL_COLORDODGE_KHR = 0x9299,
  2980. GL_COLORBURN_KHR = 0x929A,
  2981. GL_HARDLIGHT_KHR = 0x929B,
  2982. GL_SOFTLIGHT_KHR = 0x929C,
  2983. GL_DIFFERENCE_KHR = 0x929E,
  2984. GL_EXCLUSION_KHR = 0x92A0,
  2985. GL_HSL_HUE_KHR = 0x92AD,
  2986. GL_HSL_SATURATION_KHR = 0x92AE,
  2987. GL_HSL_COLOR_KHR = 0x92AF,
  2988. GL_HSL_LUMINOSITY_KHR = 0x92B0,
  2989. };
  2990. extern void (KHRONOS_APIENTRY* const& glBlendBarrierKHR) ();
  2991. #endif
  2992. #ifndef GL_KHR_blend_equation_advanced_coherent
  2993. #define GL_KHR_blend_equation_advanced_coherent 1
  2994. enum
  2995. {
  2996. GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285,
  2997. };
  2998. #endif
  2999. #ifndef GL_KHR_context_flush_control
  3000. #define GL_KHR_context_flush_control 1
  3001. enum
  3002. {
  3003. GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB,
  3004. GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC,
  3005. GL_CONTEXT_RELEASE_BEHAVIOR_KHR = 0x82FB,
  3006. GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = 0x82FC,
  3007. };
  3008. #endif
  3009. #ifndef GL_KHR_debug
  3010. #define GL_KHR_debug 1
  3011. enum
  3012. {
  3013. GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242,
  3014. GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243,
  3015. GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244,
  3016. GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245,
  3017. GL_DEBUG_SOURCE_API_KHR = 0x8246,
  3018. GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247,
  3019. GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248,
  3020. GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249,
  3021. GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A,
  3022. GL_DEBUG_SOURCE_OTHER_KHR = 0x824B,
  3023. GL_DEBUG_TYPE_ERROR_KHR = 0x824C,
  3024. GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D,
  3025. GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E,
  3026. GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F,
  3027. GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250,
  3028. GL_DEBUG_TYPE_OTHER_KHR = 0x8251,
  3029. GL_DEBUG_TYPE_MARKER_KHR = 0x8268,
  3030. GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269,
  3031. GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A,
  3032. GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B,
  3033. GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C,
  3034. GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D,
  3035. GL_BUFFER_KHR = 0x82E0,
  3036. GL_SHADER_KHR = 0x82E1,
  3037. GL_PROGRAM_KHR = 0x82E2,
  3038. GL_VERTEX_ARRAY_KHR = 0x8074,
  3039. GL_QUERY_KHR = 0x82E3,
  3040. GL_PROGRAM_PIPELINE_KHR = 0x82E4,
  3041. GL_SAMPLER_KHR = 0x82E6,
  3042. GL_MAX_LABEL_LENGTH_KHR = 0x82E8,
  3043. GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143,
  3044. GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144,
  3045. GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145,
  3046. GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146,
  3047. GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147,
  3048. GL_DEBUG_SEVERITY_LOW_KHR = 0x9148,
  3049. GL_DEBUG_OUTPUT_KHR = 0x92E0,
  3050. GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002,
  3051. GL_STACK_OVERFLOW_KHR = 0x0503,
  3052. GL_STACK_UNDERFLOW_KHR = 0x0504,
  3053. GL_DISPLAY_LIST = 0x82E7,
  3054. };
  3055. extern void (KHRONOS_APIENTRY* const& glDebugMessageControlKHR) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  3056. extern void (KHRONOS_APIENTRY* const& glDebugMessageInsertKHR) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  3057. extern void (KHRONOS_APIENTRY* const& glDebugMessageCallbackKHR) (GLDEBUGPROCKHR callback, const void *userParam);
  3058. extern GLuint (KHRONOS_APIENTRY* const& glGetDebugMessageLogKHR) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  3059. extern void (KHRONOS_APIENTRY* const& glPushDebugGroupKHR) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  3060. extern void (KHRONOS_APIENTRY* const& glPopDebugGroupKHR) ();
  3061. extern void (KHRONOS_APIENTRY* const& glObjectLabelKHR) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  3062. extern void (KHRONOS_APIENTRY* const& glGetObjectLabelKHR) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  3063. extern void (KHRONOS_APIENTRY* const& glObjectPtrLabelKHR) (const void *ptr, GLsizei length, const GLchar *label);
  3064. extern void (KHRONOS_APIENTRY* const& glGetObjectPtrLabelKHR) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  3065. extern void (KHRONOS_APIENTRY* const& glGetPointervKHR) (GLenum pname, void **params);
  3066. #endif
  3067. #ifndef GL_KHR_no_error
  3068. #define GL_KHR_no_error 1
  3069. enum
  3070. {
  3071. GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008,
  3072. };
  3073. #endif
  3074. #ifndef GL_KHR_robust_buffer_access_behavior
  3075. #define GL_KHR_robust_buffer_access_behavior 1
  3076. #endif
  3077. #ifndef GL_KHR_robustness
  3078. #define GL_KHR_robustness 1
  3079. enum
  3080. {
  3081. GL_CONTEXT_ROBUST_ACCESS = 0x90F3,
  3082. GL_CONTEXT_ROBUST_ACCESS_KHR = 0x90F3,
  3083. GL_LOSE_CONTEXT_ON_RESET_KHR = 0x8252,
  3084. GL_GUILTY_CONTEXT_RESET_KHR = 0x8253,
  3085. GL_INNOCENT_CONTEXT_RESET_KHR = 0x8254,
  3086. GL_UNKNOWN_CONTEXT_RESET_KHR = 0x8255,
  3087. GL_RESET_NOTIFICATION_STRATEGY_KHR = 0x8256,
  3088. GL_NO_RESET_NOTIFICATION_KHR = 0x8261,
  3089. GL_CONTEXT_LOST_KHR = 0x0507,
  3090. };
  3091. extern GLenum (KHRONOS_APIENTRY* const& glGetGraphicsResetStatusKHR) ();
  3092. extern void (KHRONOS_APIENTRY* const& glReadnPixelsKHR) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
  3093. extern void (KHRONOS_APIENTRY* const& glGetnUniformfvKHR) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  3094. extern void (KHRONOS_APIENTRY* const& glGetnUniformivKHR) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  3095. extern void (KHRONOS_APIENTRY* const& glGetnUniformuivKHR) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
  3096. #endif
  3097. #ifndef GL_KHR_shader_subgroup
  3098. #define GL_KHR_shader_subgroup 1
  3099. enum
  3100. {
  3101. GL_SUBGROUP_SIZE_KHR = 0x9532,
  3102. GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533,
  3103. GL_SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534,
  3104. GL_SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535,
  3105. GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001,
  3106. GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002,
  3107. GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004,
  3108. GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008,
  3109. GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010,
  3110. GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020,
  3111. GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040,
  3112. GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080,
  3113. };
  3114. #endif
  3115. #ifndef GL_KHR_texture_compression_astc_hdr
  3116. #define GL_KHR_texture_compression_astc_hdr 1
  3117. enum
  3118. {
  3119. GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0,
  3120. GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1,
  3121. GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2,
  3122. GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3,
  3123. GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4,
  3124. GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5,
  3125. GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6,
  3126. GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7,
  3127. GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8,
  3128. GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9,
  3129. GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA,
  3130. GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB,
  3131. GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC,
  3132. GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD,
  3133. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0,
  3134. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1,
  3135. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2,
  3136. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3,
  3137. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4,
  3138. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5,
  3139. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6,
  3140. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7,
  3141. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8,
  3142. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9,
  3143. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA,
  3144. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB,
  3145. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC,
  3146. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD,
  3147. };
  3148. #endif
  3149. #ifndef GL_KHR_texture_compression_astc_ldr
  3150. #define GL_KHR_texture_compression_astc_ldr 1
  3151. #endif
  3152. #ifndef GL_KHR_texture_compression_astc_sliced_3d
  3153. #define GL_KHR_texture_compression_astc_sliced_3d 1
  3154. #endif
  3155. #ifndef GL_KHR_parallel_shader_compile
  3156. #define GL_KHR_parallel_shader_compile 1
  3157. enum
  3158. {
  3159. GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0,
  3160. GL_COMPLETION_STATUS_KHR = 0x91B1,
  3161. };
  3162. extern void (KHRONOS_APIENTRY* const& glMaxShaderCompilerThreadsKHR) (GLuint count);
  3163. #endif
  3164. #ifndef GL_MESA_bgra
  3165. #define GL_MESA_bgra 1
  3166. enum
  3167. {
  3168. GL_BGR_EXT = 0x80E0,
  3169. };
  3170. #endif
  3171. #ifndef GL_MESA_framebuffer_flip_x
  3172. #define GL_MESA_framebuffer_flip_x 1
  3173. enum
  3174. {
  3175. GL_FRAMEBUFFER_FLIP_X_MESA = 0x8BBC,
  3176. };
  3177. #endif
  3178. #ifndef GL_MESA_framebuffer_flip_y
  3179. #define GL_MESA_framebuffer_flip_y 1
  3180. enum
  3181. {
  3182. GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB,
  3183. };
  3184. extern void (KHRONOS_APIENTRY* const& glFramebufferParameteriMESA) (GLenum target, GLenum pname, GLint param);
  3185. extern void (KHRONOS_APIENTRY* const& glGetFramebufferParameterivMESA) (GLenum target, GLenum pname, GLint *params);
  3186. #endif
  3187. #ifndef GL_MESA_framebuffer_swap_xy
  3188. #define GL_MESA_framebuffer_swap_xy 1
  3189. enum
  3190. {
  3191. GL_FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD,
  3192. };
  3193. #endif
  3194. #ifndef GL_MESA_program_binary_formats
  3195. #define GL_MESA_program_binary_formats 1
  3196. enum
  3197. {
  3198. GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F,
  3199. };
  3200. #endif
  3201. #ifndef GL_MESA_shader_integer_functions
  3202. #define GL_MESA_shader_integer_functions 1
  3203. #endif
  3204. #ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers
  3205. #define GL_NVX_blend_equation_advanced_multi_draw_buffers 1
  3206. #endif
  3207. #ifndef GL_NV_bindless_texture
  3208. #define GL_NV_bindless_texture 1
  3209. extern GLuint64 (KHRONOS_APIENTRY* const& glGetTextureHandleNV) (GLuint texture);
  3210. extern GLuint64 (KHRONOS_APIENTRY* const& glGetTextureSamplerHandleNV) (GLuint texture, GLuint sampler);
  3211. extern void (KHRONOS_APIENTRY* const& glMakeTextureHandleResidentNV) (GLuint64 handle);
  3212. extern void (KHRONOS_APIENTRY* const& glMakeTextureHandleNonResidentNV) (GLuint64 handle);
  3213. extern GLuint64 (KHRONOS_APIENTRY* const& glGetImageHandleNV) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
  3214. extern void (KHRONOS_APIENTRY* const& glMakeImageHandleResidentNV) (GLuint64 handle, GLenum access);
  3215. extern void (KHRONOS_APIENTRY* const& glMakeImageHandleNonResidentNV) (GLuint64 handle);
  3216. extern void (KHRONOS_APIENTRY* const& glUniformHandleui64NV) (GLint location, GLuint64 value);
  3217. extern void (KHRONOS_APIENTRY* const& glUniformHandleui64vNV) (GLint location, GLsizei count, const GLuint64 *value);
  3218. extern void (KHRONOS_APIENTRY* const& glProgramUniformHandleui64NV) (GLuint program, GLint location, GLuint64 value);
  3219. extern void (KHRONOS_APIENTRY* const& glProgramUniformHandleui64vNV) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
  3220. extern GLboolean (KHRONOS_APIENTRY* const& glIsTextureHandleResidentNV) (GLuint64 handle);
  3221. extern GLboolean (KHRONOS_APIENTRY* const& glIsImageHandleResidentNV) (GLuint64 handle);
  3222. #endif
  3223. #ifndef GL_NV_blend_equation_advanced
  3224. #define GL_NV_blend_equation_advanced 1
  3225. enum
  3226. {
  3227. GL_BLEND_OVERLAP_NV = 0x9281,
  3228. GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280,
  3229. GL_BLUE_NV = 0x1905,
  3230. GL_COLORBURN_NV = 0x929A,
  3231. GL_COLORDODGE_NV = 0x9299,
  3232. GL_CONJOINT_NV = 0x9284,
  3233. GL_CONTRAST_NV = 0x92A1,
  3234. GL_DARKEN_NV = 0x9297,
  3235. GL_DIFFERENCE_NV = 0x929E,
  3236. GL_DISJOINT_NV = 0x9283,
  3237. GL_DST_ATOP_NV = 0x928F,
  3238. GL_DST_IN_NV = 0x928B,
  3239. GL_DST_NV = 0x9287,
  3240. GL_DST_OUT_NV = 0x928D,
  3241. GL_DST_OVER_NV = 0x9289,
  3242. GL_EXCLUSION_NV = 0x92A0,
  3243. GL_GREEN_NV = 0x1904,
  3244. GL_HARDLIGHT_NV = 0x929B,
  3245. GL_HARDMIX_NV = 0x92A9,
  3246. GL_HSL_COLOR_NV = 0x92AF,
  3247. GL_HSL_HUE_NV = 0x92AD,
  3248. GL_HSL_LUMINOSITY_NV = 0x92B0,
  3249. GL_HSL_SATURATION_NV = 0x92AE,
  3250. GL_INVERT_OVG_NV = 0x92B4,
  3251. GL_INVERT_RGB_NV = 0x92A3,
  3252. GL_LIGHTEN_NV = 0x9298,
  3253. GL_LINEARBURN_NV = 0x92A5,
  3254. GL_LINEARDODGE_NV = 0x92A4,
  3255. GL_LINEARLIGHT_NV = 0x92A7,
  3256. GL_MINUS_CLAMPED_NV = 0x92B3,
  3257. GL_MINUS_NV = 0x929F,
  3258. GL_MULTIPLY_NV = 0x9294,
  3259. GL_OVERLAY_NV = 0x9296,
  3260. GL_PINLIGHT_NV = 0x92A8,
  3261. GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2,
  3262. GL_PLUS_CLAMPED_NV = 0x92B1,
  3263. GL_PLUS_DARKER_NV = 0x9292,
  3264. GL_PLUS_NV = 0x9291,
  3265. GL_RED_NV = 0x1903,
  3266. GL_SCREEN_NV = 0x9295,
  3267. GL_SOFTLIGHT_NV = 0x929C,
  3268. GL_SRC_ATOP_NV = 0x928E,
  3269. GL_SRC_IN_NV = 0x928A,
  3270. GL_SRC_NV = 0x9286,
  3271. GL_SRC_OUT_NV = 0x928C,
  3272. GL_SRC_OVER_NV = 0x9288,
  3273. GL_UNCORRELATED_NV = 0x9282,
  3274. GL_VIVIDLIGHT_NV = 0x92A6,
  3275. GL_XOR_NV = 0x1506,
  3276. };
  3277. extern void (KHRONOS_APIENTRY* const& glBlendParameteriNV) (GLenum pname, GLint value);
  3278. extern void (KHRONOS_APIENTRY* const& glBlendBarrierNV) ();
  3279. #endif
  3280. #ifndef GL_NV_blend_equation_advanced_coherent
  3281. #define GL_NV_blend_equation_advanced_coherent 1
  3282. enum
  3283. {
  3284. GL_BLEND_ADVANCED_COHERENT_NV = 0x9285,
  3285. };
  3286. #endif
  3287. #ifndef GL_NV_blend_minmax_factor
  3288. #define GL_NV_blend_minmax_factor 1
  3289. enum
  3290. {
  3291. GL_FACTOR_MIN_AMD = 0x901C,
  3292. GL_FACTOR_MAX_AMD = 0x901D,
  3293. };
  3294. #endif
  3295. #ifndef GL_NV_clip_space_w_scaling
  3296. #define GL_NV_clip_space_w_scaling 1
  3297. enum
  3298. {
  3299. GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937C,
  3300. GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D,
  3301. GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E,
  3302. };
  3303. extern void (KHRONOS_APIENTRY* const& glViewportPositionWScaleNV) (GLuint index, GLfloat xcoeff, GLfloat ycoeff);
  3304. #endif
  3305. #ifndef GL_NV_compute_shader_derivatives
  3306. #define GL_NV_compute_shader_derivatives 1
  3307. #endif
  3308. #ifndef GL_NV_conditional_render
  3309. #define GL_NV_conditional_render 1
  3310. enum
  3311. {
  3312. GL_QUERY_WAIT_NV = 0x8E13,
  3313. GL_QUERY_NO_WAIT_NV = 0x8E14,
  3314. GL_QUERY_BY_REGION_WAIT_NV = 0x8E15,
  3315. GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16,
  3316. };
  3317. extern void (KHRONOS_APIENTRY* const& glBeginConditionalRenderNV) (GLuint id, GLenum mode);
  3318. extern void (KHRONOS_APIENTRY* const& glEndConditionalRenderNV) ();
  3319. #endif
  3320. #ifndef GL_NV_conservative_raster
  3321. #define GL_NV_conservative_raster 1
  3322. enum
  3323. {
  3324. GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346,
  3325. GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347,
  3326. GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348,
  3327. GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349,
  3328. };
  3329. extern void (KHRONOS_APIENTRY* const& glSubpixelPrecisionBiasNV) (GLuint xbits, GLuint ybits);
  3330. #endif
  3331. #ifndef GL_NV_conservative_raster_pre_snap
  3332. #define GL_NV_conservative_raster_pre_snap 1
  3333. enum
  3334. {
  3335. GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550,
  3336. };
  3337. #endif
  3338. #ifndef GL_NV_conservative_raster_pre_snap_triangles
  3339. #define GL_NV_conservative_raster_pre_snap_triangles 1
  3340. enum
  3341. {
  3342. GL_CONSERVATIVE_RASTER_MODE_NV = 0x954D,
  3343. GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E,
  3344. GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F,
  3345. };
  3346. extern void (KHRONOS_APIENTRY* const& glConservativeRasterParameteriNV) (GLenum pname, GLint param);
  3347. #endif
  3348. #ifndef GL_NV_copy_buffer
  3349. #define GL_NV_copy_buffer 1
  3350. enum
  3351. {
  3352. GL_COPY_READ_BUFFER_NV = 0x8F36,
  3353. GL_COPY_WRITE_BUFFER_NV = 0x8F37,
  3354. };
  3355. extern void (KHRONOS_APIENTRY* const& glCopyBufferSubDataNV) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  3356. #endif
  3357. #ifndef GL_NV_coverage_sample
  3358. #define GL_NV_coverage_sample 1
  3359. enum
  3360. {
  3361. GL_COVERAGE_COMPONENT_NV = 0x8ED0,
  3362. GL_COVERAGE_COMPONENT4_NV = 0x8ED1,
  3363. GL_COVERAGE_ATTACHMENT_NV = 0x8ED2,
  3364. GL_COVERAGE_BUFFERS_NV = 0x8ED3,
  3365. GL_COVERAGE_SAMPLES_NV = 0x8ED4,
  3366. GL_COVERAGE_ALL_FRAGMENTS_NV = 0x8ED5,
  3367. GL_COVERAGE_EDGE_FRAGMENTS_NV = 0x8ED6,
  3368. GL_COVERAGE_AUTOMATIC_NV = 0x8ED7,
  3369. GL_COVERAGE_BUFFER_BIT_NV = 0x00008000,
  3370. };
  3371. extern void (KHRONOS_APIENTRY* const& glCoverageMaskNV) (GLboolean mask);
  3372. extern void (KHRONOS_APIENTRY* const& glCoverageOperationNV) (GLenum operation);
  3373. #endif
  3374. #ifndef GL_NV_depth_nonlinear
  3375. #define GL_NV_depth_nonlinear 1
  3376. enum
  3377. {
  3378. GL_DEPTH_COMPONENT16_NONLINEAR_NV = 0x8E2C,
  3379. };
  3380. #endif
  3381. #ifndef GL_NV_draw_buffers
  3382. #define GL_NV_draw_buffers 1
  3383. enum
  3384. {
  3385. GL_MAX_DRAW_BUFFERS_NV = 0x8824,
  3386. GL_DRAW_BUFFER0_NV = 0x8825,
  3387. GL_DRAW_BUFFER1_NV = 0x8826,
  3388. GL_DRAW_BUFFER2_NV = 0x8827,
  3389. GL_DRAW_BUFFER3_NV = 0x8828,
  3390. GL_DRAW_BUFFER4_NV = 0x8829,
  3391. GL_DRAW_BUFFER5_NV = 0x882A,
  3392. GL_DRAW_BUFFER6_NV = 0x882B,
  3393. GL_DRAW_BUFFER7_NV = 0x882C,
  3394. GL_DRAW_BUFFER8_NV = 0x882D,
  3395. GL_DRAW_BUFFER9_NV = 0x882E,
  3396. GL_DRAW_BUFFER10_NV = 0x882F,
  3397. GL_DRAW_BUFFER11_NV = 0x8830,
  3398. GL_DRAW_BUFFER12_NV = 0x8831,
  3399. GL_DRAW_BUFFER13_NV = 0x8832,
  3400. GL_DRAW_BUFFER14_NV = 0x8833,
  3401. GL_DRAW_BUFFER15_NV = 0x8834,
  3402. GL_COLOR_ATTACHMENT0_NV = 0x8CE0,
  3403. GL_COLOR_ATTACHMENT1_NV = 0x8CE1,
  3404. GL_COLOR_ATTACHMENT2_NV = 0x8CE2,
  3405. GL_COLOR_ATTACHMENT3_NV = 0x8CE3,
  3406. GL_COLOR_ATTACHMENT4_NV = 0x8CE4,
  3407. GL_COLOR_ATTACHMENT5_NV = 0x8CE5,
  3408. GL_COLOR_ATTACHMENT6_NV = 0x8CE6,
  3409. GL_COLOR_ATTACHMENT7_NV = 0x8CE7,
  3410. GL_COLOR_ATTACHMENT8_NV = 0x8CE8,
  3411. GL_COLOR_ATTACHMENT9_NV = 0x8CE9,
  3412. GL_COLOR_ATTACHMENT10_NV = 0x8CEA,
  3413. GL_COLOR_ATTACHMENT11_NV = 0x8CEB,
  3414. GL_COLOR_ATTACHMENT12_NV = 0x8CEC,
  3415. GL_COLOR_ATTACHMENT13_NV = 0x8CED,
  3416. GL_COLOR_ATTACHMENT14_NV = 0x8CEE,
  3417. GL_COLOR_ATTACHMENT15_NV = 0x8CEF,
  3418. };
  3419. extern void (KHRONOS_APIENTRY* const& glDrawBuffersNV) (GLsizei n, const GLenum *bufs);
  3420. #endif
  3421. #ifndef GL_NV_draw_instanced
  3422. #define GL_NV_draw_instanced 1
  3423. extern void (KHRONOS_APIENTRY* const& glDrawArraysInstancedNV) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  3424. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedNV) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  3425. #endif
  3426. #ifndef GL_NV_draw_vulkan_image
  3427. #define GL_NV_draw_vulkan_image 1
  3428. extern void (KHRONOS_APIENTRY* const& glDrawVkImageNV) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
  3429. extern GLVULKANPROCNV (KHRONOS_APIENTRY* const& glGetVkProcAddrNV) (const GLchar *name);
  3430. extern void (KHRONOS_APIENTRY* const& glWaitVkSemaphoreNV) (GLuint64 vkSemaphore);
  3431. extern void (KHRONOS_APIENTRY* const& glSignalVkSemaphoreNV) (GLuint64 vkSemaphore);
  3432. extern void (KHRONOS_APIENTRY* const& glSignalVkFenceNV) (GLuint64 vkFence);
  3433. #endif
  3434. #ifndef GL_NV_explicit_attrib_location
  3435. #define GL_NV_explicit_attrib_location 1
  3436. #endif
  3437. #ifndef GL_NV_fbo_color_attachments
  3438. #define GL_NV_fbo_color_attachments 1
  3439. enum
  3440. {
  3441. GL_MAX_COLOR_ATTACHMENTS_NV = 0x8CDF,
  3442. };
  3443. #endif
  3444. #ifndef GL_NV_fence
  3445. #define GL_NV_fence 1
  3446. enum
  3447. {
  3448. GL_ALL_COMPLETED_NV = 0x84F2,
  3449. GL_FENCE_STATUS_NV = 0x84F3,
  3450. GL_FENCE_CONDITION_NV = 0x84F4,
  3451. };
  3452. extern void (KHRONOS_APIENTRY* const& glDeleteFencesNV) (GLsizei n, const GLuint *fences);
  3453. extern void (KHRONOS_APIENTRY* const& glGenFencesNV) (GLsizei n, GLuint *fences);
  3454. extern GLboolean (KHRONOS_APIENTRY* const& glIsFenceNV) (GLuint fence);
  3455. extern GLboolean (KHRONOS_APIENTRY* const& glTestFenceNV) (GLuint fence);
  3456. extern void (KHRONOS_APIENTRY* const& glGetFenceivNV) (GLuint fence, GLenum pname, GLint *params);
  3457. extern void (KHRONOS_APIENTRY* const& glFinishFenceNV) (GLuint fence);
  3458. extern void (KHRONOS_APIENTRY* const& glSetFenceNV) (GLuint fence, GLenum condition);
  3459. #endif
  3460. #ifndef GL_NV_fill_rectangle
  3461. #define GL_NV_fill_rectangle 1
  3462. enum
  3463. {
  3464. GL_FILL_RECTANGLE_NV = 0x933C,
  3465. };
  3466. #endif
  3467. #ifndef GL_NV_fragment_coverage_to_color
  3468. #define GL_NV_fragment_coverage_to_color 1
  3469. enum
  3470. {
  3471. GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD,
  3472. GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE,
  3473. };
  3474. extern void (KHRONOS_APIENTRY* const& glFragmentCoverageColorNV) (GLuint color);
  3475. #endif
  3476. #ifndef GL_NV_fragment_shader_barycentric
  3477. #define GL_NV_fragment_shader_barycentric 1
  3478. #endif
  3479. #ifndef GL_NV_fragment_shader_interlock
  3480. #define GL_NV_fragment_shader_interlock 1
  3481. #endif
  3482. #ifndef GL_NV_framebuffer_blit
  3483. #define GL_NV_framebuffer_blit 1
  3484. enum
  3485. {
  3486. GL_READ_FRAMEBUFFER_NV = 0x8CA8,
  3487. GL_DRAW_FRAMEBUFFER_NV = 0x8CA9,
  3488. GL_DRAW_FRAMEBUFFER_BINDING_NV = 0x8CA6,
  3489. GL_READ_FRAMEBUFFER_BINDING_NV = 0x8CAA,
  3490. };
  3491. extern void (KHRONOS_APIENTRY* const& glBlitFramebufferNV) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  3492. #endif
  3493. #ifndef GL_NV_framebuffer_mixed_samples
  3494. #define GL_NV_framebuffer_mixed_samples 1
  3495. enum
  3496. {
  3497. GL_COVERAGE_MODULATION_TABLE_NV = 0x9331,
  3498. GL_COLOR_SAMPLES_NV = 0x8E20,
  3499. GL_DEPTH_SAMPLES_NV = 0x932D,
  3500. GL_STENCIL_SAMPLES_NV = 0x932E,
  3501. GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F,
  3502. GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330,
  3503. GL_COVERAGE_MODULATION_NV = 0x9332,
  3504. GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333,
  3505. };
  3506. extern void (KHRONOS_APIENTRY* const& glCoverageModulationTableNV) (GLsizei n, const GLfloat *v);
  3507. extern void (KHRONOS_APIENTRY* const& glGetCoverageModulationTableNV) (GLsizei bufSize, GLfloat *v);
  3508. extern void (KHRONOS_APIENTRY* const& glCoverageModulationNV) (GLenum components);
  3509. #endif
  3510. #ifndef GL_NV_framebuffer_multisample
  3511. #define GL_NV_framebuffer_multisample 1
  3512. enum
  3513. {
  3514. GL_RENDERBUFFER_SAMPLES_NV = 0x8CAB,
  3515. GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = 0x8D56,
  3516. GL_MAX_SAMPLES_NV = 0x8D57,
  3517. };
  3518. extern void (KHRONOS_APIENTRY* const& glRenderbufferStorageMultisampleNV) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  3519. #endif
  3520. #ifndef GL_NV_generate_mipmap_sRGB
  3521. #define GL_NV_generate_mipmap_sRGB 1
  3522. #endif
  3523. #ifndef GL_NV_geometry_shader_passthrough
  3524. #define GL_NV_geometry_shader_passthrough 1
  3525. #endif
  3526. #ifndef GL_NV_gpu_shader5
  3527. #define GL_NV_gpu_shader5 1
  3528. enum
  3529. {
  3530. GL_INT64_NV = 0x140E,
  3531. GL_UNSIGNED_INT64_NV = 0x140F,
  3532. GL_INT8_NV = 0x8FE0,
  3533. GL_INT8_VEC2_NV = 0x8FE1,
  3534. GL_INT8_VEC3_NV = 0x8FE2,
  3535. GL_INT8_VEC4_NV = 0x8FE3,
  3536. GL_INT16_NV = 0x8FE4,
  3537. GL_INT16_VEC2_NV = 0x8FE5,
  3538. GL_INT16_VEC3_NV = 0x8FE6,
  3539. GL_INT16_VEC4_NV = 0x8FE7,
  3540. GL_INT64_VEC2_NV = 0x8FE9,
  3541. GL_INT64_VEC3_NV = 0x8FEA,
  3542. GL_INT64_VEC4_NV = 0x8FEB,
  3543. GL_UNSIGNED_INT8_NV = 0x8FEC,
  3544. GL_UNSIGNED_INT8_VEC2_NV = 0x8FED,
  3545. GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE,
  3546. GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF,
  3547. GL_UNSIGNED_INT16_NV = 0x8FF0,
  3548. GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1,
  3549. GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2,
  3550. GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3,
  3551. GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5,
  3552. GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6,
  3553. GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7,
  3554. GL_FLOAT16_NV = 0x8FF8,
  3555. GL_FLOAT16_VEC2_NV = 0x8FF9,
  3556. GL_FLOAT16_VEC3_NV = 0x8FFA,
  3557. GL_FLOAT16_VEC4_NV = 0x8FFB,
  3558. };
  3559. extern void (KHRONOS_APIENTRY* const& glUniform1i64NV) (GLint location, GLint64EXT x);
  3560. extern void (KHRONOS_APIENTRY* const& glUniform2i64NV) (GLint location, GLint64EXT x, GLint64EXT y);
  3561. extern void (KHRONOS_APIENTRY* const& glUniform3i64NV) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
  3562. extern void (KHRONOS_APIENTRY* const& glUniform4i64NV) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
  3563. extern void (KHRONOS_APIENTRY* const& glUniform1i64vNV) (GLint location, GLsizei count, const GLint64EXT *value);
  3564. extern void (KHRONOS_APIENTRY* const& glUniform2i64vNV) (GLint location, GLsizei count, const GLint64EXT *value);
  3565. extern void (KHRONOS_APIENTRY* const& glUniform3i64vNV) (GLint location, GLsizei count, const GLint64EXT *value);
  3566. extern void (KHRONOS_APIENTRY* const& glUniform4i64vNV) (GLint location, GLsizei count, const GLint64EXT *value);
  3567. extern void (KHRONOS_APIENTRY* const& glUniform1ui64NV) (GLint location, GLuint64EXT x);
  3568. extern void (KHRONOS_APIENTRY* const& glUniform2ui64NV) (GLint location, GLuint64EXT x, GLuint64EXT y);
  3569. extern void (KHRONOS_APIENTRY* const& glUniform3ui64NV) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
  3570. extern void (KHRONOS_APIENTRY* const& glUniform4ui64NV) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
  3571. extern void (KHRONOS_APIENTRY* const& glUniform1ui64vNV) (GLint location, GLsizei count, const GLuint64EXT *value);
  3572. extern void (KHRONOS_APIENTRY* const& glUniform2ui64vNV) (GLint location, GLsizei count, const GLuint64EXT *value);
  3573. extern void (KHRONOS_APIENTRY* const& glUniform3ui64vNV) (GLint location, GLsizei count, const GLuint64EXT *value);
  3574. extern void (KHRONOS_APIENTRY* const& glUniform4ui64vNV) (GLint location, GLsizei count, const GLuint64EXT *value);
  3575. extern void (KHRONOS_APIENTRY* const& glGetUniformi64vNV) (GLuint program, GLint location, GLint64EXT *params);
  3576. extern void (KHRONOS_APIENTRY* const& glProgramUniform1i64NV) (GLuint program, GLint location, GLint64EXT x);
  3577. extern void (KHRONOS_APIENTRY* const& glProgramUniform2i64NV) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
  3578. extern void (KHRONOS_APIENTRY* const& glProgramUniform3i64NV) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
  3579. extern void (KHRONOS_APIENTRY* const& glProgramUniform4i64NV) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
  3580. extern void (KHRONOS_APIENTRY* const& glProgramUniform1i64vNV) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  3581. extern void (KHRONOS_APIENTRY* const& glProgramUniform2i64vNV) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  3582. extern void (KHRONOS_APIENTRY* const& glProgramUniform3i64vNV) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  3583. extern void (KHRONOS_APIENTRY* const& glProgramUniform4i64vNV) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  3584. extern void (KHRONOS_APIENTRY* const& glProgramUniform1ui64NV) (GLuint program, GLint location, GLuint64EXT x);
  3585. extern void (KHRONOS_APIENTRY* const& glProgramUniform2ui64NV) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
  3586. extern void (KHRONOS_APIENTRY* const& glProgramUniform3ui64NV) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
  3587. extern void (KHRONOS_APIENTRY* const& glProgramUniform4ui64NV) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
  3588. extern void (KHRONOS_APIENTRY* const& glProgramUniform1ui64vNV) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  3589. extern void (KHRONOS_APIENTRY* const& glProgramUniform2ui64vNV) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  3590. extern void (KHRONOS_APIENTRY* const& glProgramUniform3ui64vNV) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  3591. extern void (KHRONOS_APIENTRY* const& glProgramUniform4ui64vNV) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  3592. #endif
  3593. #ifndef GL_NV_image_formats
  3594. #define GL_NV_image_formats 1
  3595. #endif
  3596. #ifndef GL_NV_instanced_arrays
  3597. #define GL_NV_instanced_arrays 1
  3598. enum
  3599. {
  3600. GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = 0x88FE,
  3601. };
  3602. extern void (KHRONOS_APIENTRY* const& glVertexAttribDivisorNV) (GLuint index, GLuint divisor);
  3603. #endif
  3604. #ifndef GL_NV_internalformat_sample_query
  3605. #define GL_NV_internalformat_sample_query 1
  3606. enum
  3607. {
  3608. GL_MULTISAMPLES_NV = 0x9371,
  3609. GL_SUPERSAMPLE_SCALE_X_NV = 0x9372,
  3610. GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373,
  3611. GL_CONFORMANT_NV = 0x9374,
  3612. };
  3613. extern void (KHRONOS_APIENTRY* const& glGetInternalformatSampleivNV) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params);
  3614. #endif
  3615. #ifndef GL_NV_memory_attachment
  3616. #define GL_NV_memory_attachment 1
  3617. enum
  3618. {
  3619. GL_ATTACHED_MEMORY_OBJECT_NV = 0x95A4,
  3620. GL_ATTACHED_MEMORY_OFFSET_NV = 0x95A5,
  3621. GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6,
  3622. GL_MEMORY_ATTACHABLE_SIZE_NV = 0x95A7,
  3623. GL_MEMORY_ATTACHABLE_NV = 0x95A8,
  3624. GL_DETACHED_MEMORY_INCARNATION_NV = 0x95A9,
  3625. GL_DETACHED_TEXTURES_NV = 0x95AA,
  3626. GL_DETACHED_BUFFERS_NV = 0x95AB,
  3627. GL_MAX_DETACHED_TEXTURES_NV = 0x95AC,
  3628. GL_MAX_DETACHED_BUFFERS_NV = 0x95AD,
  3629. };
  3630. extern void (KHRONOS_APIENTRY* const& glGetMemoryObjectDetachedResourcesuivNV) (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params);
  3631. extern void (KHRONOS_APIENTRY* const& glResetMemoryObjectParameterNV) (GLuint memory, GLenum pname);
  3632. extern void (KHRONOS_APIENTRY* const& glTexAttachMemoryNV) (GLenum target, GLuint memory, GLuint64 offset);
  3633. extern void (KHRONOS_APIENTRY* const& glBufferAttachMemoryNV) (GLenum target, GLuint memory, GLuint64 offset);
  3634. extern void (KHRONOS_APIENTRY* const& glTextureAttachMemoryNV) (GLuint texture, GLuint memory, GLuint64 offset);
  3635. extern void (KHRONOS_APIENTRY* const& glNamedBufferAttachMemoryNV) (GLuint buffer, GLuint memory, GLuint64 offset);
  3636. #endif
  3637. #ifndef GL_NV_memory_object_sparse
  3638. #define GL_NV_memory_object_sparse 1
  3639. extern void (KHRONOS_APIENTRY* const& glBufferPageCommitmentMemNV) (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit);
  3640. extern void (KHRONOS_APIENTRY* const& glTexPageCommitmentMemNV) (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit);
  3641. extern void (KHRONOS_APIENTRY* const& glNamedBufferPageCommitmentMemNV) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit);
  3642. extern void (KHRONOS_APIENTRY* const& glTexturePageCommitmentMemNV) (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit);
  3643. #endif
  3644. #ifndef GL_NV_mesh_shader
  3645. #define GL_NV_mesh_shader 1
  3646. enum
  3647. {
  3648. GL_MESH_SHADER_NV = 0x9559,
  3649. GL_TASK_SHADER_NV = 0x955A,
  3650. GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60,
  3651. GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61,
  3652. GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62,
  3653. GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63,
  3654. GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64,
  3655. GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65,
  3656. GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66,
  3657. GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67,
  3658. GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68,
  3659. GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69,
  3660. GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A,
  3661. GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B,
  3662. GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C,
  3663. GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D,
  3664. GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E,
  3665. GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F,
  3666. GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2,
  3667. GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3,
  3668. GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536,
  3669. GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537,
  3670. GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538,
  3671. GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539,
  3672. GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953A,
  3673. GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D,
  3674. GL_MAX_MESH_VIEWS_NV = 0x9557,
  3675. GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF,
  3676. GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543,
  3677. GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B,
  3678. GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C,
  3679. GL_MESH_WORK_GROUP_SIZE_NV = 0x953E,
  3680. GL_TASK_WORK_GROUP_SIZE_NV = 0x953F,
  3681. GL_MESH_VERTICES_OUT_NV = 0x9579,
  3682. GL_MESH_PRIMITIVES_OUT_NV = 0x957A,
  3683. GL_MESH_OUTPUT_TYPE_NV = 0x957B,
  3684. GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C,
  3685. GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D,
  3686. GL_REFERENCED_BY_MESH_SHADER_NV = 0x95A0,
  3687. GL_REFERENCED_BY_TASK_SHADER_NV = 0x95A1,
  3688. GL_MESH_SHADER_BIT_NV = 0x00000040,
  3689. GL_TASK_SHADER_BIT_NV = 0x00000080,
  3690. GL_MESH_SUBROUTINE_NV = 0x957C,
  3691. GL_TASK_SUBROUTINE_NV = 0x957D,
  3692. GL_MESH_SUBROUTINE_UNIFORM_NV = 0x957E,
  3693. GL_TASK_SUBROUTINE_UNIFORM_NV = 0x957F,
  3694. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E,
  3695. GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F,
  3696. };
  3697. extern void (KHRONOS_APIENTRY* const& glDrawMeshTasksNV) (GLuint first, GLuint count);
  3698. extern void (KHRONOS_APIENTRY* const& glDrawMeshTasksIndirectNV) (GLintptr indirect);
  3699. extern void (KHRONOS_APIENTRY* const& glMultiDrawMeshTasksIndirectNV) (GLintptr indirect, GLsizei drawcount, GLsizei stride);
  3700. extern void (KHRONOS_APIENTRY* const& glMultiDrawMeshTasksIndirectCountNV) (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
  3701. #endif
  3702. #ifndef GL_NV_non_square_matrices
  3703. #define GL_NV_non_square_matrices 1
  3704. enum
  3705. {
  3706. GL_FLOAT_MAT2x3_NV = 0x8B65,
  3707. GL_FLOAT_MAT2x4_NV = 0x8B66,
  3708. GL_FLOAT_MAT3x2_NV = 0x8B67,
  3709. GL_FLOAT_MAT3x4_NV = 0x8B68,
  3710. GL_FLOAT_MAT4x2_NV = 0x8B69,
  3711. GL_FLOAT_MAT4x3_NV = 0x8B6A,
  3712. };
  3713. extern void (KHRONOS_APIENTRY* const& glUniformMatrix2x3fvNV) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3714. extern void (KHRONOS_APIENTRY* const& glUniformMatrix3x2fvNV) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3715. extern void (KHRONOS_APIENTRY* const& glUniformMatrix2x4fvNV) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3716. extern void (KHRONOS_APIENTRY* const& glUniformMatrix4x2fvNV) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3717. extern void (KHRONOS_APIENTRY* const& glUniformMatrix3x4fvNV) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3718. extern void (KHRONOS_APIENTRY* const& glUniformMatrix4x3fvNV) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  3719. #endif
  3720. #ifndef GL_NV_path_rendering
  3721. #define GL_NV_path_rendering 1
  3722. enum
  3723. {
  3724. GL_PATH_FORMAT_SVG_NV = 0x9070,
  3725. GL_PATH_FORMAT_PS_NV = 0x9071,
  3726. GL_STANDARD_FONT_NAME_NV = 0x9072,
  3727. GL_SYSTEM_FONT_NAME_NV = 0x9073,
  3728. GL_FILE_NAME_NV = 0x9074,
  3729. GL_PATH_STROKE_WIDTH_NV = 0x9075,
  3730. GL_PATH_END_CAPS_NV = 0x9076,
  3731. GL_PATH_INITIAL_END_CAP_NV = 0x9077,
  3732. GL_PATH_TERMINAL_END_CAP_NV = 0x9078,
  3733. GL_PATH_JOIN_STYLE_NV = 0x9079,
  3734. GL_PATH_MITER_LIMIT_NV = 0x907A,
  3735. GL_PATH_DASH_CAPS_NV = 0x907B,
  3736. GL_PATH_INITIAL_DASH_CAP_NV = 0x907C,
  3737. GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D,
  3738. GL_PATH_DASH_OFFSET_NV = 0x907E,
  3739. GL_PATH_CLIENT_LENGTH_NV = 0x907F,
  3740. GL_PATH_FILL_MODE_NV = 0x9080,
  3741. GL_PATH_FILL_MASK_NV = 0x9081,
  3742. GL_PATH_FILL_COVER_MODE_NV = 0x9082,
  3743. GL_PATH_STROKE_COVER_MODE_NV = 0x9083,
  3744. GL_PATH_STROKE_MASK_NV = 0x9084,
  3745. GL_COUNT_UP_NV = 0x9088,
  3746. GL_COUNT_DOWN_NV = 0x9089,
  3747. GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A,
  3748. GL_CONVEX_HULL_NV = 0x908B,
  3749. GL_BOUNDING_BOX_NV = 0x908D,
  3750. GL_TRANSLATE_X_NV = 0x908E,
  3751. GL_TRANSLATE_Y_NV = 0x908F,
  3752. GL_TRANSLATE_2D_NV = 0x9090,
  3753. GL_TRANSLATE_3D_NV = 0x9091,
  3754. GL_AFFINE_2D_NV = 0x9092,
  3755. GL_AFFINE_3D_NV = 0x9094,
  3756. GL_TRANSPOSE_AFFINE_2D_NV = 0x9096,
  3757. GL_TRANSPOSE_AFFINE_3D_NV = 0x9098,
  3758. GL_UTF8_NV = 0x909A,
  3759. GL_UTF16_NV = 0x909B,
  3760. GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C,
  3761. GL_PATH_COMMAND_COUNT_NV = 0x909D,
  3762. GL_PATH_COORD_COUNT_NV = 0x909E,
  3763. GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F,
  3764. GL_PATH_COMPUTED_LENGTH_NV = 0x90A0,
  3765. GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1,
  3766. GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2,
  3767. GL_SQUARE_NV = 0x90A3,
  3768. GL_ROUND_NV = 0x90A4,
  3769. GL_TRIANGULAR_NV = 0x90A5,
  3770. GL_BEVEL_NV = 0x90A6,
  3771. GL_MITER_REVERT_NV = 0x90A7,
  3772. GL_MITER_TRUNCATE_NV = 0x90A8,
  3773. GL_SKIP_MISSING_GLYPH_NV = 0x90A9,
  3774. GL_USE_MISSING_GLYPH_NV = 0x90AA,
  3775. GL_PATH_ERROR_POSITION_NV = 0x90AB,
  3776. GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD,
  3777. GL_ADJACENT_PAIRS_NV = 0x90AE,
  3778. GL_FIRST_TO_REST_NV = 0x90AF,
  3779. GL_PATH_GEN_MODE_NV = 0x90B0,
  3780. GL_PATH_GEN_COEFF_NV = 0x90B1,
  3781. GL_PATH_GEN_COMPONENTS_NV = 0x90B3,
  3782. GL_PATH_STENCIL_FUNC_NV = 0x90B7,
  3783. GL_PATH_STENCIL_REF_NV = 0x90B8,
  3784. GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9,
  3785. GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD,
  3786. GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE,
  3787. GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF,
  3788. GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4,
  3789. GL_MOVE_TO_RESETS_NV = 0x90B5,
  3790. GL_MOVE_TO_CONTINUES_NV = 0x90B6,
  3791. GL_CLOSE_PATH_NV = 0x00,
  3792. GL_MOVE_TO_NV = 0x02,
  3793. GL_RELATIVE_MOVE_TO_NV = 0x03,
  3794. GL_LINE_TO_NV = 0x04,
  3795. GL_RELATIVE_LINE_TO_NV = 0x05,
  3796. GL_HORIZONTAL_LINE_TO_NV = 0x06,
  3797. GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07,
  3798. GL_VERTICAL_LINE_TO_NV = 0x08,
  3799. GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09,
  3800. GL_QUADRATIC_CURVE_TO_NV = 0x0A,
  3801. GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B,
  3802. GL_CUBIC_CURVE_TO_NV = 0x0C,
  3803. GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D,
  3804. GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E,
  3805. GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F,
  3806. GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10,
  3807. GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11,
  3808. GL_SMALL_CCW_ARC_TO_NV = 0x12,
  3809. GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13,
  3810. GL_SMALL_CW_ARC_TO_NV = 0x14,
  3811. GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15,
  3812. GL_LARGE_CCW_ARC_TO_NV = 0x16,
  3813. GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17,
  3814. GL_LARGE_CW_ARC_TO_NV = 0x18,
  3815. GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19,
  3816. GL_RESTART_PATH_NV = 0xF0,
  3817. GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2,
  3818. GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4,
  3819. GL_RECT_NV = 0xF6,
  3820. GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8,
  3821. GL_CIRCULAR_CW_ARC_TO_NV = 0xFA,
  3822. GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC,
  3823. GL_ARC_TO_NV = 0xFE,
  3824. GL_RELATIVE_ARC_TO_NV = 0xFF,
  3825. GL_BOLD_BIT_NV = 0x01,
  3826. GL_ITALIC_BIT_NV = 0x02,
  3827. GL_GLYPH_WIDTH_BIT_NV = 0x01,
  3828. GL_GLYPH_HEIGHT_BIT_NV = 0x02,
  3829. GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04,
  3830. GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08,
  3831. GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10,
  3832. GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20,
  3833. GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40,
  3834. GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80,
  3835. GL_GLYPH_HAS_KERNING_BIT_NV = 0x100,
  3836. GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000,
  3837. GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000,
  3838. GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000,
  3839. GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000,
  3840. GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000,
  3841. GL_FONT_ASCENDER_BIT_NV = 0x00200000,
  3842. GL_FONT_DESCENDER_BIT_NV = 0x00400000,
  3843. GL_FONT_HEIGHT_BIT_NV = 0x00800000,
  3844. GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000,
  3845. GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000,
  3846. GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000,
  3847. GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000,
  3848. GL_FONT_HAS_KERNING_BIT_NV = 0x10000000,
  3849. GL_ROUNDED_RECT_NV = 0xE8,
  3850. GL_RELATIVE_ROUNDED_RECT_NV = 0xE9,
  3851. GL_ROUNDED_RECT2_NV = 0xEA,
  3852. GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB,
  3853. GL_ROUNDED_RECT4_NV = 0xEC,
  3854. GL_RELATIVE_ROUNDED_RECT4_NV = 0xED,
  3855. GL_ROUNDED_RECT8_NV = 0xEE,
  3856. GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF,
  3857. GL_RELATIVE_RECT_NV = 0xF7,
  3858. GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368,
  3859. GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369,
  3860. GL_FONT_UNAVAILABLE_NV = 0x936A,
  3861. GL_FONT_UNINTELLIGIBLE_NV = 0x936B,
  3862. GL_CONIC_CURVE_TO_NV = 0x1A,
  3863. GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B,
  3864. GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000,
  3865. GL_STANDARD_FONT_FORMAT_NV = 0x936C,
  3866. GL_2_BYTES_NV = 0x1407,
  3867. GL_3_BYTES_NV = 0x1408,
  3868. GL_4_BYTES_NV = 0x1409,
  3869. GL_EYE_LINEAR_NV = 0x2400,
  3870. GL_OBJECT_LINEAR_NV = 0x2401,
  3871. GL_CONSTANT_NV = 0x8576,
  3872. GL_PATH_FOG_GEN_MODE_NV = 0x90AC,
  3873. GL_PRIMARY_COLOR = 0x8577,
  3874. GL_PRIMARY_COLOR_NV = 0x852C,
  3875. GL_SECONDARY_COLOR_NV = 0x852D,
  3876. GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2,
  3877. GL_PATH_PROJECTION_NV = 0x1701,
  3878. GL_PATH_MODELVIEW_NV = 0x1700,
  3879. GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3,
  3880. GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6,
  3881. GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36,
  3882. GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3,
  3883. GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4,
  3884. GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7,
  3885. GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38,
  3886. GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4,
  3887. GL_FRAGMENT_INPUT_NV = 0x936D,
  3888. };
  3889. extern GLuint (KHRONOS_APIENTRY* const& glGenPathsNV) (GLsizei range);
  3890. extern void (KHRONOS_APIENTRY* const& glDeletePathsNV) (GLuint path, GLsizei range);
  3891. extern GLboolean (KHRONOS_APIENTRY* const& glIsPathNV) (GLuint path);
  3892. extern void (KHRONOS_APIENTRY* const& glPathCommandsNV) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
  3893. extern void (KHRONOS_APIENTRY* const& glPathCoordsNV) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);
  3894. extern void (KHRONOS_APIENTRY* const& glPathSubCommandsNV) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
  3895. extern void (KHRONOS_APIENTRY* const& glPathSubCoordsNV) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);
  3896. extern void (KHRONOS_APIENTRY* const& glPathStringNV) (GLuint path, GLenum format, GLsizei length, const void *pathString);
  3897. extern void (KHRONOS_APIENTRY* const& glPathGlyphsNV) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
  3898. extern void (KHRONOS_APIENTRY* const& glPathGlyphRangeNV) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
  3899. extern void (KHRONOS_APIENTRY* const& glWeightPathsNV) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);
  3900. extern void (KHRONOS_APIENTRY* const& glCopyPathNV) (GLuint resultPath, GLuint srcPath);
  3901. extern void (KHRONOS_APIENTRY* const& glInterpolatePathsNV) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
  3902. extern void (KHRONOS_APIENTRY* const& glTransformPathNV) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);
  3903. extern void (KHRONOS_APIENTRY* const& glPathParameterivNV) (GLuint path, GLenum pname, const GLint *value);
  3904. extern void (KHRONOS_APIENTRY* const& glPathParameteriNV) (GLuint path, GLenum pname, GLint value);
  3905. extern void (KHRONOS_APIENTRY* const& glPathParameterfvNV) (GLuint path, GLenum pname, const GLfloat *value);
  3906. extern void (KHRONOS_APIENTRY* const& glPathParameterfNV) (GLuint path, GLenum pname, GLfloat value);
  3907. extern void (KHRONOS_APIENTRY* const& glPathDashArrayNV) (GLuint path, GLsizei dashCount, const GLfloat *dashArray);
  3908. extern void (KHRONOS_APIENTRY* const& glPathStencilFuncNV) (GLenum func, GLint ref, GLuint mask);
  3909. extern void (KHRONOS_APIENTRY* const& glPathStencilDepthOffsetNV) (GLfloat factor, GLfloat units);
  3910. extern void (KHRONOS_APIENTRY* const& glStencilFillPathNV) (GLuint path, GLenum fillMode, GLuint mask);
  3911. extern void (KHRONOS_APIENTRY* const& glStencilStrokePathNV) (GLuint path, GLint reference, GLuint mask);
  3912. extern void (KHRONOS_APIENTRY* const& glStencilFillPathInstancedNV) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
  3913. extern void (KHRONOS_APIENTRY* const& glStencilStrokePathInstancedNV) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
  3914. extern void (KHRONOS_APIENTRY* const& glPathCoverDepthFuncNV) (GLenum func);
  3915. extern void (KHRONOS_APIENTRY* const& glCoverFillPathNV) (GLuint path, GLenum coverMode);
  3916. extern void (KHRONOS_APIENTRY* const& glCoverStrokePathNV) (GLuint path, GLenum coverMode);
  3917. extern void (KHRONOS_APIENTRY* const& glCoverFillPathInstancedNV) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
  3918. extern void (KHRONOS_APIENTRY* const& glCoverStrokePathInstancedNV) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
  3919. extern void (KHRONOS_APIENTRY* const& glGetPathParameterivNV) (GLuint path, GLenum pname, GLint *value);
  3920. extern void (KHRONOS_APIENTRY* const& glGetPathParameterfvNV) (GLuint path, GLenum pname, GLfloat *value);
  3921. extern void (KHRONOS_APIENTRY* const& glGetPathCommandsNV) (GLuint path, GLubyte *commands);
  3922. extern void (KHRONOS_APIENTRY* const& glGetPathCoordsNV) (GLuint path, GLfloat *coords);
  3923. extern void (KHRONOS_APIENTRY* const& glGetPathDashArrayNV) (GLuint path, GLfloat *dashArray);
  3924. extern void (KHRONOS_APIENTRY* const& glGetPathMetricsNV) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
  3925. extern void (KHRONOS_APIENTRY* const& glGetPathMetricRangeNV) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
  3926. extern void (KHRONOS_APIENTRY* const& glGetPathSpacingNV) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
  3927. extern GLboolean (KHRONOS_APIENTRY* const& glIsPointInFillPathNV) (GLuint path, GLuint mask, GLfloat x, GLfloat y);
  3928. extern GLboolean (KHRONOS_APIENTRY* const& glIsPointInStrokePathNV) (GLuint path, GLfloat x, GLfloat y);
  3929. extern GLfloat (KHRONOS_APIENTRY* const& glGetPathLengthNV) (GLuint path, GLsizei startSegment, GLsizei numSegments);
  3930. extern GLboolean (KHRONOS_APIENTRY* const& glPointAlongPathNV) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
  3931. extern void (KHRONOS_APIENTRY* const& glMatrixLoad3x2fNV) (GLenum matrixMode, const GLfloat *m);
  3932. extern void (KHRONOS_APIENTRY* const& glMatrixLoad3x3fNV) (GLenum matrixMode, const GLfloat *m);
  3933. extern void (KHRONOS_APIENTRY* const& glMatrixLoadTranspose3x3fNV) (GLenum matrixMode, const GLfloat *m);
  3934. extern void (KHRONOS_APIENTRY* const& glMatrixMult3x2fNV) (GLenum matrixMode, const GLfloat *m);
  3935. extern void (KHRONOS_APIENTRY* const& glMatrixMult3x3fNV) (GLenum matrixMode, const GLfloat *m);
  3936. extern void (KHRONOS_APIENTRY* const& glMatrixMultTranspose3x3fNV) (GLenum matrixMode, const GLfloat *m);
  3937. extern void (KHRONOS_APIENTRY* const& glStencilThenCoverFillPathNV) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
  3938. extern void (KHRONOS_APIENTRY* const& glStencilThenCoverStrokePathNV) (GLuint path, GLint reference, GLuint mask, GLenum coverMode);
  3939. extern void (KHRONOS_APIENTRY* const& glStencilThenCoverFillPathInstancedNV) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
  3940. extern void (KHRONOS_APIENTRY* const& glStencilThenCoverStrokePathInstancedNV) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
  3941. extern GLenum (KHRONOS_APIENTRY* const& glPathGlyphIndexRangeNV) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount);
  3942. extern GLenum (KHRONOS_APIENTRY* const& glPathGlyphIndexArrayNV) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
  3943. extern GLenum (KHRONOS_APIENTRY* const& glPathMemoryGlyphIndexArrayNV) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
  3944. extern void (KHRONOS_APIENTRY* const& glProgramPathFragmentInputGenNV) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
  3945. extern void (KHRONOS_APIENTRY* const& glGetProgramResourcefvNV) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params);
  3946. extern void (KHRONOS_APIENTRY* const& glPathColorGenNV) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);
  3947. extern void (KHRONOS_APIENTRY* const& glPathTexGenNV) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);
  3948. extern void (KHRONOS_APIENTRY* const& glPathFogGenNV) (GLenum genMode);
  3949. extern void (KHRONOS_APIENTRY* const& glGetPathColorGenivNV) (GLenum color, GLenum pname, GLint *value);
  3950. extern void (KHRONOS_APIENTRY* const& glGetPathColorGenfvNV) (GLenum color, GLenum pname, GLfloat *value);
  3951. extern void (KHRONOS_APIENTRY* const& glGetPathTexGenivNV) (GLenum texCoordSet, GLenum pname, GLint *value);
  3952. extern void (KHRONOS_APIENTRY* const& glGetPathTexGenfvNV) (GLenum texCoordSet, GLenum pname, GLfloat *value);
  3953. extern void (KHRONOS_APIENTRY* const& glMatrixFrustumEXT) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
  3954. extern void (KHRONOS_APIENTRY* const& glMatrixLoadIdentityEXT) (GLenum mode);
  3955. extern void (KHRONOS_APIENTRY* const& glMatrixLoadTransposefEXT) (GLenum mode, const GLfloat *m);
  3956. extern void (KHRONOS_APIENTRY* const& glMatrixLoadTransposedEXT) (GLenum mode, const GLdouble *m);
  3957. extern void (KHRONOS_APIENTRY* const& glMatrixLoadfEXT) (GLenum mode, const GLfloat *m);
  3958. extern void (KHRONOS_APIENTRY* const& glMatrixLoaddEXT) (GLenum mode, const GLdouble *m);
  3959. extern void (KHRONOS_APIENTRY* const& glMatrixMultTransposefEXT) (GLenum mode, const GLfloat *m);
  3960. extern void (KHRONOS_APIENTRY* const& glMatrixMultTransposedEXT) (GLenum mode, const GLdouble *m);
  3961. extern void (KHRONOS_APIENTRY* const& glMatrixMultfEXT) (GLenum mode, const GLfloat *m);
  3962. extern void (KHRONOS_APIENTRY* const& glMatrixMultdEXT) (GLenum mode, const GLdouble *m);
  3963. extern void (KHRONOS_APIENTRY* const& glMatrixOrthoEXT) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
  3964. extern void (KHRONOS_APIENTRY* const& glMatrixPopEXT) (GLenum mode);
  3965. extern void (KHRONOS_APIENTRY* const& glMatrixPushEXT) (GLenum mode);
  3966. extern void (KHRONOS_APIENTRY* const& glMatrixRotatefEXT) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
  3967. extern void (KHRONOS_APIENTRY* const& glMatrixRotatedEXT) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
  3968. extern void (KHRONOS_APIENTRY* const& glMatrixScalefEXT) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
  3969. extern void (KHRONOS_APIENTRY* const& glMatrixScaledEXT) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
  3970. extern void (KHRONOS_APIENTRY* const& glMatrixTranslatefEXT) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
  3971. extern void (KHRONOS_APIENTRY* const& glMatrixTranslatedEXT) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
  3972. #endif
  3973. #ifndef GL_NV_path_rendering_shared_edge
  3974. #define GL_NV_path_rendering_shared_edge 1
  3975. enum
  3976. {
  3977. GL_SHARED_EDGE_NV = 0xC0,
  3978. };
  3979. #endif
  3980. #ifndef GL_NV_pixel_buffer_object
  3981. #define GL_NV_pixel_buffer_object 1
  3982. enum
  3983. {
  3984. GL_PIXEL_PACK_BUFFER_NV = 0x88EB,
  3985. GL_PIXEL_UNPACK_BUFFER_NV = 0x88EC,
  3986. GL_PIXEL_PACK_BUFFER_BINDING_NV = 0x88ED,
  3987. GL_PIXEL_UNPACK_BUFFER_BINDING_NV = 0x88EF,
  3988. };
  3989. #endif
  3990. #ifndef GL_NV_polygon_mode
  3991. #define GL_NV_polygon_mode 1
  3992. enum
  3993. {
  3994. GL_POLYGON_MODE_NV = 0x0B40,
  3995. GL_POLYGON_OFFSET_POINT_NV = 0x2A01,
  3996. GL_POLYGON_OFFSET_LINE_NV = 0x2A02,
  3997. GL_POINT_NV = 0x1B00,
  3998. GL_LINE_NV = 0x1B01,
  3999. GL_FILL_NV = 0x1B02,
  4000. };
  4001. extern void (KHRONOS_APIENTRY* const& glPolygonModeNV) (GLenum face, GLenum mode);
  4002. #endif
  4003. #ifndef GL_NV_primitive_shading_rate
  4004. #define GL_NV_primitive_shading_rate 1
  4005. enum
  4006. {
  4007. GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1,
  4008. GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2,
  4009. };
  4010. #endif
  4011. #ifndef GL_NV_read_buffer
  4012. #define GL_NV_read_buffer 1
  4013. enum
  4014. {
  4015. GL_READ_BUFFER_NV = 0x0C02,
  4016. };
  4017. extern void (KHRONOS_APIENTRY* const& glReadBufferNV) (GLenum mode);
  4018. #endif
  4019. #ifndef GL_NV_read_buffer_front
  4020. #define GL_NV_read_buffer_front 1
  4021. #endif
  4022. #ifndef GL_NV_read_depth
  4023. #define GL_NV_read_depth 1
  4024. #endif
  4025. #ifndef GL_NV_read_depth_stencil
  4026. #define GL_NV_read_depth_stencil 1
  4027. #endif
  4028. #ifndef GL_NV_read_stencil
  4029. #define GL_NV_read_stencil 1
  4030. #endif
  4031. #ifndef GL_NV_representative_fragment_test
  4032. #define GL_NV_representative_fragment_test 1
  4033. enum
  4034. {
  4035. GL_REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F,
  4036. };
  4037. #endif
  4038. #ifndef GL_NV_sRGB_formats
  4039. #define GL_NV_sRGB_formats 1
  4040. enum
  4041. {
  4042. GL_SLUMINANCE_NV = 0x8C46,
  4043. GL_SLUMINANCE_ALPHA_NV = 0x8C44,
  4044. GL_SRGB8_NV = 0x8C41,
  4045. GL_SLUMINANCE8_NV = 0x8C47,
  4046. GL_SLUMINANCE8_ALPHA8_NV = 0x8C45,
  4047. GL_COMPRESSED_SRGB_S3TC_DXT1_NV = 0x8C4C,
  4048. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = 0x8C4D,
  4049. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = 0x8C4E,
  4050. GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = 0x8C4F,
  4051. GL_ETC1_SRGB8_NV = 0x88EE,
  4052. };
  4053. #endif
  4054. #ifndef GL_NV_sample_locations
  4055. #define GL_NV_sample_locations 1
  4056. enum
  4057. {
  4058. GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D,
  4059. GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E,
  4060. GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F,
  4061. GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340,
  4062. GL_SAMPLE_LOCATION_NV = 0x8E50,
  4063. GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341,
  4064. GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342,
  4065. GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343,
  4066. };
  4067. extern void (KHRONOS_APIENTRY* const& glFramebufferSampleLocationsfvNV) (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
  4068. extern void (KHRONOS_APIENTRY* const& glNamedFramebufferSampleLocationsfvNV) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
  4069. extern void (KHRONOS_APIENTRY* const& glResolveDepthValuesNV) ();
  4070. #endif
  4071. #ifndef GL_NV_sample_mask_override_coverage
  4072. #define GL_NV_sample_mask_override_coverage 1
  4073. #endif
  4074. #ifndef GL_NV_scissor_exclusive
  4075. #define GL_NV_scissor_exclusive 1
  4076. enum
  4077. {
  4078. GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555,
  4079. GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556,
  4080. };
  4081. extern void (KHRONOS_APIENTRY* const& glScissorExclusiveNV) (GLint x, GLint y, GLsizei width, GLsizei height);
  4082. extern void (KHRONOS_APIENTRY* const& glScissorExclusiveArrayvNV) (GLuint first, GLsizei count, const GLint *v);
  4083. #endif
  4084. #ifndef GL_NV_shader_atomic_fp16_vector
  4085. #define GL_NV_shader_atomic_fp16_vector 1
  4086. #endif
  4087. #ifndef GL_NV_shader_noperspective_interpolation
  4088. #define GL_NV_shader_noperspective_interpolation 1
  4089. #endif
  4090. #ifndef GL_NV_shader_subgroup_partitioned
  4091. #define GL_NV_shader_subgroup_partitioned 1
  4092. enum
  4093. {
  4094. GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
  4095. };
  4096. #endif
  4097. #ifndef GL_NV_shader_texture_footprint
  4098. #define GL_NV_shader_texture_footprint 1
  4099. #endif
  4100. #ifndef GL_NV_shading_rate_image
  4101. #define GL_NV_shading_rate_image 1
  4102. enum
  4103. {
  4104. GL_SHADING_RATE_IMAGE_NV = 0x9563,
  4105. GL_SHADING_RATE_NO_INVOCATIONS_NV = 0x9564,
  4106. GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565,
  4107. GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566,
  4108. GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567,
  4109. GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568,
  4110. GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569,
  4111. GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A,
  4112. GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B,
  4113. GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C,
  4114. GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D,
  4115. GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E,
  4116. GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F,
  4117. GL_SHADING_RATE_IMAGE_BINDING_NV = 0x955B,
  4118. GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C,
  4119. GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D,
  4120. GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E,
  4121. GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F,
  4122. GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE,
  4123. GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF,
  4124. GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0,
  4125. };
  4126. extern void (KHRONOS_APIENTRY* const& glBindShadingRateImageNV) (GLuint texture);
  4127. extern void (KHRONOS_APIENTRY* const& glGetShadingRateImagePaletteNV) (GLuint viewport, GLuint entry, GLenum *rate);
  4128. extern void (KHRONOS_APIENTRY* const& glGetShadingRateSampleLocationivNV) (GLenum rate, GLuint samples, GLuint index, GLint *location);
  4129. extern void (KHRONOS_APIENTRY* const& glShadingRateImageBarrierNV) (GLboolean synchronize);
  4130. extern void (KHRONOS_APIENTRY* const& glShadingRateImagePaletteNV) (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates);
  4131. extern void (KHRONOS_APIENTRY* const& glShadingRateSampleOrderNV) (GLenum order);
  4132. extern void (KHRONOS_APIENTRY* const& glShadingRateSampleOrderCustomNV) (GLenum rate, GLuint samples, const GLint *locations);
  4133. #endif
  4134. #ifndef GL_NV_shadow_samplers_array
  4135. #define GL_NV_shadow_samplers_array 1
  4136. enum
  4137. {
  4138. GL_SAMPLER_2D_ARRAY_SHADOW_NV = 0x8DC4,
  4139. };
  4140. #endif
  4141. #ifndef GL_NV_shadow_samplers_cube
  4142. #define GL_NV_shadow_samplers_cube 1
  4143. enum
  4144. {
  4145. GL_SAMPLER_CUBE_SHADOW_NV = 0x8DC5,
  4146. };
  4147. #endif
  4148. #ifndef GL_NV_stereo_view_rendering
  4149. #define GL_NV_stereo_view_rendering 1
  4150. #endif
  4151. #ifndef GL_NV_texture_border_clamp
  4152. #define GL_NV_texture_border_clamp 1
  4153. enum
  4154. {
  4155. GL_TEXTURE_BORDER_COLOR_NV = 0x1004,
  4156. GL_CLAMP_TO_BORDER_NV = 0x812D,
  4157. };
  4158. #endif
  4159. #ifndef GL_NV_texture_compression_s3tc_update
  4160. #define GL_NV_texture_compression_s3tc_update 1
  4161. #endif
  4162. #ifndef GL_NV_texture_npot_2D_mipmap
  4163. #define GL_NV_texture_npot_2D_mipmap 1
  4164. #endif
  4165. #ifndef GL_NV_viewport_array
  4166. #define GL_NV_viewport_array 1
  4167. enum
  4168. {
  4169. GL_MAX_VIEWPORTS_NV = 0x825B,
  4170. GL_VIEWPORT_SUBPIXEL_BITS_NV = 0x825C,
  4171. GL_VIEWPORT_BOUNDS_RANGE_NV = 0x825D,
  4172. GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = 0x825F,
  4173. };
  4174. extern void (KHRONOS_APIENTRY* const& glViewportArrayvNV) (GLuint first, GLsizei count, const GLfloat *v);
  4175. extern void (KHRONOS_APIENTRY* const& glViewportIndexedfNV) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
  4176. extern void (KHRONOS_APIENTRY* const& glViewportIndexedfvNV) (GLuint index, const GLfloat *v);
  4177. extern void (KHRONOS_APIENTRY* const& glScissorArrayvNV) (GLuint first, GLsizei count, const GLint *v);
  4178. extern void (KHRONOS_APIENTRY* const& glScissorIndexedNV) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
  4179. extern void (KHRONOS_APIENTRY* const& glScissorIndexedvNV) (GLuint index, const GLint *v);
  4180. extern void (KHRONOS_APIENTRY* const& glDepthRangeArrayfvNV) (GLuint first, GLsizei count, const GLfloat *v);
  4181. extern void (KHRONOS_APIENTRY* const& glDepthRangeIndexedfNV) (GLuint index, GLfloat n, GLfloat f);
  4182. extern void (KHRONOS_APIENTRY* const& glGetFloati_vNV) (GLenum target, GLuint index, GLfloat *data);
  4183. extern void (KHRONOS_APIENTRY* const& glEnableiNV) (GLenum target, GLuint index);
  4184. extern void (KHRONOS_APIENTRY* const& glDisableiNV) (GLenum target, GLuint index);
  4185. extern GLboolean (KHRONOS_APIENTRY* const& glIsEnablediNV) (GLenum target, GLuint index);
  4186. #endif
  4187. #ifndef GL_NV_viewport_array2
  4188. #define GL_NV_viewport_array2 1
  4189. #endif
  4190. #ifndef GL_NV_viewport_swizzle
  4191. #define GL_NV_viewport_swizzle 1
  4192. enum
  4193. {
  4194. GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350,
  4195. GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351,
  4196. GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352,
  4197. GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353,
  4198. GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354,
  4199. GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355,
  4200. GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356,
  4201. GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357,
  4202. GL_VIEWPORT_SWIZZLE_X_NV = 0x9358,
  4203. GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359,
  4204. GL_VIEWPORT_SWIZZLE_Z_NV = 0x935A,
  4205. GL_VIEWPORT_SWIZZLE_W_NV = 0x935B,
  4206. };
  4207. extern void (KHRONOS_APIENTRY* const& glViewportSwizzleNV) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
  4208. #endif
  4209. #ifndef GL_OES_EGL_image
  4210. #define GL_OES_EGL_image 1
  4211. extern void (KHRONOS_APIENTRY* const& glEGLImageTargetTexture2DOES) (GLenum target, GLeglImageOES image);
  4212. extern void (KHRONOS_APIENTRY* const& glEGLImageTargetRenderbufferStorageOES) (GLenum target, GLeglImageOES image);
  4213. #endif
  4214. #ifndef GL_OES_EGL_image_external
  4215. #define GL_OES_EGL_image_external 1
  4216. enum
  4217. {
  4218. GL_SAMPLER_EXTERNAL_OES = 0x8D66,
  4219. };
  4220. #endif
  4221. #ifndef GL_OES_EGL_image_external_essl3
  4222. #define GL_OES_EGL_image_external_essl3 1
  4223. #endif
  4224. #ifndef GL_OES_compressed_ETC1_RGB8_sub_texture
  4225. #define GL_OES_compressed_ETC1_RGB8_sub_texture 1
  4226. #endif
  4227. #ifndef GL_OES_compressed_ETC1_RGB8_texture
  4228. #define GL_OES_compressed_ETC1_RGB8_texture 1
  4229. enum
  4230. {
  4231. GL_ETC1_RGB8_OES = 0x8D64,
  4232. };
  4233. #endif
  4234. #ifndef GL_OES_compressed_paletted_texture
  4235. #define GL_OES_compressed_paletted_texture 1
  4236. enum
  4237. {
  4238. GL_PALETTE4_RGB8_OES = 0x8B90,
  4239. GL_PALETTE4_RGBA8_OES = 0x8B91,
  4240. GL_PALETTE4_R5_G6_B5_OES = 0x8B92,
  4241. GL_PALETTE4_RGBA4_OES = 0x8B93,
  4242. GL_PALETTE4_RGB5_A1_OES = 0x8B94,
  4243. GL_PALETTE8_RGB8_OES = 0x8B95,
  4244. GL_PALETTE8_RGBA8_OES = 0x8B96,
  4245. GL_PALETTE8_R5_G6_B5_OES = 0x8B97,
  4246. GL_PALETTE8_RGBA4_OES = 0x8B98,
  4247. GL_PALETTE8_RGB5_A1_OES = 0x8B99,
  4248. };
  4249. #endif
  4250. #ifndef GL_OES_copy_image
  4251. #define GL_OES_copy_image 1
  4252. extern void (KHRONOS_APIENTRY* const& glCopyImageSubDataOES) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
  4253. #endif
  4254. #ifndef GL_OES_depth24
  4255. #define GL_OES_depth24 1
  4256. enum
  4257. {
  4258. GL_DEPTH_COMPONENT24_OES = 0x81A6,
  4259. };
  4260. #endif
  4261. #ifndef GL_OES_depth32
  4262. #define GL_OES_depth32 1
  4263. #endif
  4264. #ifndef GL_OES_depth_texture
  4265. #define GL_OES_depth_texture 1
  4266. #endif
  4267. #ifndef GL_OES_draw_buffers_indexed
  4268. #define GL_OES_draw_buffers_indexed 1
  4269. extern void (KHRONOS_APIENTRY* const& glEnableiOES) (GLenum target, GLuint index);
  4270. extern void (KHRONOS_APIENTRY* const& glDisableiOES) (GLenum target, GLuint index);
  4271. extern void (KHRONOS_APIENTRY* const& glBlendEquationiOES) (GLuint buf, GLenum mode);
  4272. extern void (KHRONOS_APIENTRY* const& glBlendEquationSeparateiOES) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  4273. extern void (KHRONOS_APIENTRY* const& glBlendFunciOES) (GLuint buf, GLenum src, GLenum dst);
  4274. extern void (KHRONOS_APIENTRY* const& glBlendFuncSeparateiOES) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  4275. extern void (KHRONOS_APIENTRY* const& glColorMaskiOES) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  4276. extern GLboolean (KHRONOS_APIENTRY* const& glIsEnablediOES) (GLenum target, GLuint index);
  4277. #endif
  4278. #ifndef GL_OES_draw_elements_base_vertex
  4279. #define GL_OES_draw_elements_base_vertex 1
  4280. extern void (KHRONOS_APIENTRY* const& glDrawElementsBaseVertexOES) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  4281. extern void (KHRONOS_APIENTRY* const& glDrawRangeElementsBaseVertexOES) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  4282. extern void (KHRONOS_APIENTRY* const& glDrawElementsInstancedBaseVertexOES) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
  4283. #endif
  4284. #ifndef GL_OES_element_index_uint
  4285. #define GL_OES_element_index_uint 1
  4286. #endif
  4287. #ifndef GL_OES_fbo_render_mipmap
  4288. #define GL_OES_fbo_render_mipmap 1
  4289. #endif
  4290. #ifndef GL_OES_fragment_precision_high
  4291. #define GL_OES_fragment_precision_high 1
  4292. #endif
  4293. #ifndef GL_OES_geometry_point_size
  4294. #define GL_OES_geometry_point_size 1
  4295. #endif
  4296. #ifndef GL_OES_geometry_shader
  4297. #define GL_OES_geometry_shader 1
  4298. enum
  4299. {
  4300. GL_GEOMETRY_SHADER_OES = 0x8DD9,
  4301. GL_GEOMETRY_SHADER_BIT_OES = 0x00000004,
  4302. GL_GEOMETRY_LINKED_VERTICES_OUT_OES = 0x8916,
  4303. GL_GEOMETRY_LINKED_INPUT_TYPE_OES = 0x8917,
  4304. GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES = 0x8918,
  4305. GL_GEOMETRY_SHADER_INVOCATIONS_OES = 0x887F,
  4306. GL_LAYER_PROVOKING_VERTEX_OES = 0x825E,
  4307. GL_LINES_ADJACENCY_OES = 0x000A,
  4308. GL_LINE_STRIP_ADJACENCY_OES = 0x000B,
  4309. GL_TRIANGLES_ADJACENCY_OES = 0x000C,
  4310. GL_TRIANGLE_STRIP_ADJACENCY_OES = 0x000D,
  4311. GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8DDF,
  4312. GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES = 0x8A2C,
  4313. GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8A32,
  4314. GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES = 0x9123,
  4315. GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES = 0x9124,
  4316. GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES = 0x8DE0,
  4317. GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES = 0x8DE1,
  4318. GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES = 0x8E5A,
  4319. GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES = 0x8C29,
  4320. GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES = 0x92CF,
  4321. GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES = 0x92D5,
  4322. GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES = 0x90CD,
  4323. GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES = 0x90D7,
  4324. GL_FIRST_VERTEX_CONVENTION_OES = 0x8E4D,
  4325. GL_LAST_VERTEX_CONVENTION_OES = 0x8E4E,
  4326. GL_UNDEFINED_VERTEX_OES = 0x8260,
  4327. GL_PRIMITIVES_GENERATED_OES = 0x8C87,
  4328. GL_FRAMEBUFFER_DEFAULT_LAYERS_OES = 0x9312,
  4329. GL_MAX_FRAMEBUFFER_LAYERS_OES = 0x9317,
  4330. GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES = 0x8DA8,
  4331. GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES = 0x8DA7,
  4332. GL_REFERENCED_BY_GEOMETRY_SHADER_OES = 0x9309,
  4333. };
  4334. extern void (KHRONOS_APIENTRY* const& glFramebufferTextureOES) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  4335. #endif
  4336. #ifndef GL_OES_get_program_binary
  4337. #define GL_OES_get_program_binary 1
  4338. enum
  4339. {
  4340. GL_PROGRAM_BINARY_LENGTH_OES = 0x8741,
  4341. GL_NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE,
  4342. GL_PROGRAM_BINARY_FORMATS_OES = 0x87FF,
  4343. };
  4344. extern void (KHRONOS_APIENTRY* const& glGetProgramBinaryOES) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
  4345. extern void (KHRONOS_APIENTRY* const& glProgramBinaryOES) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
  4346. #endif
  4347. #ifndef GL_OES_gpu_shader5
  4348. #define GL_OES_gpu_shader5 1
  4349. #endif
  4350. #ifndef GL_OES_mapbuffer
  4351. #define GL_OES_mapbuffer 1
  4352. enum
  4353. {
  4354. GL_WRITE_ONLY_OES = 0x88B9,
  4355. GL_BUFFER_ACCESS_OES = 0x88BB,
  4356. GL_BUFFER_MAPPED_OES = 0x88BC,
  4357. GL_BUFFER_MAP_POINTER_OES = 0x88BD,
  4358. };
  4359. extern void * (KHRONOS_APIENTRY* const& glMapBufferOES) (GLenum target, GLenum access);
  4360. extern GLboolean (KHRONOS_APIENTRY* const& glUnmapBufferOES) (GLenum target);
  4361. extern void (KHRONOS_APIENTRY* const& glGetBufferPointervOES) (GLenum target, GLenum pname, void **params);
  4362. #endif
  4363. #ifndef GL_OES_packed_depth_stencil
  4364. #define GL_OES_packed_depth_stencil 1
  4365. #endif
  4366. #ifndef GL_OES_primitive_bounding_box
  4367. #define GL_OES_primitive_bounding_box 1
  4368. enum
  4369. {
  4370. GL_PRIMITIVE_BOUNDING_BOX_OES = 0x92BE,
  4371. };
  4372. extern void (KHRONOS_APIENTRY* const& glPrimitiveBoundingBoxOES) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
  4373. #endif
  4374. #ifndef GL_OES_required_internalformat
  4375. #define GL_OES_required_internalformat 1
  4376. enum
  4377. {
  4378. GL_ALPHA8_OES = 0x803C,
  4379. GL_DEPTH_COMPONENT16_OES = 0x81A5,
  4380. GL_LUMINANCE4_ALPHA4_OES = 0x8043,
  4381. GL_LUMINANCE8_ALPHA8_OES = 0x8045,
  4382. GL_LUMINANCE8_OES = 0x8040,
  4383. GL_RGBA4_OES = 0x8056,
  4384. GL_RGB5_A1_OES = 0x8057,
  4385. GL_RGB565_OES = 0x8D62,
  4386. GL_RGB8_OES = 0x8051,
  4387. GL_RGBA8_OES = 0x8058,
  4388. };
  4389. #endif
  4390. #ifndef GL_OES_rgb8_rgba8
  4391. #define GL_OES_rgb8_rgba8 1
  4392. #endif
  4393. #ifndef GL_OES_sample_shading
  4394. #define GL_OES_sample_shading 1
  4395. enum
  4396. {
  4397. GL_SAMPLE_SHADING_OES = 0x8C36,
  4398. GL_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37,
  4399. };
  4400. extern void (KHRONOS_APIENTRY* const& glMinSampleShadingOES) (GLfloat value);
  4401. #endif
  4402. #ifndef GL_OES_sample_variables
  4403. #define GL_OES_sample_variables 1
  4404. #endif
  4405. #ifndef GL_OES_shader_image_atomic
  4406. #define GL_OES_shader_image_atomic 1
  4407. #endif
  4408. #ifndef GL_OES_shader_io_blocks
  4409. #define GL_OES_shader_io_blocks 1
  4410. #endif
  4411. #ifndef GL_OES_shader_multisample_interpolation
  4412. #define GL_OES_shader_multisample_interpolation 1
  4413. enum
  4414. {
  4415. GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B,
  4416. GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C,
  4417. GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D,
  4418. };
  4419. #endif
  4420. #ifndef GL_OES_standard_derivatives
  4421. #define GL_OES_standard_derivatives 1
  4422. enum
  4423. {
  4424. GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B,
  4425. };
  4426. #endif
  4427. #ifndef GL_OES_stencil1
  4428. #define GL_OES_stencil1 1
  4429. enum
  4430. {
  4431. GL_STENCIL_INDEX1_OES = 0x8D46,
  4432. };
  4433. #endif
  4434. #ifndef GL_OES_stencil4
  4435. #define GL_OES_stencil4 1
  4436. enum
  4437. {
  4438. GL_STENCIL_INDEX4_OES = 0x8D47,
  4439. };
  4440. #endif
  4441. #ifndef GL_OES_surfaceless_context
  4442. #define GL_OES_surfaceless_context 1
  4443. enum
  4444. {
  4445. GL_FRAMEBUFFER_UNDEFINED_OES = 0x8219,
  4446. };
  4447. #endif
  4448. #ifndef GL_OES_tessellation_point_size
  4449. #define GL_OES_tessellation_point_size 1
  4450. #endif
  4451. #ifndef GL_OES_tessellation_shader
  4452. #define GL_OES_tessellation_shader 1
  4453. enum
  4454. {
  4455. GL_PATCHES_OES = 0x000E,
  4456. GL_PATCH_VERTICES_OES = 0x8E72,
  4457. GL_TESS_CONTROL_OUTPUT_VERTICES_OES = 0x8E75,
  4458. GL_TESS_GEN_MODE_OES = 0x8E76,
  4459. GL_TESS_GEN_SPACING_OES = 0x8E77,
  4460. GL_TESS_GEN_VERTEX_ORDER_OES = 0x8E78,
  4461. GL_TESS_GEN_POINT_MODE_OES = 0x8E79,
  4462. GL_ISOLINES_OES = 0x8E7A,
  4463. GL_QUADS_OES = 0x0007,
  4464. GL_FRACTIONAL_ODD_OES = 0x8E7B,
  4465. GL_FRACTIONAL_EVEN_OES = 0x8E7C,
  4466. GL_MAX_PATCH_VERTICES_OES = 0x8E7D,
  4467. GL_MAX_TESS_GEN_LEVEL_OES = 0x8E7E,
  4468. GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E7F,
  4469. GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E80,
  4470. GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES = 0x8E81,
  4471. GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES = 0x8E82,
  4472. GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES = 0x8E83,
  4473. GL_MAX_TESS_PATCH_COMPONENTS_OES = 0x8E84,
  4474. GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES = 0x8E85,
  4475. GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES = 0x8E86,
  4476. GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES = 0x8E89,
  4477. GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES = 0x8E8A,
  4478. GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES = 0x886C,
  4479. GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES = 0x886D,
  4480. GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E1E,
  4481. GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E1F,
  4482. GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES = 0x92CD,
  4483. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES = 0x92CE,
  4484. GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES = 0x92D3,
  4485. GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES = 0x92D4,
  4486. GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES = 0x90CB,
  4487. GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES = 0x90CC,
  4488. GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES = 0x90D8,
  4489. GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES = 0x90D9,
  4490. GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES = 0x8221,
  4491. GL_IS_PER_PATCH_OES = 0x92E7,
  4492. GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES = 0x9307,
  4493. GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES = 0x9308,
  4494. GL_TESS_CONTROL_SHADER_OES = 0x8E88,
  4495. GL_TESS_EVALUATION_SHADER_OES = 0x8E87,
  4496. GL_TESS_CONTROL_SHADER_BIT_OES = 0x00000008,
  4497. GL_TESS_EVALUATION_SHADER_BIT_OES = 0x00000010,
  4498. };
  4499. extern void (KHRONOS_APIENTRY* const& glPatchParameteriOES) (GLenum pname, GLint value);
  4500. #endif
  4501. #ifndef GL_OES_texture_3D
  4502. #define GL_OES_texture_3D 1
  4503. enum
  4504. {
  4505. GL_TEXTURE_WRAP_R_OES = 0x8072,
  4506. GL_TEXTURE_3D_OES = 0x806F,
  4507. GL_TEXTURE_BINDING_3D_OES = 0x806A,
  4508. GL_MAX_3D_TEXTURE_SIZE_OES = 0x8073,
  4509. GL_SAMPLER_3D_OES = 0x8B5F,
  4510. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4,
  4511. };
  4512. extern void (KHRONOS_APIENTRY* const& glTexImage3DOES) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
  4513. extern void (KHRONOS_APIENTRY* const& glTexSubImage3DOES) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
  4514. extern void (KHRONOS_APIENTRY* const& glCopyTexSubImage3DOES) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  4515. extern void (KHRONOS_APIENTRY* const& glCompressedTexImage3DOES) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
  4516. extern void (KHRONOS_APIENTRY* const& glCompressedTexSubImage3DOES) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
  4517. extern void (KHRONOS_APIENTRY* const& glFramebufferTexture3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  4518. #endif
  4519. #ifndef GL_OES_texture_border_clamp
  4520. #define GL_OES_texture_border_clamp 1
  4521. enum
  4522. {
  4523. GL_TEXTURE_BORDER_COLOR_OES = 0x1004,
  4524. GL_CLAMP_TO_BORDER_OES = 0x812D,
  4525. };
  4526. extern void (KHRONOS_APIENTRY* const& glTexParameterIivOES) (GLenum target, GLenum pname, const GLint *params);
  4527. extern void (KHRONOS_APIENTRY* const& glTexParameterIuivOES) (GLenum target, GLenum pname, const GLuint *params);
  4528. extern void (KHRONOS_APIENTRY* const& glGetTexParameterIivOES) (GLenum target, GLenum pname, GLint *params);
  4529. extern void (KHRONOS_APIENTRY* const& glGetTexParameterIuivOES) (GLenum target, GLenum pname, GLuint *params);
  4530. extern void (KHRONOS_APIENTRY* const& glSamplerParameterIivOES) (GLuint sampler, GLenum pname, const GLint *param);
  4531. extern void (KHRONOS_APIENTRY* const& glSamplerParameterIuivOES) (GLuint sampler, GLenum pname, const GLuint *param);
  4532. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameterIivOES) (GLuint sampler, GLenum pname, GLint *params);
  4533. extern void (KHRONOS_APIENTRY* const& glGetSamplerParameterIuivOES) (GLuint sampler, GLenum pname, GLuint *params);
  4534. #endif
  4535. #ifndef GL_OES_texture_buffer
  4536. #define GL_OES_texture_buffer 1
  4537. enum
  4538. {
  4539. GL_TEXTURE_BUFFER_OES = 0x8C2A,
  4540. GL_TEXTURE_BUFFER_BINDING_OES = 0x8C2A,
  4541. GL_MAX_TEXTURE_BUFFER_SIZE_OES = 0x8C2B,
  4542. GL_TEXTURE_BINDING_BUFFER_OES = 0x8C2C,
  4543. GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES = 0x8C2D,
  4544. GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES = 0x919F,
  4545. GL_SAMPLER_BUFFER_OES = 0x8DC2,
  4546. GL_INT_SAMPLER_BUFFER_OES = 0x8DD0,
  4547. GL_UNSIGNED_INT_SAMPLER_BUFFER_OES = 0x8DD8,
  4548. GL_IMAGE_BUFFER_OES = 0x9051,
  4549. GL_INT_IMAGE_BUFFER_OES = 0x905C,
  4550. GL_UNSIGNED_INT_IMAGE_BUFFER_OES = 0x9067,
  4551. GL_TEXTURE_BUFFER_OFFSET_OES = 0x919D,
  4552. GL_TEXTURE_BUFFER_SIZE_OES = 0x919E,
  4553. };
  4554. extern void (KHRONOS_APIENTRY* const& glTexBufferOES) (GLenum target, GLenum internalformat, GLuint buffer);
  4555. extern void (KHRONOS_APIENTRY* const& glTexBufferRangeOES) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
  4556. #endif
  4557. #ifndef GL_OES_texture_compression_astc
  4558. #define GL_OES_texture_compression_astc 1
  4559. enum
  4560. {
  4561. GL_COMPRESSED_RGBA_ASTC_3x3x3_OES = 0x93C0,
  4562. GL_COMPRESSED_RGBA_ASTC_4x3x3_OES = 0x93C1,
  4563. GL_COMPRESSED_RGBA_ASTC_4x4x3_OES = 0x93C2,
  4564. GL_COMPRESSED_RGBA_ASTC_4x4x4_OES = 0x93C3,
  4565. GL_COMPRESSED_RGBA_ASTC_5x4x4_OES = 0x93C4,
  4566. GL_COMPRESSED_RGBA_ASTC_5x5x4_OES = 0x93C5,
  4567. GL_COMPRESSED_RGBA_ASTC_5x5x5_OES = 0x93C6,
  4568. GL_COMPRESSED_RGBA_ASTC_6x5x5_OES = 0x93C7,
  4569. GL_COMPRESSED_RGBA_ASTC_6x6x5_OES = 0x93C8,
  4570. GL_COMPRESSED_RGBA_ASTC_6x6x6_OES = 0x93C9,
  4571. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = 0x93E0,
  4572. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = 0x93E1,
  4573. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = 0x93E2,
  4574. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = 0x93E3,
  4575. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = 0x93E4,
  4576. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = 0x93E5,
  4577. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = 0x93E6,
  4578. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = 0x93E7,
  4579. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = 0x93E8,
  4580. GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = 0x93E9,
  4581. };
  4582. #endif
  4583. #ifndef GL_OES_texture_cube_map_array
  4584. #define GL_OES_texture_cube_map_array 1
  4585. enum
  4586. {
  4587. GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = 0x900A,
  4588. GL_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900C,
  4589. GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = 0x900D,
  4590. GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900E,
  4591. GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900F,
  4592. GL_IMAGE_CUBE_MAP_ARRAY_OES = 0x9054,
  4593. GL_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x905F,
  4594. GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x906A,
  4595. };
  4596. #endif
  4597. #ifndef GL_OES_texture_float
  4598. #define GL_OES_texture_float 1
  4599. #endif
  4600. #ifndef GL_OES_texture_float_linear
  4601. #define GL_OES_texture_float_linear 1
  4602. #endif
  4603. #ifndef GL_OES_texture_half_float
  4604. #define GL_OES_texture_half_float 1
  4605. enum
  4606. {
  4607. GL_HALF_FLOAT_OES = 0x8D61,
  4608. };
  4609. #endif
  4610. #ifndef GL_OES_texture_half_float_linear
  4611. #define GL_OES_texture_half_float_linear 1
  4612. #endif
  4613. #ifndef GL_OES_texture_npot
  4614. #define GL_OES_texture_npot 1
  4615. #endif
  4616. #ifndef GL_OES_texture_stencil8
  4617. #define GL_OES_texture_stencil8 1
  4618. enum
  4619. {
  4620. GL_STENCIL_INDEX_OES = 0x1901,
  4621. GL_STENCIL_INDEX8_OES = 0x8D48,
  4622. };
  4623. #endif
  4624. #ifndef GL_OES_texture_storage_multisample_2d_array
  4625. #define GL_OES_texture_storage_multisample_2d_array 1
  4626. enum
  4627. {
  4628. GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102,
  4629. GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105,
  4630. GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B,
  4631. GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C,
  4632. GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D,
  4633. };
  4634. extern void (KHRONOS_APIENTRY* const& glTexStorage3DMultisampleOES) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
  4635. #endif
  4636. #ifndef GL_OES_texture_view
  4637. #define GL_OES_texture_view 1
  4638. enum
  4639. {
  4640. GL_TEXTURE_VIEW_MIN_LEVEL_OES = 0x82DB,
  4641. GL_TEXTURE_VIEW_NUM_LEVELS_OES = 0x82DC,
  4642. GL_TEXTURE_VIEW_MIN_LAYER_OES = 0x82DD,
  4643. GL_TEXTURE_VIEW_NUM_LAYERS_OES = 0x82DE,
  4644. };
  4645. extern void (KHRONOS_APIENTRY* const& glTextureViewOES) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
  4646. #endif
  4647. #ifndef GL_OES_vertex_array_object
  4648. #define GL_OES_vertex_array_object 1
  4649. enum
  4650. {
  4651. GL_VERTEX_ARRAY_BINDING_OES = 0x85B5,
  4652. };
  4653. extern void (KHRONOS_APIENTRY* const& glBindVertexArrayOES) (GLuint array);
  4654. extern void (KHRONOS_APIENTRY* const& glDeleteVertexArraysOES) (GLsizei n, const GLuint *arrays);
  4655. extern void (KHRONOS_APIENTRY* const& glGenVertexArraysOES) (GLsizei n, GLuint *arrays);
  4656. extern GLboolean (KHRONOS_APIENTRY* const& glIsVertexArrayOES) (GLuint array);
  4657. #endif
  4658. #ifndef GL_OES_vertex_half_float
  4659. #define GL_OES_vertex_half_float 1
  4660. #endif
  4661. #ifndef GL_OES_vertex_type_10_10_10_2
  4662. #define GL_OES_vertex_type_10_10_10_2 1
  4663. enum
  4664. {
  4665. GL_UNSIGNED_INT_10_10_10_2_OES = 0x8DF6,
  4666. GL_INT_10_10_10_2_OES = 0x8DF7,
  4667. };
  4668. #endif
  4669. #ifndef GL_OES_viewport_array
  4670. #define GL_OES_viewport_array 1
  4671. enum
  4672. {
  4673. GL_MAX_VIEWPORTS_OES = 0x825B,
  4674. GL_VIEWPORT_SUBPIXEL_BITS_OES = 0x825C,
  4675. GL_VIEWPORT_BOUNDS_RANGE_OES = 0x825D,
  4676. GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES = 0x825F,
  4677. };
  4678. extern void (KHRONOS_APIENTRY* const& glViewportArrayvOES) (GLuint first, GLsizei count, const GLfloat *v);
  4679. extern void (KHRONOS_APIENTRY* const& glViewportIndexedfOES) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
  4680. extern void (KHRONOS_APIENTRY* const& glViewportIndexedfvOES) (GLuint index, const GLfloat *v);
  4681. extern void (KHRONOS_APIENTRY* const& glScissorArrayvOES) (GLuint first, GLsizei count, const GLint *v);
  4682. extern void (KHRONOS_APIENTRY* const& glScissorIndexedOES) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
  4683. extern void (KHRONOS_APIENTRY* const& glScissorIndexedvOES) (GLuint index, const GLint *v);
  4684. extern void (KHRONOS_APIENTRY* const& glDepthRangeArrayfvOES) (GLuint first, GLsizei count, const GLfloat *v);
  4685. extern void (KHRONOS_APIENTRY* const& glDepthRangeIndexedfOES) (GLuint index, GLfloat n, GLfloat f);
  4686. extern void (KHRONOS_APIENTRY* const& glGetFloati_vOES) (GLenum target, GLuint index, GLfloat *data);
  4687. #endif
  4688. #ifndef GL_OVR_multiview
  4689. #define GL_OVR_multiview 1
  4690. enum
  4691. {
  4692. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630,
  4693. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632,
  4694. GL_MAX_VIEWS_OVR = 0x9631,
  4695. GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633,
  4696. };
  4697. extern void (KHRONOS_APIENTRY* const& glFramebufferTextureMultiviewOVR) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
  4698. #endif
  4699. #ifndef GL_OVR_multiview2
  4700. #define GL_OVR_multiview2 1
  4701. #endif
  4702. #ifndef GL_OVR_multiview_multisampled_render_to_texture
  4703. #define GL_OVR_multiview_multisampled_render_to_texture 1
  4704. extern void (KHRONOS_APIENTRY* const& glFramebufferTextureMultisampleMultiviewOVR) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
  4705. #endif
  4706. #ifndef GL_QCOM_alpha_test
  4707. #define GL_QCOM_alpha_test 1
  4708. enum
  4709. {
  4710. GL_ALPHA_TEST_QCOM = 0x0BC0,
  4711. GL_ALPHA_TEST_FUNC_QCOM = 0x0BC1,
  4712. GL_ALPHA_TEST_REF_QCOM = 0x0BC2,
  4713. };
  4714. extern void (KHRONOS_APIENTRY* const& glAlphaFuncQCOM) (GLenum func, GLclampf ref);
  4715. #endif
  4716. #ifndef GL_QCOM_binning_control
  4717. #define GL_QCOM_binning_control 1
  4718. enum
  4719. {
  4720. GL_BINNING_CONTROL_HINT_QCOM = 0x8FB0,
  4721. GL_CPU_OPTIMIZED_QCOM = 0x8FB1,
  4722. GL_GPU_OPTIMIZED_QCOM = 0x8FB2,
  4723. GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = 0x8FB3,
  4724. };
  4725. #endif
  4726. #ifndef GL_QCOM_driver_control
  4727. #define GL_QCOM_driver_control 1
  4728. extern void (KHRONOS_APIENTRY* const& glGetDriverControlsQCOM) (GLint *num, GLsizei size, GLuint *driverControls);
  4729. extern void (KHRONOS_APIENTRY* const& glGetDriverControlStringQCOM) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  4730. extern void (KHRONOS_APIENTRY* const& glEnableDriverControlQCOM) (GLuint driverControl);
  4731. extern void (KHRONOS_APIENTRY* const& glDisableDriverControlQCOM) (GLuint driverControl);
  4732. #endif
  4733. #ifndef GL_QCOM_extended_get
  4734. #define GL_QCOM_extended_get 1
  4735. enum
  4736. {
  4737. GL_TEXTURE_WIDTH_QCOM = 0x8BD2,
  4738. GL_TEXTURE_HEIGHT_QCOM = 0x8BD3,
  4739. GL_TEXTURE_DEPTH_QCOM = 0x8BD4,
  4740. GL_TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5,
  4741. GL_TEXTURE_FORMAT_QCOM = 0x8BD6,
  4742. GL_TEXTURE_TYPE_QCOM = 0x8BD7,
  4743. GL_TEXTURE_IMAGE_VALID_QCOM = 0x8BD8,
  4744. GL_TEXTURE_NUM_LEVELS_QCOM = 0x8BD9,
  4745. GL_TEXTURE_TARGET_QCOM = 0x8BDA,
  4746. GL_TEXTURE_OBJECT_VALID_QCOM = 0x8BDB,
  4747. GL_STATE_RESTORE = 0x8BDC,
  4748. };
  4749. extern void (KHRONOS_APIENTRY* const& glExtGetTexturesQCOM) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  4750. extern void (KHRONOS_APIENTRY* const& glExtGetBuffersQCOM) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  4751. extern void (KHRONOS_APIENTRY* const& glExtGetRenderbuffersQCOM) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  4752. extern void (KHRONOS_APIENTRY* const& glExtGetFramebuffersQCOM) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  4753. extern void (KHRONOS_APIENTRY* const& glExtGetTexLevelParameterivQCOM) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  4754. extern void (KHRONOS_APIENTRY* const& glExtTexObjectStateOverrideiQCOM) (GLenum target, GLenum pname, GLint param);
  4755. extern void (KHRONOS_APIENTRY* const& glExtGetTexSubImageQCOM) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
  4756. extern void (KHRONOS_APIENTRY* const& glExtGetBufferPointervQCOM) (GLenum target, void **params);
  4757. #endif
  4758. #ifndef GL_QCOM_extended_get2
  4759. #define GL_QCOM_extended_get2 1
  4760. extern void (KHRONOS_APIENTRY* const& glExtGetShadersQCOM) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  4761. extern void (KHRONOS_APIENTRY* const& glExtGetProgramsQCOM) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  4762. extern GLboolean (KHRONOS_APIENTRY* const& glExtIsProgramBinaryQCOM) (GLuint program);
  4763. extern void (KHRONOS_APIENTRY* const& glExtGetProgramBinarySourceQCOM) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  4764. #endif
  4765. #ifndef GL_QCOM_framebuffer_foveated
  4766. #define GL_QCOM_framebuffer_foveated 1
  4767. enum
  4768. {
  4769. GL_FOVEATION_ENABLE_BIT_QCOM = 0x00000001,
  4770. GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM = 0x00000002,
  4771. };
  4772. extern void (KHRONOS_APIENTRY* const& glFramebufferFoveationConfigQCOM) (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures);
  4773. extern void (KHRONOS_APIENTRY* const& glFramebufferFoveationParametersQCOM) (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
  4774. #endif
  4775. #ifndef GL_QCOM_motion_estimation
  4776. #define GL_QCOM_motion_estimation 1
  4777. enum
  4778. {
  4779. GL_MOTION_ESTIMATION_SEARCH_BLOCK_X_QCOM = 0x8C90,
  4780. GL_MOTION_ESTIMATION_SEARCH_BLOCK_Y_QCOM = 0x8C91,
  4781. };
  4782. extern void (KHRONOS_APIENTRY* const& glTexEstimateMotionQCOM) (GLuint ref, GLuint target, GLuint output);
  4783. extern void (KHRONOS_APIENTRY* const& glTexEstimateMotionRegionsQCOM) (GLuint ref, GLuint target, GLuint output, GLuint mask);
  4784. #endif
  4785. #ifndef GL_QCOM_frame_extrapolation
  4786. #define GL_QCOM_frame_extrapolation 1
  4787. extern void (KHRONOS_APIENTRY* const& glExtrapolateTex2DQCOM) (GLuint src1, GLuint src2, GLuint output, GLfloat scaleFactor);
  4788. #endif
  4789. #ifndef GL_QCOM_render_shared_exponent
  4790. #define GL_QCOM_render_shared_exponent 1
  4791. #endif
  4792. #ifndef GL_QCOM_texture_foveated
  4793. #define GL_QCOM_texture_foveated 1
  4794. enum
  4795. {
  4796. GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM = 0x8BFB,
  4797. GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM = 0x8BFC,
  4798. GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM = 0x8BFD,
  4799. GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM = 0x8BFE,
  4800. GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM = 0x8BFF,
  4801. };
  4802. extern void (KHRONOS_APIENTRY* const& glTextureFoveationParametersQCOM) (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
  4803. #endif
  4804. #ifndef GL_QCOM_texture_foveated2
  4805. #define GL_QCOM_texture_foveated2 1
  4806. enum
  4807. {
  4808. GL_TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM = 0x96A0,
  4809. };
  4810. #endif
  4811. #ifndef GL_QCOM_texture_foveated_subsampled_layout
  4812. #define GL_QCOM_texture_foveated_subsampled_layout 1
  4813. enum
  4814. {
  4815. GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM = 0x00000004,
  4816. GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM = 0x8FA1,
  4817. };
  4818. #endif
  4819. #ifndef GL_QCOM_perfmon_global_mode
  4820. #define GL_QCOM_perfmon_global_mode 1
  4821. enum
  4822. {
  4823. GL_PERFMON_GLOBAL_MODE_QCOM = 0x8FA0,
  4824. };
  4825. #endif
  4826. #ifndef GL_QCOM_shader_framebuffer_fetch_noncoherent
  4827. #define GL_QCOM_shader_framebuffer_fetch_noncoherent 1
  4828. enum
  4829. {
  4830. GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM = 0x96A2,
  4831. };
  4832. extern void (KHRONOS_APIENTRY* const& glFramebufferFetchBarrierQCOM) ();
  4833. #endif
  4834. #ifndef GL_QCOM_shader_framebuffer_fetch_rate
  4835. #define GL_QCOM_shader_framebuffer_fetch_rate 1
  4836. #endif
  4837. #ifndef GL_QCOM_shading_rate
  4838. #define GL_QCOM_shading_rate 1
  4839. enum
  4840. {
  4841. GL_SHADING_RATE_QCOM = 0x96A4,
  4842. GL_SHADING_RATE_PRESERVE_ASPECT_RATIO_QCOM = 0x96A5,
  4843. GL_SHADING_RATE_1X1_PIXELS_QCOM = 0x96A6,
  4844. GL_SHADING_RATE_1X2_PIXELS_QCOM = 0x96A7,
  4845. GL_SHADING_RATE_2X1_PIXELS_QCOM = 0x96A8,
  4846. GL_SHADING_RATE_2X2_PIXELS_QCOM = 0x96A9,
  4847. GL_SHADING_RATE_4X2_PIXELS_QCOM = 0x96AC,
  4848. GL_SHADING_RATE_4X4_PIXELS_QCOM = 0x96AE,
  4849. };
  4850. extern void (KHRONOS_APIENTRY* const& glShadingRateQCOM) (GLenum rate);
  4851. #endif
  4852. #ifndef GL_QCOM_tiled_rendering
  4853. #define GL_QCOM_tiled_rendering 1
  4854. enum
  4855. {
  4856. GL_COLOR_BUFFER_BIT0_QCOM = 0x00000001,
  4857. GL_COLOR_BUFFER_BIT1_QCOM = 0x00000002,
  4858. GL_COLOR_BUFFER_BIT2_QCOM = 0x00000004,
  4859. GL_COLOR_BUFFER_BIT3_QCOM = 0x00000008,
  4860. GL_COLOR_BUFFER_BIT4_QCOM = 0x00000010,
  4861. GL_COLOR_BUFFER_BIT5_QCOM = 0x00000020,
  4862. GL_COLOR_BUFFER_BIT6_QCOM = 0x00000040,
  4863. GL_COLOR_BUFFER_BIT7_QCOM = 0x00000080,
  4864. GL_DEPTH_BUFFER_BIT0_QCOM = 0x00000100,
  4865. GL_DEPTH_BUFFER_BIT1_QCOM = 0x00000200,
  4866. GL_DEPTH_BUFFER_BIT2_QCOM = 0x00000400,
  4867. GL_DEPTH_BUFFER_BIT3_QCOM = 0x00000800,
  4868. GL_DEPTH_BUFFER_BIT4_QCOM = 0x00001000,
  4869. GL_DEPTH_BUFFER_BIT5_QCOM = 0x00002000,
  4870. GL_DEPTH_BUFFER_BIT6_QCOM = 0x00004000,
  4871. GL_DEPTH_BUFFER_BIT7_QCOM = 0x00008000,
  4872. GL_STENCIL_BUFFER_BIT0_QCOM = 0x00010000,
  4873. GL_STENCIL_BUFFER_BIT1_QCOM = 0x00020000,
  4874. GL_STENCIL_BUFFER_BIT2_QCOM = 0x00040000,
  4875. GL_STENCIL_BUFFER_BIT3_QCOM = 0x00080000,
  4876. GL_STENCIL_BUFFER_BIT4_QCOM = 0x00100000,
  4877. GL_STENCIL_BUFFER_BIT5_QCOM = 0x00200000,
  4878. GL_STENCIL_BUFFER_BIT6_QCOM = 0x00400000,
  4879. GL_STENCIL_BUFFER_BIT7_QCOM = 0x00800000,
  4880. GL_MULTISAMPLE_BUFFER_BIT0_QCOM = 0x01000000,
  4881. GL_MULTISAMPLE_BUFFER_BIT1_QCOM = 0x02000000,
  4882. GL_MULTISAMPLE_BUFFER_BIT2_QCOM = 0x04000000,
  4883. GL_MULTISAMPLE_BUFFER_BIT3_QCOM = 0x08000000,
  4884. GL_MULTISAMPLE_BUFFER_BIT4_QCOM = 0x10000000,
  4885. GL_MULTISAMPLE_BUFFER_BIT5_QCOM = 0x20000000,
  4886. GL_MULTISAMPLE_BUFFER_BIT6_QCOM = 0x40000000,
  4887. GL_MULTISAMPLE_BUFFER_BIT7_QCOM = 0x80000000,
  4888. };
  4889. extern void (KHRONOS_APIENTRY* const& glStartTilingQCOM) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  4890. extern void (KHRONOS_APIENTRY* const& glEndTilingQCOM) (GLbitfield preserveMask);
  4891. #endif
  4892. #ifndef GL_QCOM_writeonly_rendering
  4893. #define GL_QCOM_writeonly_rendering 1
  4894. enum
  4895. {
  4896. GL_WRITEONLY_RENDERING_QCOM = 0x8823,
  4897. };
  4898. #endif
  4899. #ifndef GL_QCOM_YUV_texture_gather
  4900. #define GL_QCOM_YUV_texture_gather 1
  4901. #endif
  4902. #ifndef GL_VIV_shader_binary
  4903. #define GL_VIV_shader_binary 1
  4904. enum
  4905. {
  4906. GL_SHADER_BINARY_VIV = 0x8FC4,
  4907. };
  4908. #endif
  4909. #ifndef GL_EXT_texture_shadow_lod
  4910. #define GL_EXT_texture_shadow_lod 1
  4911. #endif
  4912. void loadFunctions();
  4913. }
  4914. }