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.

5264 lines
312KB

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