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.

5268 lines
312KB

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