DXGL r486 - Code Review

Jump to navigation Jump to search
Repository:DXGL
Revision:r485‎ | r486 | r487 >
Date:23:32, 13 August 2014
Author:admin
Status:new
Tags:
Comment:
Add support for OpenGL 4.5/ARB_direct_state_access functionality.
Modified paths:
  • /ddraw/glDirectDrawSurface.cpp (modified) (history)
  • /ddraw/glExtensions.c (modified) (history)
  • /ddraw/glExtensions.h (modified) (history)
  • /ddraw/include/GL/glext.h (modified) (history)
  • /ddraw/include/GL/wglext.h (modified) (history)

Diff [purge]

Index: ddraw/glDirectDrawSurface.cpp
@@ -1493,11 +1493,16 @@
14941494 }
14951495 else
14961496 {
1497 - if(ext->GLEXT_EXT_direct_state_access)
 1497+ if(ext->GLEXT_ARB_direct_state_access)
14981498 {
1499 - ext->glTextureParameteriEXT(texture->id,GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,mag);
1500 - ext->glTextureParameteriEXT(texture->id,GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,min);
 1499+ ext->glTextureParameteri(texture->id,GL_TEXTURE_MAG_FILTER,mag);
 1500+ ext->glTextureParameteri(texture->id,GL_TEXTURE_MIN_FILTER,min);
15011501 }
 1502+ else if (ext->GLEXT_EXT_direct_state_access)
 1503+ {
 1504+ ext->glTextureParameteriEXT(texture->id, GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, mag);
 1505+ ext->glTextureParameteriEXT(texture->id, GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min);
 1506+ }
15021507 else
15031508 {
15041509 TextureManager_SetTexture(texman,level,texture);
Index: ddraw/glExtensions.c
@@ -110,7 +110,10 @@
111111 else ext->GLEXT_ARB_ES2_compatibility = 0;
112112 if(strstr((char*)glextensions,"GL_EXT_direct_state_access")) ext->GLEXT_EXT_direct_state_access = 1;
113113 else ext->GLEXT_EXT_direct_state_access = 0;
114 - if(strstr((char*)glextensions,"GL_ARB_sampler_objects") || (ext->glver_major >= 4)
 114+ if (strstr((char*)glextensions, "GL_ARB_direct_state_access") || (ext->glver_major >= 5)
 115+ || ((ext->glver_major >= 4) && (ext->glver_minor >= 5))) ext->GLEXT_ARB_direct_state_access = 1;
 116+ else ext->GLEXT_ARB_direct_state_access = 0;
 117+ if (strstr((char*)glextensions, "GL_ARB_sampler_objects") || (ext->glver_major >= 4)
115118 || ((ext->glver_major >= 3) && (ext->glver_minor >= 3))) ext->GLEXT_ARB_sampler_objects = 1;
116119 else ext->GLEXT_ARB_sampler_objects = 0;
117120 if(strstr((char*)glextensions,"GL_EXT_gpu_shader4")) ext->GLEXT_EXT_gpu_shader4 = 1;
@@ -152,8 +155,17 @@
153156 ext->glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)wglGetProcAddress("glMatrixLoadfEXT");
154157 ext->glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)wglGetProcAddress("glMatrixMultfEXT");
155158 }
156 - if(ext->GLEXT_ARB_sampler_objects)
 159+ if (ext->GLEXT_ARB_direct_state_access)
157160 {
 161+ ext->glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC)wglGetProcAddress("glTextureParameterf");
 162+ ext->glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC)wglGetProcAddress("glTextureParameterfv");
 163+ ext->glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC)wglGetProcAddress("glTextureParameteri");
 164+ ext->glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC)wglGetProcAddress("glTextureParameteriv");
 165+ ext->glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC)wglGetProcAddress("glTextureSubImage2D");
 166+ ext->glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC)wglGetProcAddress("glGetTextureImage");
 167+ }
 168+ if (ext->GLEXT_ARB_sampler_objects)
 169+ {
158170 ext->glBindSampler = (PFNGLBINDSAMPLERPROC)wglGetProcAddress("glBindSampler");
159171 ext->glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)wglGetProcAddress("glDeleteSamplers");
160172 ext->glGenSamplers = (PFNGLGENSAMPLERSPROC)wglGetProcAddress("glGenSamplers");
Index: ddraw/glExtensions.h
@@ -114,6 +114,15 @@
115115 void (APIENTRY *glMatrixLoadfEXT)(GLenum mode, const GLfloat *m);
116116 void (APIENTRY *glMatrixMultfEXT)(GLenum mode, const GLfloat *m);
117117
 118+ void (APIENTRY *glTextureParameterf)(GLuint texture, GLenum pname, GLfloat param);
 119+ void (APIENTRY *glTextureParameterfv)(GLuint texture, GLenum pname, const GLfloat *params);
 120+ void (APIENTRY *glTextureParameteri)(GLuint texture, GLenum pname, GLint param);
 121+ void (APIENTRY *glTextureParameteriv)(GLuint texture, GLenum pname, const GLint *params);
 122+ void (APIENTRY *glTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset,
 123+ GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
 124+ void (APIENTRY *glGetTextureImage)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels);
 125+
 126+
118127 void (APIENTRY *glBindSampler)(GLuint unit, GLuint sampler);
119128 void (APIENTRY *glDeleteSamplers)(GLsizei n, const GLuint *samplers);
120129 void (APIENTRY *glGenSamplers)(GLsizei n, GLuint *samplers);
@@ -132,6 +141,7 @@
133142 int GLEXT_ATI_meminfo;
134143 int GLEXT_ARB_ES2_compatibility;
135144 int GLEXT_EXT_direct_state_access;
 145+ int GLEXT_ARB_direct_state_access;
136146 int GLEXT_ARB_sampler_objects;
137147 int GLEXT_EXT_gpu_shader4;
138148 int glver_major;
Index: ddraw/include/GL/glext.h
@@ -33,7 +33,7 @@
3434 ** used to make the header, and the header can be found at
3535 ** http://www.opengl.org/registry/
3636 **
37 -** Khronos $Revision: 26320 $ on $Date: 2014-04-17 03:07:07 -0700 (Thu, 17 Apr 2014) $
 37+** Khronos $Revision: 27684 $ on $Date: 2014-08-11 01:21:35 -0700 (Mon, 11 Aug 2014) $
3838 */
3939
4040 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
@@ -53,7 +53,7 @@
5454 #define GLAPI extern
5555 #endif
5656
57 -#define GL_GLEXT_VERSION 20140417
 57+#define GL_GLEXT_VERSION 20140810
5858
5959 /* Generated C header for:
6060 * API: gl
@@ -1308,11 +1308,13 @@
13091309 #define GL_UNIFORM_BUFFER_START 0x8A29
13101310 #define GL_UNIFORM_BUFFER_SIZE 0x8A2A
13111311 #define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
 1312+#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
13121313 #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
13131314 #define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
13141315 #define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
13151316 #define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
13161317 #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
 1318+#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
13171319 #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
13181320 #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
13191321 #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
@@ -1331,6 +1333,7 @@
13321334 #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
13331335 #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
13341336 #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
 1337+#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
13351338 #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
13361339 #define GL_INVALID_INDEX 0xFFFFFFFFu
13371340 typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
@@ -2212,6 +2215,7 @@
22132216 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED
22142217 #define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
22152218 #define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
 2219+#define GL_COMPUTE_SHADER_BIT 0x00000020
22162220 #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
22172221 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
22182222 #define GL_DEBUG_CALLBACK_FUNCTION 0x8244
@@ -2571,10 +2575,279 @@
25722576 #endif
25732577 #endif /* GL_VERSION_4_4 */
25742578
 2579+#ifndef GL_VERSION_4_5
 2580+#define GL_VERSION_4_5 1
 2581+#define GL_CONTEXT_LOST 0x0507
 2582+#define GL_NEGATIVE_ONE_TO_ONE 0x935E
 2583+#define GL_ZERO_TO_ONE 0x935F
 2584+#define GL_CLIP_ORIGIN 0x935C
 2585+#define GL_CLIP_DEPTH_MODE 0x935D
 2586+#define GL_QUERY_WAIT_INVERTED 0x8E17
 2587+#define GL_QUERY_NO_WAIT_INVERTED 0x8E18
 2588+#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19
 2589+#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A
 2590+#define GL_MAX_CULL_DISTANCES 0x82F9
 2591+#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA
 2592+#define GL_TEXTURE_TARGET 0x1006
 2593+#define GL_QUERY_TARGET 0x82EA
 2594+#define GL_TEXTURE_BINDING 0x82EB
 2595+#define GL_GUILTY_CONTEXT_RESET 0x8253
 2596+#define GL_INNOCENT_CONTEXT_RESET 0x8254
 2597+#define GL_UNKNOWN_CONTEXT_RESET 0x8255
 2598+#define GL_RESET_NOTIFICATION_STRATEGY 0x8256
 2599+#define GL_LOSE_CONTEXT_ON_RESET 0x8252
 2600+#define GL_NO_RESET_NOTIFICATION 0x8261
 2601+#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004
 2602+#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB
 2603+#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC
 2604+typedef void (APIENTRYP PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth);
 2605+typedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
 2606+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) (GLuint xfb, GLuint index, GLuint buffer);
 2607+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size);
 2608+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC) (GLuint xfb, GLenum pname, GLint *param);
 2609+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint *param);
 2610+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
 2611+typedef void (APIENTRYP PFNGLCREATEBUFFERSPROC) (GLsizei n, GLuint *buffers);
 2612+typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC) (GLuint buffer, GLsizei size, const void *data, GLbitfield flags);
 2613+typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC) (GLuint buffer, GLsizei size, const void *data, GLenum usage);
 2614+typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizei size, const void *data);
 2615+typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size);
 2616+typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
 2617+typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data);
 2618+typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERPROC) (GLuint buffer, GLenum access);
 2619+typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access);
 2620+typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC) (GLuint buffer);
 2621+typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizei length);
 2622+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC) (GLuint buffer, GLenum pname, GLint *params);
 2623+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) (GLuint buffer, GLenum pname, GLint64 *params);
 2624+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC) (GLuint buffer, GLenum pname, void **params);
 2625+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizei size, void *data);
 2626+typedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
 2627+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 2628+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) (GLuint framebuffer, GLenum pname, GLint param);
 2629+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 2630+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
 2631+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) (GLuint framebuffer, GLenum buf);
 2632+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);
 2633+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) (GLuint framebuffer, GLenum src);
 2634+typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments);
 2635+typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
 2636+typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
 2637+typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
 2638+typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
 2639+typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
 2640+typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 2641+typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target);
 2642+typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint *param);
 2643+typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
 2644+typedef void (APIENTRYP PFNGLCREATERENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
 2645+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
 2646+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 2647+typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) (GLuint renderbuffer, GLenum pname, GLint *params);
 2648+typedef void (APIENTRYP PFNGLCREATETEXTURESPROC) (GLenum target, GLsizei n, GLuint *textures);
 2649+typedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC) (GLuint texture, GLenum internalformat, GLuint buffer);
 2650+typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size);
 2651+typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
 2652+typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 2653+typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 2654+typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 2655+typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 2656+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 2657+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
 2658+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
 2659+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
 2660+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
 2661+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
 2662+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 2663+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 2664+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 2665+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFPROC) (GLuint texture, GLenum pname, GLfloat param);
 2666+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, const GLfloat *param);
 2667+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIPROC) (GLuint texture, GLenum pname, GLint param);
 2668+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, const GLint *params);
 2669+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, const GLuint *params);
 2670+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, const GLint *param);
 2671+typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC) (GLuint texture);
 2672+typedef void (APIENTRYP PFNGLBINDTEXTUREUNITPROC) (GLuint unit, GLuint texture);
 2673+typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 2674+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLsizei bufSize, void *pixels);
 2675+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC) (GLuint texture, GLint level, GLenum pname, GLfloat *params);
 2676+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC) (GLuint texture, GLint level, GLenum pname, GLint *params);
 2677+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, GLfloat *params);
 2678+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, GLint *params);
 2679+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, GLuint *params);
 2680+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, GLint *params);
 2681+typedef void (APIENTRYP PFNGLCREATEVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
 2682+typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index);
 2683+typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index);
 2684+typedef void (APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC) (GLuint vaobj, GLuint buffer);
 2685+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
 2686+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC) (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);
 2687+typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex);
 2688+typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
 2689+typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 2690+typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 2691+typedef void (APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor);
 2692+typedef void (APIENTRYP PFNGLGETVERTEXARRAYIVPROC) (GLuint vaobj, GLenum pname, GLint *param);
 2693+typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint *param);
 2694+typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param);
 2695+typedef void (APIENTRYP PFNGLCREATESAMPLERSPROC) (GLsizei n, GLuint *samplers);
 2696+typedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
 2697+typedef void (APIENTRYP PFNGLCREATEQUERIESPROC) (GLenum target, GLsizei n, GLuint *ids);
 2698+typedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers);
 2699+typedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 2700+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);
 2701+typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC) (void);
 2702+typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLsizei bufSize, void *pixels);
 2703+typedef void (APIENTRYP PFNGLGETNTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 2704+typedef void (APIENTRYP PFNGLGETNUNIFORMDVPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
 2705+typedef void (APIENTRYP PFNGLGETNUNIFORMFVPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
 2706+typedef void (APIENTRYP PFNGLGETNUNIFORMIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
 2707+typedef void (APIENTRYP PFNGLGETNUNIFORMUIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
 2708+typedef void (APIENTRYP PFNGLREADNPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
 2709+typedef void (APIENTRYP PFNGLGETNMAPDVPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
 2710+typedef void (APIENTRYP PFNGLGETNMAPFVPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
 2711+typedef void (APIENTRYP PFNGLGETNMAPIVPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
 2712+typedef void (APIENTRYP PFNGLGETNPIXELMAPFVPROC) (GLenum map, GLsizei bufSize, GLfloat *values);
 2713+typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVPROC) (GLenum map, GLsizei bufSize, GLuint *values);
 2714+typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVPROC) (GLenum map, GLsizei bufSize, GLushort *values);
 2715+typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEPROC) (GLsizei bufSize, GLubyte *pattern);
 2716+typedef void (APIENTRYP PFNGLGETNCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);
 2717+typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);
 2718+typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span);
 2719+typedef void (APIENTRYP PFNGLGETNHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);
 2720+typedef void (APIENTRYP PFNGLGETNMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);
 2721+typedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC) (void);
 2722+#ifdef GL_GLEXT_PROTOTYPES
 2723+GLAPI void APIENTRY glClipControl (GLenum origin, GLenum depth);
 2724+GLAPI void APIENTRY glCreateTransformFeedbacks (GLsizei n, GLuint *ids);
 2725+GLAPI void APIENTRY glTransformFeedbackBufferBase (GLuint xfb, GLuint index, GLuint buffer);
 2726+GLAPI void APIENTRY glTransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size);
 2727+GLAPI void APIENTRY glGetTransformFeedbackiv (GLuint xfb, GLenum pname, GLint *param);
 2728+GLAPI void APIENTRY glGetTransformFeedbacki_v (GLuint xfb, GLenum pname, GLuint index, GLint *param);
 2729+GLAPI void APIENTRY glGetTransformFeedbacki64_v (GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
 2730+GLAPI void APIENTRY glCreateBuffers (GLsizei n, GLuint *buffers);
 2731+GLAPI void APIENTRY glNamedBufferStorage (GLuint buffer, GLsizei size, const void *data, GLbitfield flags);
 2732+GLAPI void APIENTRY glNamedBufferData (GLuint buffer, GLsizei size, const void *data, GLenum usage);
 2733+GLAPI void APIENTRY glNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizei size, const void *data);
 2734+GLAPI void APIENTRY glCopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size);
 2735+GLAPI void APIENTRY glClearNamedBufferData (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
 2736+GLAPI void APIENTRY glClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data);
 2737+GLAPI void *APIENTRY glMapNamedBuffer (GLuint buffer, GLenum access);
 2738+GLAPI void *APIENTRY glMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access);
 2739+GLAPI GLboolean APIENTRY glUnmapNamedBuffer (GLuint buffer);
 2740+GLAPI void APIENTRY glFlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizei length);
 2741+GLAPI void APIENTRY glGetNamedBufferParameteriv (GLuint buffer, GLenum pname, GLint *params);
 2742+GLAPI void APIENTRY glGetNamedBufferParameteri64v (GLuint buffer, GLenum pname, GLint64 *params);
 2743+GLAPI void APIENTRY glGetNamedBufferPointerv (GLuint buffer, GLenum pname, void **params);
 2744+GLAPI void APIENTRY glGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizei size, void *data);
 2745+GLAPI void APIENTRY glCreateFramebuffers (GLsizei n, GLuint *framebuffers);
 2746+GLAPI void APIENTRY glNamedFramebufferRenderbuffer (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 2747+GLAPI void APIENTRY glNamedFramebufferParameteri (GLuint framebuffer, GLenum pname, GLint param);
 2748+GLAPI void APIENTRY glNamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 2749+GLAPI void APIENTRY glNamedFramebufferTextureLayer (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
 2750+GLAPI void APIENTRY glNamedFramebufferDrawBuffer (GLuint framebuffer, GLenum buf);
 2751+GLAPI void APIENTRY glNamedFramebufferDrawBuffers (GLuint framebuffer, GLsizei n, const GLenum *bufs);
 2752+GLAPI void APIENTRY glNamedFramebufferReadBuffer (GLuint framebuffer, GLenum src);
 2753+GLAPI void APIENTRY glInvalidateNamedFramebufferData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments);
 2754+GLAPI void APIENTRY glInvalidateNamedFramebufferSubData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
 2755+GLAPI void APIENTRY glClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
 2756+GLAPI void APIENTRY glClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
 2757+GLAPI void APIENTRY glClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
 2758+GLAPI void APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
 2759+GLAPI void APIENTRY glBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 2760+GLAPI GLenum APIENTRY glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target);
 2761+GLAPI void APIENTRY glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param);
 2762+GLAPI void APIENTRY glGetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
 2763+GLAPI void APIENTRY glCreateRenderbuffers (GLsizei n, GLuint *renderbuffers);
 2764+GLAPI void APIENTRY glNamedRenderbufferStorage (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
 2765+GLAPI void APIENTRY glNamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 2766+GLAPI void APIENTRY glGetNamedRenderbufferParameteriv (GLuint renderbuffer, GLenum pname, GLint *params);
 2767+GLAPI void APIENTRY glCreateTextures (GLenum target, GLsizei n, GLuint *textures);
 2768+GLAPI void APIENTRY glTextureBuffer (GLuint texture, GLenum internalformat, GLuint buffer);
 2769+GLAPI void APIENTRY glTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size);
 2770+GLAPI void APIENTRY glTextureStorage1D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
 2771+GLAPI void APIENTRY glTextureStorage2D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 2772+GLAPI void APIENTRY glTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 2773+GLAPI void APIENTRY glTextureStorage2DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 2774+GLAPI void APIENTRY glTextureStorage3DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 2775+GLAPI void APIENTRY glTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 2776+GLAPI void APIENTRY glTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
 2777+GLAPI void APIENTRY glTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
 2778+GLAPI void APIENTRY glCompressedTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
 2779+GLAPI void APIENTRY glCompressedTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
 2780+GLAPI void APIENTRY glCompressedTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
 2781+GLAPI void APIENTRY glCopyTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 2782+GLAPI void APIENTRY glCopyTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 2783+GLAPI void APIENTRY glCopyTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 2784+GLAPI void APIENTRY glTextureParameterf (GLuint texture, GLenum pname, GLfloat param);
 2785+GLAPI void APIENTRY glTextureParameterfv (GLuint texture, GLenum pname, const GLfloat *param);
 2786+GLAPI void APIENTRY glTextureParameteri (GLuint texture, GLenum pname, GLint param);
 2787+GLAPI void APIENTRY glTextureParameterIiv (GLuint texture, GLenum pname, const GLint *params);
 2788+GLAPI void APIENTRY glTextureParameterIuiv (GLuint texture, GLenum pname, const GLuint *params);
 2789+GLAPI void APIENTRY glTextureParameteriv (GLuint texture, GLenum pname, const GLint *param);
 2790+GLAPI void APIENTRY glGenerateTextureMipmap (GLuint texture);
 2791+GLAPI void APIENTRY glBindTextureUnit (GLuint unit, GLuint texture);
 2792+GLAPI void APIENTRY glGetTextureImage (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 2793+GLAPI void APIENTRY glGetCompressedTextureImage (GLuint texture, GLint level, GLsizei bufSize, void *pixels);
 2794+GLAPI void APIENTRY glGetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat *params);
 2795+GLAPI void APIENTRY glGetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint *params);
 2796+GLAPI void APIENTRY glGetTextureParameterfv (GLuint texture, GLenum pname, GLfloat *params);
 2797+GLAPI void APIENTRY glGetTextureParameterIiv (GLuint texture, GLenum pname, GLint *params);
 2798+GLAPI void APIENTRY glGetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint *params);
 2799+GLAPI void APIENTRY glGetTextureParameteriv (GLuint texture, GLenum pname, GLint *params);
 2800+GLAPI void APIENTRY glCreateVertexArrays (GLsizei n, GLuint *arrays);
 2801+GLAPI void APIENTRY glDisableVertexArrayAttrib (GLuint vaobj, GLuint index);
 2802+GLAPI void APIENTRY glEnableVertexArrayAttrib (GLuint vaobj, GLuint index);
 2803+GLAPI void APIENTRY glVertexArrayElementBuffer (GLuint vaobj, GLuint buffer);
 2804+GLAPI void APIENTRY glVertexArrayVertexBuffer (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
 2805+GLAPI void APIENTRY glVertexArrayVertexBuffers (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);
 2806+GLAPI void APIENTRY glVertexArrayAttribBinding (GLuint vaobj, GLuint attribindex, GLuint bindingindex);
 2807+GLAPI void APIENTRY glVertexArrayAttribFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
 2808+GLAPI void APIENTRY glVertexArrayAttribIFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 2809+GLAPI void APIENTRY glVertexArrayAttribLFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 2810+GLAPI void APIENTRY glVertexArrayBindingDivisor (GLuint vaobj, GLuint bindingindex, GLuint divisor);
 2811+GLAPI void APIENTRY glGetVertexArrayiv (GLuint vaobj, GLenum pname, GLint *param);
 2812+GLAPI void APIENTRY glGetVertexArrayIndexediv (GLuint vaobj, GLuint index, GLenum pname, GLint *param);
 2813+GLAPI void APIENTRY glGetVertexArrayIndexed64iv (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param);
 2814+GLAPI void APIENTRY glCreateSamplers (GLsizei n, GLuint *samplers);
 2815+GLAPI void APIENTRY glCreateProgramPipelines (GLsizei n, GLuint *pipelines);
 2816+GLAPI void APIENTRY glCreateQueries (GLenum target, GLsizei n, GLuint *ids);
 2817+GLAPI void APIENTRY glMemoryBarrierByRegion (GLbitfield barriers);
 2818+GLAPI void APIENTRY glGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 2819+GLAPI void APIENTRY glGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);
 2820+GLAPI GLenum APIENTRY glGetGraphicsResetStatus (void);
 2821+GLAPI void APIENTRY glGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, void *pixels);
 2822+GLAPI void APIENTRY glGetnTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 2823+GLAPI void APIENTRY glGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
 2824+GLAPI void APIENTRY glGetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
 2825+GLAPI void APIENTRY glGetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint *params);
 2826+GLAPI void APIENTRY glGetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
 2827+GLAPI void APIENTRY glReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
 2828+GLAPI void APIENTRY glGetnMapdv (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
 2829+GLAPI void APIENTRY glGetnMapfv (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
 2830+GLAPI void APIENTRY glGetnMapiv (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
 2831+GLAPI void APIENTRY glGetnPixelMapfv (GLenum map, GLsizei bufSize, GLfloat *values);
 2832+GLAPI void APIENTRY glGetnPixelMapuiv (GLenum map, GLsizei bufSize, GLuint *values);
 2833+GLAPI void APIENTRY glGetnPixelMapusv (GLenum map, GLsizei bufSize, GLushort *values);
 2834+GLAPI void APIENTRY glGetnPolygonStipple (GLsizei bufSize, GLubyte *pattern);
 2835+GLAPI void APIENTRY glGetnColorTable (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);
 2836+GLAPI void APIENTRY glGetnConvolutionFilter (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);
 2837+GLAPI void APIENTRY glGetnSeparableFilter (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span);
 2838+GLAPI void APIENTRY glGetnHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);
 2839+GLAPI void APIENTRY glGetnMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);
 2840+GLAPI void APIENTRY glTextureBarrier (void);
 2841+#endif
 2842+#endif /* GL_VERSION_4_5 */
 2843+
25752844 #ifndef GL_ARB_ES2_compatibility
25762845 #define GL_ARB_ES2_compatibility 1
25772846 #endif /* GL_ARB_ES2_compatibility */
25782847
 2848+#ifndef GL_ARB_ES3_1_compatibility
 2849+#define GL_ARB_ES3_1_compatibility 1
 2850+#endif /* GL_ARB_ES3_1_compatibility */
 2851+
25792852 #ifndef GL_ARB_ES3_compatibility
25802853 #define GL_ARB_ES3_compatibility 1
25812854 #endif /* GL_ARB_ES3_compatibility */
@@ -2655,6 +2928,10 @@
26562929 #define GL_ARB_clear_texture 1
26572930 #endif /* GL_ARB_clear_texture */
26582931
 2932+#ifndef GL_ARB_clip_control
 2933+#define GL_ARB_clip_control 1
 2934+#endif /* GL_ARB_clip_control */
 2935+
26592936 #ifndef GL_ARB_color_buffer_float
26602937 #define GL_ARB_color_buffer_float 1
26612938 #define GL_RGBA_FLOAT_MODE_ARB 0x8820
@@ -2678,7 +2955,6 @@
26792956
26802957 #ifndef GL_ARB_compute_shader
26812958 #define GL_ARB_compute_shader 1
2682 -#define GL_COMPUTE_SHADER_BIT 0x00000020
26832959 #endif /* GL_ARB_compute_shader */
26842960
26852961 #ifndef GL_ARB_compute_variable_group_size
@@ -2693,6 +2969,10 @@
26942970 #endif
26952971 #endif /* GL_ARB_compute_variable_group_size */
26962972
 2973+#ifndef GL_ARB_conditional_render_inverted
 2974+#define GL_ARB_conditional_render_inverted 1
 2975+#endif /* GL_ARB_conditional_render_inverted */
 2976+
26972977 #ifndef GL_ARB_conservative_depth
26982978 #define GL_ARB_conservative_depth 1
26992979 #endif /* GL_ARB_conservative_depth */
@@ -2707,6 +2987,10 @@
27082988 #define GL_ARB_copy_image 1
27092989 #endif /* GL_ARB_copy_image */
27102990
 2991+#ifndef GL_ARB_cull_distance
 2992+#define GL_ARB_cull_distance 1
 2993+#endif /* GL_ARB_cull_distance */
 2994+
27112995 #ifndef GL_ARB_debug_output
27122996 #define GL_ARB_debug_output 1
27132997 typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
@@ -2761,6 +3045,14 @@
27623046 #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
27633047 #endif /* GL_ARB_depth_texture */
27643048
 3049+#ifndef GL_ARB_derivative_control
 3050+#define GL_ARB_derivative_control 1
 3051+#endif /* GL_ARB_derivative_control */
 3052+
 3053+#ifndef GL_ARB_direct_state_access
 3054+#define GL_ARB_direct_state_access 1
 3055+#endif /* GL_ARB_direct_state_access */
 3056+
27653057 #ifndef GL_ARB_draw_buffers
27663058 #define GL_ARB_draw_buffers 1
27673059 #define GL_MAX_DRAW_BUFFERS_ARB 0x8824
@@ -3019,6 +3311,10 @@
30203312 #define GL_ARB_get_program_binary 1
30213313 #endif /* GL_ARB_get_program_binary */
30223314
 3315+#ifndef GL_ARB_get_texture_sub_image
 3316+#define GL_ARB_get_texture_sub_image 1
 3317+#endif /* GL_ARB_get_texture_sub_image */
 3318+
30233319 #ifndef GL_ARB_gpu_shader5
30243320 #define GL_ARB_gpu_shader5 1
30253321 #endif /* GL_ARB_gpu_shader5 */
@@ -3406,6 +3702,20 @@
34073703 #define GL_ARB_occlusion_query2 1
34083704 #endif /* GL_ARB_occlusion_query2 */
34093705
 3706+#ifndef GL_ARB_pipeline_statistics_query
 3707+#define GL_ARB_pipeline_statistics_query 1
 3708+#define GL_VERTICES_SUBMITTED_ARB 0x82EE
 3709+#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF
 3710+#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0
 3711+#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1
 3712+#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2
 3713+#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3
 3714+#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4
 3715+#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5
 3716+#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6
 3717+#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7
 3718+#endif /* GL_ARB_pipeline_statistics_query */
 3719+
34103720 #ifndef GL_ARB_pixel_buffer_object
34113721 #define GL_ARB_pixel_buffer_object 1
34123722 #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
@@ -3697,6 +4007,10 @@
36984008 #define GL_ARB_shader_subroutine 1
36994009 #endif /* GL_ARB_shader_subroutine */
37004010
 4011+#ifndef GL_ARB_shader_texture_image_samples
 4012+#define GL_ARB_shader_texture_image_samples 1
 4013+#endif /* GL_ARB_shader_texture_image_samples */
 4014+
37014015 #ifndef GL_ARB_shader_texture_lod
37024016 #define GL_ARB_shader_texture_lod 1
37034017 #endif /* GL_ARB_shader_texture_lod */
@@ -3747,6 +4061,20 @@
37484062 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
37494063 #endif /* GL_ARB_shadow_ambient */
37504064
 4065+#ifndef GL_ARB_sparse_buffer
 4066+#define GL_ARB_sparse_buffer 1
 4067+#define GL_SPARSE_STORAGE_BIT_ARB 0x0400
 4068+#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8
 4069+typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC) (GLenum target, GLintptr offset, GLsizei size, GLboolean commit);
 4070+typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC) (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
 4071+typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC) (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
 4072+#ifdef GL_GLEXT_PROTOTYPES
 4073+GLAPI void APIENTRY glBufferPageCommitmentARB (GLenum target, GLintptr offset, GLsizei size, GLboolean commit);
 4074+GLAPI void APIENTRY glNamedBufferPageCommitmentEXT (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
 4075+GLAPI void APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
 4076+#endif
 4077+#endif /* GL_ARB_sparse_buffer */
 4078+
37514079 #ifndef GL_ARB_sparse_texture
37524080 #define GL_ARB_sparse_texture 1
37534081 #define GL_TEXTURE_SPARSE_ARB 0x91A6
@@ -3778,6 +4106,10 @@
37794107 #define GL_ARB_tessellation_shader 1
37804108 #endif /* GL_ARB_tessellation_shader */
37814109
 4110+#ifndef GL_ARB_texture_barrier
 4111+#define GL_ARB_texture_barrier 1
 4112+#endif /* GL_ARB_texture_barrier */
 4113+
37824114 #ifndef GL_ARB_texture_border_clamp
37834115 #define GL_ARB_texture_border_clamp 1
37844116 #define GL_CLAMP_TO_BORDER_ARB 0x812D
@@ -4024,6 +4356,12 @@
40254357 #define GL_ARB_transform_feedback_instanced 1
40264358 #endif /* GL_ARB_transform_feedback_instanced */
40274359
 4360+#ifndef GL_ARB_transform_feedback_overflow_query
 4361+#define GL_ARB_transform_feedback_overflow_query 1
 4362+#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC
 4363+#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED
 4364+#endif /* GL_ARB_transform_feedback_overflow_query */
 4365+
40284366 #ifndef GL_ARB_transpose_matrix
40294367 #define GL_ARB_transpose_matrix 1
40304368 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
@@ -4044,9 +4382,6 @@
40454383
40464384 #ifndef GL_ARB_uniform_buffer_object
40474385 #define GL_ARB_uniform_buffer_object 1
4048 -#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
4049 -#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
4050 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
40514386 #endif /* GL_ARB_uniform_buffer_object */
40524387
40534388 #ifndef GL_ARB_vertex_array_bgra
@@ -4371,10 +4706,51 @@
43724707 #endif
43734708 #endif /* GL_ARB_window_pos */
43744709
 4710+#ifndef GL_KHR_blend_equation_advanced
 4711+#define GL_KHR_blend_equation_advanced 1
 4712+#define GL_MULTIPLY_KHR 0x9294
 4713+#define GL_SCREEN_KHR 0x9295
 4714+#define GL_OVERLAY_KHR 0x9296
 4715+#define GL_DARKEN_KHR 0x9297
 4716+#define GL_LIGHTEN_KHR 0x9298
 4717+#define GL_COLORDODGE_KHR 0x9299
 4718+#define GL_COLORBURN_KHR 0x929A
 4719+#define GL_HARDLIGHT_KHR 0x929B
 4720+#define GL_SOFTLIGHT_KHR 0x929C
 4721+#define GL_DIFFERENCE_KHR 0x929E
 4722+#define GL_EXCLUSION_KHR 0x92A0
 4723+#define GL_HSL_HUE_KHR 0x92AD
 4724+#define GL_HSL_SATURATION_KHR 0x92AE
 4725+#define GL_HSL_COLOR_KHR 0x92AF
 4726+#define GL_HSL_LUMINOSITY_KHR 0x92B0
 4727+typedef void (APIENTRYP PFNGLBLENDBARRIERKHRPROC) (void);
 4728+#ifdef GL_GLEXT_PROTOTYPES
 4729+GLAPI void APIENTRY glBlendBarrierKHR (void);
 4730+#endif
 4731+#endif /* GL_KHR_blend_equation_advanced */
 4732+
 4733+#ifndef GL_KHR_blend_equation_advanced_coherent
 4734+#define GL_KHR_blend_equation_advanced_coherent 1
 4735+#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
 4736+#endif /* GL_KHR_blend_equation_advanced_coherent */
 4737+
 4738+#ifndef GL_KHR_context_flush_control
 4739+#define GL_KHR_context_flush_control 1
 4740+#endif /* GL_KHR_context_flush_control */
 4741+
43754742 #ifndef GL_KHR_debug
43764743 #define GL_KHR_debug 1
43774744 #endif /* GL_KHR_debug */
43784745
 4746+#ifndef GL_KHR_robust_buffer_access_behavior
 4747+#define GL_KHR_robust_buffer_access_behavior 1
 4748+#endif /* GL_KHR_robust_buffer_access_behavior */
 4749+
 4750+#ifndef GL_KHR_robustness
 4751+#define GL_KHR_robustness 1
 4752+#define GL_CONTEXT_ROBUST_ACCESS 0x90F3
 4753+#endif /* GL_KHR_robustness */
 4754+
43794755 #ifndef GL_KHR_texture_compression_astc_hdr
43804756 #define GL_KHR_texture_compression_astc_hdr 1
43814757 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
@@ -4429,11 +4805,11 @@
44304806 typedef void (APIENTRYP PFNGLTEXCOORD3BVOESPROC) (const GLbyte *coords);
44314807 typedef void (APIENTRYP PFNGLTEXCOORD4BOESPROC) (GLbyte s, GLbyte t, GLbyte r, GLbyte q);
44324808 typedef void (APIENTRYP PFNGLTEXCOORD4BVOESPROC) (const GLbyte *coords);
4433 -typedef void (APIENTRYP PFNGLVERTEX2BOESPROC) (GLbyte x);
 4809+typedef void (APIENTRYP PFNGLVERTEX2BOESPROC) (GLbyte x, GLbyte y);
44344810 typedef void (APIENTRYP PFNGLVERTEX2BVOESPROC) (const GLbyte *coords);
4435 -typedef void (APIENTRYP PFNGLVERTEX3BOESPROC) (GLbyte x, GLbyte y);
 4811+typedef void (APIENTRYP PFNGLVERTEX3BOESPROC) (GLbyte x, GLbyte y, GLbyte z);
44364812 typedef void (APIENTRYP PFNGLVERTEX3BVOESPROC) (const GLbyte *coords);
4437 -typedef void (APIENTRYP PFNGLVERTEX4BOESPROC) (GLbyte x, GLbyte y, GLbyte z);
 4813+typedef void (APIENTRYP PFNGLVERTEX4BOESPROC) (GLbyte x, GLbyte y, GLbyte z, GLbyte w);
44384814 typedef void (APIENTRYP PFNGLVERTEX4BVOESPROC) (const GLbyte *coords);
44394815 #ifdef GL_GLEXT_PROTOTYPES
44404816 GLAPI void APIENTRY glMultiTexCoord1bOES (GLenum texture, GLbyte s);
@@ -4452,11 +4828,11 @@
44534829 GLAPI void APIENTRY glTexCoord3bvOES (const GLbyte *coords);
44544830 GLAPI void APIENTRY glTexCoord4bOES (GLbyte s, GLbyte t, GLbyte r, GLbyte q);
44554831 GLAPI void APIENTRY glTexCoord4bvOES (const GLbyte *coords);
4456 -GLAPI void APIENTRY glVertex2bOES (GLbyte x);
 4832+GLAPI void APIENTRY glVertex2bOES (GLbyte x, GLbyte y);
44574833 GLAPI void APIENTRY glVertex2bvOES (const GLbyte *coords);
4458 -GLAPI void APIENTRY glVertex3bOES (GLbyte x, GLbyte y);
 4834+GLAPI void APIENTRY glVertex3bOES (GLbyte x, GLbyte y, GLbyte z);
44594835 GLAPI void APIENTRY glVertex3bvOES (const GLbyte *coords);
4460 -GLAPI void APIENTRY glVertex4bOES (GLbyte x, GLbyte y, GLbyte z);
 4836+GLAPI void APIENTRY glVertex4bOES (GLbyte x, GLbyte y, GLbyte z, GLbyte w);
44614837 GLAPI void APIENTRY glVertex4bvOES (const GLbyte *coords);
44624838 #endif
44634839 #endif /* GL_OES_byte_coordinates */
@@ -7387,6 +7763,10 @@
73887764 #define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
73897765 #define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
73907766 #define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
 7767+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 7768+#ifdef GL_GLEXT_PROTOTYPES
 7769+GLAPI void APIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 7770+#endif
73917771 #endif /* GL_EXT_texture_array */
73927772
73937773 #ifndef GL_EXT_texture_buffer_object
@@ -8402,6 +8782,16 @@
84038783 #endif
84048784 #endif /* GL_NV_bindless_multi_draw_indirect */
84058785
 8786+#ifndef GL_NV_bindless_multi_draw_indirect_count
 8787+#define GL_NV_bindless_multi_draw_indirect_count 1
 8788+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
 8789+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
 8790+#ifdef GL_GLEXT_PROTOTYPES
 8791+GLAPI void APIENTRY glMultiDrawArraysIndirectBindlessCountNV (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
 8792+GLAPI void APIENTRY glMultiDrawElementsIndirectBindlessCountNV (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
 8793+#endif
 8794+#endif /* GL_NV_bindless_multi_draw_indirect_count */
 8795+
84068796 #ifndef GL_NV_bindless_texture
84078797 #define GL_NV_bindless_texture 1
84088798 typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture);
@@ -8750,12 +9140,10 @@
87519141 #define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28
87529142 typedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);
87539143 typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
8754 -typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
87559144 typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
87569145 #ifdef GL_GLEXT_PROTOTYPES
87579146 GLAPI void APIENTRY glProgramVertexLimitNV (GLenum target, GLint limit);
87589147 GLAPI void APIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);
8759 -GLAPI void APIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
87609148 GLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
87619149 #endif
87629150 #endif /* GL_NV_geometry_program4 */
@@ -9134,6 +9522,40 @@
91359523 #define GL_FONT_HAS_KERNING_BIT_NV 0x10000000
91369524 #define GL_PRIMARY_COLOR_NV 0x852C
91379525 #define GL_SECONDARY_COLOR_NV 0x852D
 9526+#define GL_ROUNDED_RECT_NV 0xE8
 9527+#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9
 9528+#define GL_ROUNDED_RECT2_NV 0xEA
 9529+#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB
 9530+#define GL_ROUNDED_RECT4_NV 0xEC
 9531+#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED
 9532+#define GL_ROUNDED_RECT8_NV 0xEE
 9533+#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF
 9534+#define GL_RELATIVE_RECT_NV 0xF7
 9535+#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368
 9536+#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369
 9537+#define GL_FONT_UNAVAILABLE_NV 0x936A
 9538+#define GL_FONT_UNINTELLIGIBLE_NV 0x936B
 9539+#define GL_CONIC_CURVE_TO_NV 0x1A
 9540+#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B
 9541+#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000
 9542+#define GL_STANDARD_FONT_FORMAT_NV 0x936C
 9543+#define GL_2_BYTES_NV 0x1407
 9544+#define GL_3_BYTES_NV 0x1408
 9545+#define GL_4_BYTES_NV 0x1409
 9546+#define GL_EYE_LINEAR_NV 0x2400
 9547+#define GL_OBJECT_LINEAR_NV 0x2401
 9548+#define GL_CONSTANT_NV 0x8576
 9549+#define GL_PATH_PROJECTION_NV 0x1701
 9550+#define GL_PATH_MODELVIEW_NV 0x1700
 9551+#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3
 9552+#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6
 9553+#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36
 9554+#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3
 9555+#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4
 9556+#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7
 9557+#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38
 9558+#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4
 9559+#define GL_FRAGMENT_INPUT_NV 0x936D
91389560 typedef GLuint (APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range);
91399561 typedef void (APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range);
91409562 typedef GLboolean (APIENTRYP PFNGLISPATHNVPROC) (GLuint path);
@@ -9183,6 +9605,21 @@
91849606 typedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y);
91859607 typedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments);
91869608 typedef GLboolean (APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
 9609+typedef void (APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat *m);
 9610+typedef void (APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
 9611+typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
 9612+typedef void (APIENTRYP PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat *m);
 9613+typedef void (APIENTRYP PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
 9614+typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
 9615+typedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
 9616+typedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode);
 9617+typedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
 9618+typedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
 9619+typedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]);
 9620+typedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 9621+typedef GLenum (APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 9622+typedef void (APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
 9623+typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
91879624 #ifdef GL_GLEXT_PROTOTYPES
91889625 GLAPI GLuint APIENTRY glGenPathsNV (GLsizei range);
91899626 GLAPI void APIENTRY glDeletePathsNV (GLuint path, GLsizei range);
@@ -9233,6 +9670,21 @@
92349671 GLAPI GLboolean APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y);
92359672 GLAPI GLfloat APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments);
92369673 GLAPI GLboolean APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
 9674+GLAPI void APIENTRY glMatrixLoad3x2fNV (GLenum matrixMode, const GLfloat *m);
 9675+GLAPI void APIENTRY glMatrixLoad3x3fNV (GLenum matrixMode, const GLfloat *m);
 9676+GLAPI void APIENTRY glMatrixLoadTranspose3x3fNV (GLenum matrixMode, const GLfloat *m);
 9677+GLAPI void APIENTRY glMatrixMult3x2fNV (GLenum matrixMode, const GLfloat *m);
 9678+GLAPI void APIENTRY glMatrixMult3x3fNV (GLenum matrixMode, const GLfloat *m);
 9679+GLAPI void APIENTRY glMatrixMultTranspose3x3fNV (GLenum matrixMode, const GLfloat *m);
 9680+GLAPI void APIENTRY glStencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
 9681+GLAPI void APIENTRY glStencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode);
 9682+GLAPI void APIENTRY glStencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
 9683+GLAPI void APIENTRY glStencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
 9684+GLAPI GLenum APIENTRY glPathGlyphIndexRangeNV (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]);
 9685+GLAPI GLenum APIENTRY glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 9686+GLAPI GLenum APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 9687+GLAPI void APIENTRY glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
 9688+GLAPI void APIENTRY glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
92379689 #endif
92389690 #endif /* GL_NV_path_rendering */
92399691
@@ -9401,6 +9853,10 @@
94029854 #define GL_NV_shader_atomic_float 1
94039855 #endif /* GL_NV_shader_atomic_float */
94049856
 9857+#ifndef GL_NV_shader_atomic_int64
 9858+#define GL_NV_shader_atomic_int64 1
 9859+#endif /* GL_NV_shader_atomic_int64 */
 9860+
94059861 #ifndef GL_NV_shader_buffer_load
94069862 #define GL_NV_shader_buffer_load 1
94079863 #define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D
@@ -9670,7 +10126,7 @@
967110127 #define GL_SKIP_COMPONENTS1_NV -6
967210128 typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);
967310129 typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);
9674 -typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);
 10130+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLenum bufferMode);
967510131 typedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
967610132 typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
967710133 typedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);
@@ -9683,7 +10139,7 @@
968410140 #ifdef GL_GLEXT_PROTOTYPES
968510141 GLAPI void APIENTRY glBeginTransformFeedbackNV (GLenum primitiveMode);
968610142 GLAPI void APIENTRY glEndTransformFeedbackNV (void);
9687 -GLAPI void APIENTRY glTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode);
 10143+GLAPI void APIENTRY glTransformFeedbackAttribsNV (GLsizei count, const GLint *attribs, GLenum bufferMode);
968810144 GLAPI void APIENTRY glBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
968910145 GLAPI void APIENTRY glBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
969010146 GLAPI void APIENTRY glBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer);
Index: ddraw/include/GL/wglext.h
@@ -33,7 +33,7 @@
3434 ** used to make the header, and the header can be found at
3535 ** http://www.opengl.org/registry/
3636 **
37 -** Khronos $Revision: 26290 $ on $Date: 2014-04-16 05:35:38 -0700 (Wed, 16 Apr 2014) $
 37+** Khronos $Revision: 27684 $ on $Date: 2014-08-11 01:21:35 -0700 (Mon, 11 Aug 2014) $
3838 */
3939
4040 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
@@ -41,7 +41,7 @@
4242 #include <windows.h>
4343 #endif
4444
45 -#define WGL_WGLEXT_VERSION 20140416
 45+#define WGL_WGLEXT_VERSION 20140810
4646
4747 /* Generated C header for:
4848 * API: wgl
@@ -70,6 +70,13 @@
7171 #endif
7272 #endif /* WGL_ARB_buffer_region */
7373
 74+#ifndef WGL_ARB_context_flush_control
 75+#define WGL_ARB_context_flush_control 1
 76+#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
 77+#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
 78+#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
 79+#endif /* WGL_ARB_context_flush_control */
 80+
7481 #ifndef WGL_ARB_create_context
7582 #define WGL_ARB_create_context 1
7683 #define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001