[PATCH 1/5] opengl32: Update to the current OpenGL spec.

Matteo Bruni mbruni at codeweavers.com
Tue Apr 21 08:11:17 CDT 2015


It should fix bug 38264.
---
 dlls/opengl32/opengl_ext.c  | 181 ++++++++++++++++++++++++++++++++++++--------
 dlls/opengl32/opengl_norm.c |  58 +++++++++++---
 include/wine/wgl.h          |  56 ++++++++++++--
 include/wine/wgl_driver.h   |  39 +++++++---
 4 files changed, 275 insertions(+), 59 deletions(-)

diff --git a/dlls/opengl32/opengl_ext.c b/dlls/opengl32/opengl_ext.c
index 67ebc59..df00a62 100644
--- a/dlls/opengl32/opengl_ext.c
+++ b/dlls/opengl32/opengl_ext.c
@@ -14,7 +14,7 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(opengl);
 
-const int extension_registry_size = 2516;
+const int extension_registry_size = 2533;
 
 static void WINAPI glAccumxOES( GLenum op, GLfixed value ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
@@ -802,6 +802,12 @@ static void WINAPI glBufferSubDataARB( GLenum target, GLintptrARB offset, GLsize
   funcs->ext.p_glBufferSubDataARB( target, offset, size, data );
 }
 
+static void WINAPI glCallCommandListNV( GLuint list ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d)\n", list );
+  funcs->ext.p_glCallCommandListNV( list );
+}
+
 static GLenum WINAPI glCheckFramebufferStatus( GLenum target ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d)\n", target );
@@ -934,9 +940,9 @@ static void WINAPI glClearNamedBufferDataEXT( GLuint buffer, GLenum internalform
   funcs->ext.p_glClearNamedBufferDataEXT( buffer, internalformat, format, type, data );
 }
 
-static void WINAPI glClearNamedBufferSubData( GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void* data ) {
+static void WINAPI glClearNamedBufferSubData( GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %ld, %d, %d, %d, %p)\n", buffer, internalformat, offset, size, format, type, data );
+  TRACE("(%d, %d, %ld, %ld, %d, %d, %p)\n", buffer, internalformat, offset, size, format, type, data );
   funcs->ext.p_glClearNamedBufferSubData( buffer, internalformat, offset, size, format, type, data );
 }
 
@@ -1300,6 +1306,18 @@ static void WINAPI glCombinerStageParameterfvNV( GLenum stage, GLenum pname, con
   funcs->ext.p_glCombinerStageParameterfvNV( stage, pname, params );
 }
 
+static void WINAPI glCommandListSegmentsNV( GLuint list, GLuint segments ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %d)\n", list, segments );
+  funcs->ext.p_glCommandListSegmentsNV( list, segments );
+}
+
+static void WINAPI glCompileCommandListNV( GLuint list ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d)\n", list );
+  funcs->ext.p_glCompileCommandListNV( list );
+}
+
 static void WINAPI glCompileShader( GLuint shader ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d)\n", shader );
@@ -1660,9 +1678,9 @@ static void WINAPI glCopyMultiTexSubImage3DEXT( GLenum texunit, GLenum target, G
   funcs->ext.p_glCopyMultiTexSubImage3DEXT( texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height );
 }
 
-static void WINAPI glCopyNamedBufferSubData( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size ) {
+static void WINAPI glCopyNamedBufferSubData( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %ld, %ld, %d)\n", readBuffer, writeBuffer, readOffset, writeOffset, size );
+  TRACE("(%d, %d, %ld, %ld, %ld)\n", readBuffer, writeBuffer, readOffset, writeOffset, size );
   funcs->ext.p_glCopyNamedBufferSubData( readBuffer, writeBuffer, readOffset, writeOffset, size );
 }
 
@@ -1798,6 +1816,12 @@ static void WINAPI glCreateBuffers( GLsizei n, GLuint* buffers ) {
   funcs->ext.p_glCreateBuffers( n, buffers );
 }
 
+static void WINAPI glCreateCommandListsNV( GLsizei n, GLuint* lists ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %p)\n", n, lists );
+  funcs->ext.p_glCreateCommandListsNV( n, lists );
+}
+
 static void WINAPI glCreateFramebuffers( GLsizei n, GLuint* framebuffers ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", n, framebuffers );
@@ -1870,6 +1894,12 @@ static GLuint WINAPI glCreateShaderProgramv( GLenum type, GLsizei count, const G
   return funcs->ext.p_glCreateShaderProgramv( type, count, strings );
 }
 
+static void WINAPI glCreateStatesNV( GLsizei n, GLuint* states ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %p)\n", n, states );
+  funcs->ext.p_glCreateStatesNV( n, states );
+}
+
 static GLsync WINAPI glCreateSyncFromCLeventARB( void* context, void* event, GLbitfield flags ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%p, %p, %d)\n", context, event, flags );
@@ -2008,6 +2038,12 @@ static void WINAPI glDeleteBuffersARB( GLsizei n, const GLuint* buffers ) {
   funcs->ext.p_glDeleteBuffersARB( n, buffers );
 }
 
+static void WINAPI glDeleteCommandListsNV( GLsizei n, const GLuint* lists ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %p)\n", n, lists );
+  funcs->ext.p_glDeleteCommandListsNV( n, lists );
+}
+
 static void WINAPI glDeleteFencesAPPLE( GLsizei n, const GLuint* fences ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", n, fences );
@@ -2146,6 +2182,12 @@ static void WINAPI glDeleteShader( GLuint shader ) {
   funcs->ext.p_glDeleteShader( shader );
 }
 
+static void WINAPI glDeleteStatesNV( GLsizei n, const GLuint* states ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %p)\n", n, states );
+  funcs->ext.p_glDeleteStatesNV( n, states );
+}
+
 static void WINAPI glDeleteSync( GLsync sync ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%p)\n", sync );
@@ -2398,6 +2440,30 @@ static void WINAPI glDrawBuffersATI( GLsizei n, const GLenum* bufs ) {
   funcs->ext.p_glDrawBuffersATI( n, bufs );
 }
 
+static void WINAPI glDrawCommandsAddressNV( GLenum primitiveMode, const GLuint64* indirects, const GLsizei* sizes, GLuint count ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %p, %p, %d)\n", primitiveMode, indirects, sizes, count );
+  funcs->ext.p_glDrawCommandsAddressNV( primitiveMode, indirects, sizes, count );
+}
+
+static void WINAPI glDrawCommandsNV( GLenum primitiveMode, GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, GLuint count ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %d, %p, %p, %d)\n", primitiveMode, buffer, indirects, sizes, count );
+  funcs->ext.p_glDrawCommandsNV( primitiveMode, buffer, indirects, sizes, count );
+}
+
+static void WINAPI glDrawCommandsStatesAddressNV( const GLuint64* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%p, %p, %p, %p, %d)\n", indirects, sizes, states, fbos, count );
+  funcs->ext.p_glDrawCommandsStatesAddressNV( indirects, sizes, states, fbos, count );
+}
+
+static void WINAPI glDrawCommandsStatesNV( GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %p, %p, %p, %p, %d)\n", buffer, indirects, sizes, states, fbos, count );
+  funcs->ext.p_glDrawCommandsStatesNV( buffer, indirects, sizes, states, fbos, count );
+}
+
 static void WINAPI glDrawElementArrayAPPLE( GLenum mode, GLint first, GLsizei count ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %d, %d)\n", mode, first, count );
@@ -2818,9 +2884,9 @@ static void WINAPI glFlushMappedBufferRangeAPPLE( GLenum target, GLintptr offset
   funcs->ext.p_glFlushMappedBufferRangeAPPLE( target, offset, size );
 }
 
-static void WINAPI glFlushMappedNamedBufferRange( GLuint buffer, GLintptr offset, GLsizei length ) {
+static void WINAPI glFlushMappedNamedBufferRange( GLuint buffer, GLintptr offset, GLsizeiptr length ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %ld, %d)\n", buffer, offset, length );
+  TRACE("(%d, %ld, %ld)\n", buffer, offset, length );
   funcs->ext.p_glFlushMappedNamedBufferRange( buffer, offset, length );
 }
 
@@ -3664,6 +3730,12 @@ static void WINAPI glGetCombinerStageParameterfvNV( GLenum stage, GLenum pname,
   funcs->ext.p_glGetCombinerStageParameterfvNV( stage, pname, params );
 }
 
+static GLuint WINAPI glGetCommandHeaderNV( GLenum tokenID, GLuint size ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %d)\n", tokenID, size );
+  return funcs->ext.p_glGetCommandHeaderNV( tokenID, size );
+}
+
 static void WINAPI glGetCompressedMultiTexImageEXT( GLenum texunit, GLenum target, GLint lod, void* img ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %d, %d, %p)\n", texunit, target, lod, img );
@@ -4312,9 +4384,9 @@ static void WINAPI glGetNamedBufferPointervEXT( GLuint buffer, GLenum pname, voi
   funcs->ext.p_glGetNamedBufferPointervEXT( buffer, pname, params );
 }
 
-static void WINAPI glGetNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizei size, void* data ) {
+static void WINAPI glGetNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr size, void* data ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %ld, %d, %p)\n", buffer, offset, size, data );
+  TRACE("(%d, %ld, %ld, %p)\n", buffer, offset, size, data );
   funcs->ext.p_glGetNamedBufferSubData( buffer, offset, size, data );
 }
 
@@ -5014,6 +5086,12 @@ static void WINAPI glGetSharpenTexFuncSGIS( GLenum target, GLfloat* points ) {
   funcs->ext.p_glGetSharpenTexFuncSGIS( target, points );
 }
 
+static GLushort WINAPI glGetStageIndexNV( GLenum shadertype ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d)\n", shadertype );
+  return funcs->ext.p_glGetStageIndexNV( shadertype );
+}
+
 const GLubyte* WINAPI glGetStringi( GLenum name, GLuint index ) DECLSPEC_HIDDEN;
 
 static GLuint WINAPI glGetSubroutineIndex( GLuint program, GLenum shadertype, const GLchar* name ) {
@@ -6084,6 +6162,12 @@ static GLboolean WINAPI glIsBufferResidentNV( GLenum target ) {
   return funcs->ext.p_glIsBufferResidentNV( target );
 }
 
+static GLboolean WINAPI glIsCommandListNV( GLuint list ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d)\n", list );
+  return funcs->ext.p_glIsCommandListNV( list );
+}
+
 static GLboolean WINAPI glIsEnabledIndexedEXT( GLenum target, GLuint index ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %d)\n", target, index );
@@ -6240,6 +6324,12 @@ static GLboolean WINAPI glIsShader( GLuint shader ) {
   return funcs->ext.p_glIsShader( shader );
 }
 
+static GLboolean WINAPI glIsStateNV( GLuint state ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d)\n", state );
+  return funcs->ext.p_glIsStateNV( state );
+}
+
 static GLboolean WINAPI glIsSync( GLsync sync ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%p)\n", sync );
@@ -6354,6 +6444,12 @@ static void WINAPI glLinkProgramARB( GLhandleARB programObj ) {
   funcs->ext.p_glLinkProgramARB( programObj );
 }
 
+static void WINAPI glListDrawCommandsStatesClientNV( GLuint list, GLuint segment, const void** indirects, const size_t* sizes, const GLuint* states, const GLuint* fbos, GLuint count ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %d, %p, %p, %p, %p, %d)\n", list, segment, indirects, sizes, states, fbos, count );
+  funcs->ext.p_glListDrawCommandsStatesClientNV( list, segment, indirects, sizes, states, fbos, count );
+}
+
 static void WINAPI glListParameterfSGIX( GLuint list, GLenum pname, GLfloat param ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %d, %f)\n", list, pname, param );
@@ -6576,9 +6672,9 @@ static void* WINAPI glMapNamedBufferEXT( GLuint buffer, GLenum access ) {
   return funcs->ext.p_glMapNamedBufferEXT( buffer, access );
 }
 
-static void* WINAPI glMapNamedBufferRange( GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access ) {
+static void* WINAPI glMapNamedBufferRange( GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %ld, %d, %d)\n", buffer, offset, length, access );
+  TRACE("(%d, %ld, %ld, %d)\n", buffer, offset, length, access );
   return funcs->ext.p_glMapNamedBufferRange( buffer, offset, length, access );
 }
 
@@ -7938,9 +8034,9 @@ static void WINAPI glMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint
   funcs->ext.p_glMultiTexSubImage3DEXT( texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
 }
 
-static void WINAPI glNamedBufferData( GLuint buffer, GLsizei size, const void* data, GLenum usage ) {
+static void WINAPI glNamedBufferData( GLuint buffer, GLsizeiptr size, const void* data, GLenum usage ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %p, %d)\n", buffer, size, data, usage );
+  TRACE("(%d, %ld, %p, %d)\n", buffer, size, data, usage );
   funcs->ext.p_glNamedBufferData( buffer, size, data, usage );
 }
 
@@ -7962,9 +8058,9 @@ static void WINAPI glNamedBufferPageCommitmentEXT( GLuint buffer, GLintptr offse
   funcs->ext.p_glNamedBufferPageCommitmentEXT( buffer, offset, size, commit );
 }
 
-static void WINAPI glNamedBufferStorage( GLuint buffer, GLsizei size, const void* data, GLbitfield flags ) {
+static void WINAPI glNamedBufferStorage( GLuint buffer, GLsizeiptr size, const void* data, GLbitfield flags ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %p, %d)\n", buffer, size, data, flags );
+  TRACE("(%d, %ld, %p, %d)\n", buffer, size, data, flags );
   funcs->ext.p_glNamedBufferStorage( buffer, size, data, flags );
 }
 
@@ -7974,9 +8070,9 @@ static void WINAPI glNamedBufferStorageEXT( GLuint buffer, GLsizeiptr size, cons
   funcs->ext.p_glNamedBufferStorageEXT( buffer, size, data, flags );
 }
 
-static void WINAPI glNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizei size, const void* data ) {
+static void WINAPI glNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %ld, %d, %p)\n", buffer, offset, size, data );
+  TRACE("(%d, %ld, %ld, %p)\n", buffer, offset, size, data );
   funcs->ext.p_glNamedBufferSubData( buffer, offset, size, data );
 }
 
@@ -10668,6 +10764,12 @@ static void WINAPI glStartInstrumentsSGIX( void ) {
   funcs->ext.p_glStartInstrumentsSGIX( );
 }
 
+static void WINAPI glStateCaptureNV( GLuint state, GLenum mode ) {
+  const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+  TRACE("(%d, %d)\n", state, mode );
+  funcs->ext.p_glStateCaptureNV( state, mode );
+}
+
 static void WINAPI glStencilClearTagEXT( GLsizei stencilTagBits, GLuint stencilClearTag ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %d)\n", stencilTagBits, stencilClearTag );
@@ -11304,10 +11406,10 @@ static void WINAPI glTexImage4DSGIS( GLenum target, GLint level, GLenum internal
   funcs->ext.p_glTexImage4DSGIS( target, level, internalformat, width, height, depth, size4d, border, format, type, pixels );
 }
 
-static void WINAPI glTexPageCommitmentARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident ) {
+static void WINAPI glTexPageCommitmentARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", target, level, xoffset, yoffset, zoffset, width, height, depth, resident );
-  funcs->ext.p_glTexPageCommitmentARB( target, level, xoffset, yoffset, zoffset, width, height, depth, resident );
+  TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", target, level, xoffset, yoffset, zoffset, width, height, depth, commit );
+  funcs->ext.p_glTexPageCommitmentARB( target, level, xoffset, yoffset, zoffset, width, height, depth, commit );
 }
 
 static void WINAPI glTexParameterIiv( GLenum target, GLenum pname, const GLint* params ) {
@@ -11442,9 +11544,9 @@ static void WINAPI glTextureBufferEXT( GLuint texture, GLenum target, GLenum int
   funcs->ext.p_glTextureBufferEXT( texture, target, internalformat, buffer );
 }
 
-static void WINAPI glTextureBufferRange( GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size ) {
+static void WINAPI glTextureBufferRange( GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %d, %ld, %d)\n", texture, internalformat, buffer, offset, size );
+  TRACE("(%d, %d, %d, %ld, %ld)\n", texture, internalformat, buffer, offset, size );
   funcs->ext.p_glTextureBufferRange( texture, internalformat, buffer, offset, size );
 }
 
@@ -11520,10 +11622,10 @@ static void WINAPI glTextureNormalEXT( GLenum mode ) {
   funcs->ext.p_glTextureNormalEXT( mode );
 }
 
-static void WINAPI glTexturePageCommitmentEXT( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident ) {
+static void WINAPI glTexturePageCommitmentEXT( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texture, level, xoffset, yoffset, zoffset, width, height, depth, resident );
-  funcs->ext.p_glTexturePageCommitmentEXT( texture, level, xoffset, yoffset, zoffset, width, height, depth, resident );
+  TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texture, level, xoffset, yoffset, zoffset, width, height, depth, commit );
+  funcs->ext.p_glTexturePageCommitmentEXT( texture, level, xoffset, yoffset, zoffset, width, height, depth, commit );
 }
 
 static void WINAPI glTextureParameterIiv( GLuint texture, GLenum pname, const GLint* params ) {
@@ -11736,9 +11838,9 @@ static void WINAPI glTransformFeedbackBufferBase( GLuint xfb, GLuint index, GLui
   funcs->ext.p_glTransformFeedbackBufferBase( xfb, index, buffer );
 }
 
-static void WINAPI glTransformFeedbackBufferRange( GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size ) {
+static void WINAPI glTransformFeedbackBufferRange( GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
-  TRACE("(%d, %d, %d, %ld, %d)\n", xfb, index, buffer, offset, size );
+  TRACE("(%d, %d, %d, %ld, %ld)\n", xfb, index, buffer, offset, size );
   funcs->ext.p_glTransformFeedbackBufferRange( xfb, index, buffer, offset, size );
 }
 
@@ -14982,7 +15084,7 @@ static void WINAPI glWriteMaskEXT( GLuint res, GLuint in, GLenum outX, GLenum ou
   funcs->ext.p_glWriteMaskEXT( res, in, outX, outY, outZ, outW );
 }
 
-const OpenGL_extension extension_registry[2516] = {
+const OpenGL_extension extension_registry[2533] = {
   { "glAccumxOES", "GL_OES_fixed_point", glAccumxOES },
   { "glActiveProgramEXT", "GL_EXT_separate_shader_objects", glActiveProgramEXT },
   { "glActiveShaderProgram", "GL_ARB_separate_shader_objects GL_VERSION_4_1", glActiveShaderProgram },
@@ -15021,12 +15123,12 @@ const OpenGL_extension extension_registry[2516] = {
   { "glBindAttribLocationARB", "GL_ARB_vertex_shader", glBindAttribLocationARB },
   { "glBindBuffer", "GL_VERSION_1_5", glBindBuffer },
   { "glBindBufferARB", "GL_ARB_vertex_buffer_object", glBindBufferARB },
-  { "glBindBufferBase", "GL_VERSION_3_0", glBindBufferBase },
+  { "glBindBufferBase", "GL_ARB_uniform_buffer_object GL_VERSION_3_0", glBindBufferBase },
   { "glBindBufferBaseEXT", "GL_EXT_transform_feedback", glBindBufferBaseEXT },
   { "glBindBufferBaseNV", "GL_NV_transform_feedback", glBindBufferBaseNV },
   { "glBindBufferOffsetEXT", "GL_EXT_transform_feedback", glBindBufferOffsetEXT },
   { "glBindBufferOffsetNV", "GL_NV_transform_feedback", glBindBufferOffsetNV },
-  { "glBindBufferRange", "GL_VERSION_3_0", glBindBufferRange },
+  { "glBindBufferRange", "GL_ARB_uniform_buffer_object GL_VERSION_3_0", glBindBufferRange },
   { "glBindBufferRangeEXT", "GL_EXT_transform_feedback", glBindBufferRangeEXT },
   { "glBindBufferRangeNV", "GL_NV_transform_feedback", glBindBufferRangeNV },
   { "glBindBuffersBase", "GL_ARB_multi_bind GL_VERSION_4_4", glBindBuffersBase },
@@ -15114,6 +15216,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glBufferStorage", "GL_ARB_buffer_storage GL_VERSION_4_4", glBufferStorage },
   { "glBufferSubData", "GL_VERSION_1_5", glBufferSubData },
   { "glBufferSubDataARB", "GL_ARB_vertex_buffer_object", glBufferSubDataARB },
+  { "glCallCommandListNV", "GL_NV_command_list", glCallCommandListNV },
   { "glCheckFramebufferStatus", "GL_ARB_framebuffer_object GL_VERSION_3_0", glCheckFramebufferStatus },
   { "glCheckFramebufferStatusEXT", "GL_EXT_framebuffer_object", glCheckFramebufferStatusEXT },
   { "glCheckNamedFramebufferStatus", "GL_ARB_direct_state_access GL_VERSION_4_5", glCheckNamedFramebufferStatus },
@@ -15197,6 +15300,8 @@ const OpenGL_extension extension_registry[2516] = {
   { "glCombinerParameteriNV", "GL_NV_register_combiners", glCombinerParameteriNV },
   { "glCombinerParameterivNV", "GL_NV_register_combiners", glCombinerParameterivNV },
   { "glCombinerStageParameterfvNV", "GL_NV_register_combiners2", glCombinerStageParameterfvNV },
+  { "glCommandListSegmentsNV", "GL_NV_command_list", glCommandListSegmentsNV },
+  { "glCompileCommandListNV", "GL_NV_command_list", glCompileCommandListNV },
   { "glCompileShader", "GL_VERSION_2_0", glCompileShader },
   { "glCompileShaderARB", "GL_ARB_shader_objects", glCompileShaderARB },
   { "glCompileShaderIncludeARB", "GL_ARB_shading_language_include", glCompileShaderIncludeARB },
@@ -15280,6 +15385,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glCoverageModulationNV", "GL_NV_framebuffer_mixed_samples", glCoverageModulationNV },
   { "glCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples", glCoverageModulationTableNV },
   { "glCreateBuffers", "GL_ARB_direct_state_access GL_VERSION_4_5", glCreateBuffers },
+  { "glCreateCommandListsNV", "GL_NV_command_list", glCreateCommandListsNV },
   { "glCreateFramebuffers", "GL_ARB_direct_state_access GL_VERSION_4_5", glCreateFramebuffers },
   { "glCreatePerfQueryINTEL", "GL_INTEL_performance_query", glCreatePerfQueryINTEL },
   { "glCreateProgram", "GL_VERSION_2_0", glCreateProgram },
@@ -15292,6 +15398,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glCreateShaderObjectARB", "GL_ARB_shader_objects", glCreateShaderObjectARB },
   { "glCreateShaderProgramEXT", "GL_EXT_separate_shader_objects", glCreateShaderProgramEXT },
   { "glCreateShaderProgramv", "GL_ARB_separate_shader_objects GL_VERSION_4_1", glCreateShaderProgramv },
+  { "glCreateStatesNV", "GL_NV_command_list", glCreateStatesNV },
   { "glCreateSyncFromCLeventARB", "GL_ARB_cl_event", glCreateSyncFromCLeventARB },
   { "glCreateTextures", "GL_ARB_direct_state_access GL_VERSION_4_5", glCreateTextures },
   { "glCreateTransformFeedbacks", "GL_ARB_direct_state_access GL_VERSION_4_5", glCreateTransformFeedbacks },
@@ -15315,6 +15422,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glDeleteBufferRegion", "GL_KTX_buffer_region", glDeleteBufferRegion },
   { "glDeleteBuffers", "GL_VERSION_1_5", glDeleteBuffers },
   { "glDeleteBuffersARB", "GL_ARB_vertex_buffer_object", glDeleteBuffersARB },
+  { "glDeleteCommandListsNV", "GL_NV_command_list", glDeleteCommandListsNV },
   { "glDeleteFencesAPPLE", "GL_APPLE_fence", glDeleteFencesAPPLE },
   { "glDeleteFencesNV", "GL_NV_fence", glDeleteFencesNV },
   { "glDeleteFragmentShaderATI", "GL_ATI_fragment_shader", glDeleteFragmentShaderATI },
@@ -15338,6 +15446,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glDeleteRenderbuffersEXT", "GL_EXT_framebuffer_object", glDeleteRenderbuffersEXT },
   { "glDeleteSamplers", "GL_ARB_sampler_objects GL_VERSION_3_3", glDeleteSamplers },
   { "glDeleteShader", "GL_VERSION_2_0", glDeleteShader },
+  { "glDeleteStatesNV", "GL_NV_command_list", glDeleteStatesNV },
   { "glDeleteSync", "GL_ARB_sync GL_VERSION_3_2", glDeleteSync },
   { "glDeleteTexturesEXT", "GL_EXT_texture_object", glDeleteTexturesEXT },
   { "glDeleteTransformFeedbacks", "GL_ARB_transform_feedback2 GL_VERSION_4_0", glDeleteTransformFeedbacks },
@@ -15380,6 +15489,10 @@ const OpenGL_extension extension_registry[2516] = {
   { "glDrawBuffers", "GL_VERSION_2_0", glDrawBuffers },
   { "glDrawBuffersARB", "GL_ARB_draw_buffers", glDrawBuffersARB },
   { "glDrawBuffersATI", "GL_ATI_draw_buffers", glDrawBuffersATI },
+  { "glDrawCommandsAddressNV", "GL_NV_command_list", glDrawCommandsAddressNV },
+  { "glDrawCommandsNV", "GL_NV_command_list", glDrawCommandsNV },
+  { "glDrawCommandsStatesAddressNV", "GL_NV_command_list", glDrawCommandsStatesAddressNV },
+  { "glDrawCommandsStatesNV", "GL_NV_command_list", glDrawCommandsStatesNV },
   { "glDrawElementArrayAPPLE", "GL_APPLE_element_array", glDrawElementArrayAPPLE },
   { "glDrawElementArrayATI", "GL_ATI_element_array", glDrawElementArrayATI },
   { "glDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex GL_VERSION_3_2", glDrawElementsBaseVertex },
@@ -15591,6 +15704,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glGetCombinerOutputParameterfvNV", "GL_NV_register_combiners", glGetCombinerOutputParameterfvNV },
   { "glGetCombinerOutputParameterivNV", "GL_NV_register_combiners", glGetCombinerOutputParameterivNV },
   { "glGetCombinerStageParameterfvNV", "GL_NV_register_combiners2", glGetCombinerStageParameterfvNV },
+  { "glGetCommandHeaderNV", "GL_NV_command_list", glGetCommandHeaderNV },
   { "glGetCompressedMultiTexImageEXT", "GL_EXT_direct_state_access", glGetCompressedMultiTexImageEXT },
   { "glGetCompressedTexImage", "GL_VERSION_1_3", glGetCompressedTexImage },
   { "glGetCompressedTexImageARB", "GL_ARB_texture_compression", glGetCompressedTexImageARB },
@@ -15651,7 +15765,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glGetInteger64i_v", "GL_VERSION_3_2", glGetInteger64i_v },
   { "glGetInteger64v", "GL_ARB_sync GL_VERSION_3_2", glGetInteger64v },
   { "glGetIntegerIndexedvEXT", "GL_EXT_direct_state_access GL_EXT_draw_buffers2", glGetIntegerIndexedvEXT },
-  { "glGetIntegeri_v", "GL_VERSION_3_0", glGetIntegeri_v },
+  { "glGetIntegeri_v", "GL_ARB_uniform_buffer_object GL_VERSION_3_0", glGetIntegeri_v },
   { "glGetIntegerui64i_vNV", "GL_NV_vertex_buffer_unified_memory", glGetIntegerui64i_vNV },
   { "glGetIntegerui64vNV", "GL_NV_shader_buffer_load", glGetIntegerui64vNV },
   { "glGetInternalformatSampleivNV", "GL_NV_internalformat_sample_query", glGetInternalformatSampleivNV },
@@ -15816,6 +15930,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glGetShaderSourceARB", "GL_ARB_shader_objects", glGetShaderSourceARB },
   { "glGetShaderiv", "GL_VERSION_2_0", glGetShaderiv },
   { "glGetSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture", glGetSharpenTexFuncSGIS },
+  { "glGetStageIndexNV", "GL_NV_command_list", glGetStageIndexNV },
   { "glGetStringi", "GL_VERSION_3_0", glGetStringi },
   { "glGetSubroutineIndex", "GL_ARB_shader_subroutine GL_VERSION_4_0", glGetSubroutineIndex },
   { "glGetSubroutineUniformLocation", "GL_ARB_shader_subroutine GL_VERSION_4_0", glGetSubroutineUniformLocation },
@@ -15995,6 +16110,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glIsBuffer", "GL_VERSION_1_5", glIsBuffer },
   { "glIsBufferARB", "GL_ARB_vertex_buffer_object", glIsBufferARB },
   { "glIsBufferResidentNV", "GL_NV_shader_buffer_load", glIsBufferResidentNV },
+  { "glIsCommandListNV", "GL_NV_command_list", glIsCommandListNV },
   { "glIsEnabledIndexedEXT", "GL_EXT_direct_state_access GL_EXT_draw_buffers2", glIsEnabledIndexedEXT },
   { "glIsEnabledi", "GL_VERSION_3_0", glIsEnabledi },
   { "glIsFenceAPPLE", "GL_APPLE_fence", glIsFenceAPPLE },
@@ -16021,6 +16137,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glIsRenderbufferEXT", "GL_EXT_framebuffer_object", glIsRenderbufferEXT },
   { "glIsSampler", "GL_ARB_sampler_objects GL_VERSION_3_3", glIsSampler },
   { "glIsShader", "GL_VERSION_2_0", glIsShader },
+  { "glIsStateNV", "GL_NV_command_list", glIsStateNV },
   { "glIsSync", "GL_ARB_sync GL_VERSION_3_2", glIsSync },
   { "glIsTextureEXT", "GL_EXT_texture_object", glIsTextureEXT },
   { "glIsTextureHandleResidentARB", "GL_ARB_bindless_texture", glIsTextureHandleResidentARB },
@@ -16040,6 +16157,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glLineWidthxOES", "GL_OES_fixed_point", glLineWidthxOES },
   { "glLinkProgram", "GL_VERSION_2_0", glLinkProgram },
   { "glLinkProgramARB", "GL_ARB_shader_objects", glLinkProgramARB },
+  { "glListDrawCommandsStatesClientNV", "GL_NV_command_list", glListDrawCommandsStatesClientNV },
   { "glListParameterfSGIX", "GL_SGIX_list_priority", glListParameterfSGIX },
   { "glListParameterfvSGIX", "GL_SGIX_list_priority", glListParameterfvSGIX },
   { "glListParameteriSGIX", "GL_SGIX_list_priority", glListParameteriSGIX },
@@ -16759,6 +16877,7 @@ const OpenGL_extension extension_registry[2516] = {
   { "glSpriteParameteriSGIX", "GL_SGIX_sprite", glSpriteParameteriSGIX },
   { "glSpriteParameterivSGIX", "GL_SGIX_sprite", glSpriteParameterivSGIX },
   { "glStartInstrumentsSGIX", "GL_SGIX_instruments", glStartInstrumentsSGIX },
+  { "glStateCaptureNV", "GL_NV_command_list", glStateCaptureNV },
   { "glStencilClearTagEXT", "GL_EXT_stencil_clear_tag", glStencilClearTagEXT },
   { "glStencilFillPathInstancedNV", "GL_NV_path_rendering", glStencilFillPathInstancedNV },
   { "glStencilFillPathNV", "GL_NV_path_rendering", glStencilFillPathNV },
diff --git a/dlls/opengl32/opengl_norm.c b/dlls/opengl32/opengl_norm.c
index 34a4892..3f977c2 100644
--- a/dlls/opengl32/opengl_norm.c
+++ b/dlls/opengl32/opengl_norm.c
@@ -3493,6 +3493,7 @@ static GLuint null_glBufferRegionEnabled( void ) { return 0; }
 static void null_glBufferStorage( GLenum target, GLsizeiptr size, const void* data, GLbitfield flags ) { }
 static void null_glBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, const void* data ) { }
 static void null_glBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void* data ) { }
+static void null_glCallCommandListNV( GLuint list ) { }
 static GLenum null_glCheckFramebufferStatus( GLenum target ) { return 0; }
 static GLenum null_glCheckFramebufferStatusEXT( GLenum target ) { return 0; }
 static GLenum null_glCheckNamedFramebufferStatus( GLuint framebuffer, GLenum target ) { return 0; }
@@ -3515,7 +3516,7 @@ static void null_glClearDepthfOES( GLclampf depth ) { }
 static void null_glClearDepthxOES( GLfixed depth ) { }
 static void null_glClearNamedBufferData( GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void* data ) { }
 static void null_glClearNamedBufferDataEXT( GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void* data ) { }
-static void null_glClearNamedBufferSubData( GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void* data ) { }
+static void null_glClearNamedBufferSubData( GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data ) { }
 static void null_glClearNamedBufferSubDataEXT( GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data ) { }
 static void null_glClearNamedFramebufferfi( GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil ) { }
 static void null_glClearNamedFramebufferfv( GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat* value ) { }
@@ -3576,6 +3577,8 @@ static void null_glCombinerParameterfvNV( GLenum pname, const GLfloat* params )
 static void null_glCombinerParameteriNV( GLenum pname, GLint param ) { }
 static void null_glCombinerParameterivNV( GLenum pname, const GLint* params ) { }
 static void null_glCombinerStageParameterfvNV( GLenum stage, GLenum pname, const GLfloat* params ) { }
+static void null_glCommandListSegmentsNV( GLuint list, GLuint segments ) { }
+static void null_glCompileCommandListNV( GLuint list ) { }
 static void null_glCompileShader( GLuint shader ) { }
 static void null_glCompileShaderARB( GLhandleARB shaderObj ) { }
 static void null_glCompileShaderIncludeARB( GLuint shader, GLsizei count, const GLchar*const* path, const GLint* length ) { }
@@ -3636,7 +3639,7 @@ static void null_glCopyMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint
 static void null_glCopyMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) { }
 static void null_glCopyMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
 static void null_glCopyMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
-static void null_glCopyNamedBufferSubData( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size ) { }
+static void null_glCopyNamedBufferSubData( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) { }
 static void null_glCopyPathNV( GLuint resultPath, GLuint srcPath ) { }
 static void null_glCopyTexImage1DEXT( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) { }
 static void null_glCopyTexImage2DEXT( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) { }
@@ -3659,6 +3662,7 @@ static void null_glCoverStrokePathNV( GLuint path, GLenum coverMode ) { }
 static void null_glCoverageModulationNV( GLenum components ) { }
 static void null_glCoverageModulationTableNV( GLsizei n, const GLfloat* v ) { }
 static void null_glCreateBuffers( GLsizei n, GLuint* buffers ) { }
+static void null_glCreateCommandListsNV( GLsizei n, GLuint* lists ) { }
 static void null_glCreateFramebuffers( GLsizei n, GLuint* framebuffers ) { }
 static void null_glCreatePerfQueryINTEL( GLuint queryId, GLuint* queryHandle ) { }
 static GLuint null_glCreateProgram( void ) { return 0; }
@@ -3671,6 +3675,7 @@ static GLuint null_glCreateShader( GLenum type ) { return 0; }
 static GLhandleARB null_glCreateShaderObjectARB( GLenum shaderType ) { return 0; }
 static GLuint null_glCreateShaderProgramEXT( GLenum type, const GLchar* string ) { return 0; }
 static GLuint null_glCreateShaderProgramv( GLenum type, GLsizei count, const GLchar*const* strings ) { return 0; }
+static void null_glCreateStatesNV( GLsizei n, GLuint* states ) { }
 static GLsync null_glCreateSyncFromCLeventARB( void* context, void* event, GLbitfield flags ) { return 0; }
 static void null_glCreateTextures( GLenum target, GLsizei n, GLuint* textures ) { }
 static void null_glCreateTransformFeedbacks( GLsizei n, GLuint* ids ) { }
@@ -3694,6 +3699,7 @@ static void null_glDeleteAsyncMarkersSGIX( GLuint marker, GLsizei range ) { }
 static void null_glDeleteBufferRegion( GLenum region ) { }
 static void null_glDeleteBuffers( GLsizei n, const GLuint* buffers ) { }
 static void null_glDeleteBuffersARB( GLsizei n, const GLuint* buffers ) { }
+static void null_glDeleteCommandListsNV( GLsizei n, const GLuint* lists ) { }
 static void null_glDeleteFencesAPPLE( GLsizei n, const GLuint* fences ) { }
 static void null_glDeleteFencesNV( GLsizei n, const GLuint* fences ) { }
 static void null_glDeleteFragmentShaderATI( GLuint id ) { }
@@ -3717,6 +3723,7 @@ static void null_glDeleteRenderbuffers( GLsizei n, const GLuint* renderbuffers )
 static void null_glDeleteRenderbuffersEXT( GLsizei n, const GLuint* renderbuffers ) { }
 static void null_glDeleteSamplers( GLsizei count, const GLuint* samplers ) { }
 static void null_glDeleteShader( GLuint shader ) { }
+static void null_glDeleteStatesNV( GLsizei n, const GLuint* states ) { }
 static void null_glDeleteSync( GLsync sync ) { }
 static void null_glDeleteTexturesEXT( GLsizei n, const GLuint* textures ) { }
 static void null_glDeleteTransformFeedbacks( GLsizei n, const GLuint* ids ) { }
@@ -3759,6 +3766,10 @@ static void null_glDrawBufferRegion( GLenum region, GLint x, GLint y, GLsizei wi
 static void null_glDrawBuffers( GLsizei n, const GLenum* bufs ) { }
 static void null_glDrawBuffersARB( GLsizei n, const GLenum* bufs ) { }
 static void null_glDrawBuffersATI( GLsizei n, const GLenum* bufs ) { }
+static void null_glDrawCommandsAddressNV( GLenum primitiveMode, const GLuint64* indirects, const GLsizei* sizes, GLuint count ) { }
+static void null_glDrawCommandsNV( GLenum primitiveMode, GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, GLuint count ) { }
+static void null_glDrawCommandsStatesAddressNV( const GLuint64* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count ) { }
+static void null_glDrawCommandsStatesNV( GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count ) { }
 static void null_glDrawElementArrayAPPLE( GLenum mode, GLint first, GLsizei count ) { }
 static void null_glDrawElementArrayATI( GLenum mode, GLsizei count ) { }
 static void null_glDrawElementsBaseVertex( GLenum mode, GLsizei count, GLenum type, const void* indices, GLint basevertex ) { }
@@ -3829,7 +3840,7 @@ static void null_glFinishObjectAPPLE( GLenum object, GLint name ) { }
 static void null_glFinishTextureSUNX( void ) { }
 static void null_glFlushMappedBufferRange( GLenum target, GLintptr offset, GLsizeiptr length ) { }
 static void null_glFlushMappedBufferRangeAPPLE( GLenum target, GLintptr offset, GLsizeiptr size ) { }
-static void null_glFlushMappedNamedBufferRange( GLuint buffer, GLintptr offset, GLsizei length ) { }
+static void null_glFlushMappedNamedBufferRange( GLuint buffer, GLintptr offset, GLsizeiptr length ) { }
 static void null_glFlushMappedNamedBufferRangeEXT( GLuint buffer, GLintptr offset, GLsizeiptr length ) { }
 static void null_glFlushPixelDataRangeNV( GLenum target ) { }
 static void null_glFlushRasterSGIX( void ) { }
@@ -3970,6 +3981,7 @@ static void null_glGetCombinerInputParameterivNV( GLenum stage, GLenum portion,
 static void null_glGetCombinerOutputParameterfvNV( GLenum stage, GLenum portion, GLenum pname, GLfloat* params ) { }
 static void null_glGetCombinerOutputParameterivNV( GLenum stage, GLenum portion, GLenum pname, GLint* params ) { }
 static void null_glGetCombinerStageParameterfvNV( GLenum stage, GLenum pname, GLfloat* params ) { }
+static GLuint null_glGetCommandHeaderNV( GLenum tokenID, GLuint size ) { return 0; }
 static void null_glGetCompressedMultiTexImageEXT( GLenum texunit, GLenum target, GLint lod, void* img ) { }
 static void null_glGetCompressedTexImage( GLenum target, GLint level, void* img ) { }
 static void null_glGetCompressedTexImageARB( GLenum target, GLint level, void* img ) { }
@@ -4078,7 +4090,7 @@ static void null_glGetNamedBufferParameterivEXT( GLuint buffer, GLenum pname, GL
 static void null_glGetNamedBufferParameterui64vNV( GLuint buffer, GLenum pname, GLuint64EXT* params ) { }
 static void null_glGetNamedBufferPointerv( GLuint buffer, GLenum pname, void** params ) { }
 static void null_glGetNamedBufferPointervEXT( GLuint buffer, GLenum pname, void** params ) { }
-static void null_glGetNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizei size, void* data ) { }
+static void null_glGetNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr size, void* data ) { }
 static void null_glGetNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, void* data ) { }
 static void null_glGetNamedFramebufferAttachmentParameteriv( GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params ) { }
 static void null_glGetNamedFramebufferAttachmentParameterivEXT( GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params ) { }
@@ -4195,6 +4207,7 @@ static void null_glGetShaderSource( GLuint shader, GLsizei bufSize, GLsizei* len
 static void null_glGetShaderSourceARB( GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* source ) { }
 static void null_glGetShaderiv( GLuint shader, GLenum pname, GLint* params ) { }
 static void null_glGetSharpenTexFuncSGIS( GLenum target, GLfloat* points ) { }
+static GLushort null_glGetStageIndexNV( GLenum shadertype ) { return 0; }
 static const GLubyte* null_glGetStringi( GLenum name, GLuint index ) { return 0; }
 static GLuint null_glGetSubroutineIndex( GLuint program, GLenum shadertype, const GLchar* name ) { return 0; }
 static GLint null_glGetSubroutineUniformLocation( GLuint program, GLenum shadertype, const GLchar* name ) { return 0; }
@@ -4374,6 +4387,7 @@ static GLboolean null_glIsAsyncMarkerSGIX( GLuint marker ) { return 0; }
 static GLboolean null_glIsBuffer( GLuint buffer ) { return 0; }
 static GLboolean null_glIsBufferARB( GLuint buffer ) { return 0; }
 static GLboolean null_glIsBufferResidentNV( GLenum target ) { return 0; }
+static GLboolean null_glIsCommandListNV( GLuint list ) { return 0; }
 static GLboolean null_glIsEnabledIndexedEXT( GLenum target, GLuint index ) { return 0; }
 static GLboolean null_glIsEnabledi( GLenum target, GLuint index ) { return 0; }
 static GLboolean null_glIsFenceAPPLE( GLuint fence ) { return 0; }
@@ -4400,6 +4414,7 @@ static GLboolean null_glIsRenderbuffer( GLuint renderbuffer ) { return 0; }
 static GLboolean null_glIsRenderbufferEXT( GLuint renderbuffer ) { return 0; }
 static GLboolean null_glIsSampler( GLuint sampler ) { return 0; }
 static GLboolean null_glIsShader( GLuint shader ) { return 0; }
+static GLboolean null_glIsStateNV( GLuint state ) { return 0; }
 static GLboolean null_glIsSync( GLsync sync ) { return 0; }
 static GLboolean null_glIsTextureEXT( GLuint texture ) { return 0; }
 static GLboolean null_glIsTextureHandleResidentARB( GLuint64 handle ) { return 0; }
@@ -4419,6 +4434,7 @@ static void null_glLightxvOES( GLenum light, GLenum pname, const GLfixed* params
 static void null_glLineWidthxOES( GLfixed width ) { }
 static void null_glLinkProgram( GLuint program ) { }
 static void null_glLinkProgramARB( GLhandleARB programObj ) { }
+static void null_glListDrawCommandsStatesClientNV( GLuint list, GLuint segment, const void** indirects, const size_t* sizes, const GLuint* states, const GLuint* fbos, GLuint count ) { }
 static void null_glListParameterfSGIX( GLuint list, GLenum pname, GLfloat param ) { }
 static void null_glListParameterfvSGIX( GLuint list, GLenum pname, const GLfloat* params ) { }
 static void null_glListParameteriSGIX( GLuint list, GLenum pname, GLint param ) { }
@@ -4456,7 +4472,7 @@ static void null_glMapGrid1xOES( GLint n, GLfixed u1, GLfixed u2 ) { }
 static void null_glMapGrid2xOES( GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2 ) { }
 static void* null_glMapNamedBuffer( GLuint buffer, GLenum access ) { return 0; }
 static void* null_glMapNamedBufferEXT( GLuint buffer, GLenum access ) { return 0; }
-static void* null_glMapNamedBufferRange( GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access ) { return 0; }
+static void* null_glMapNamedBufferRange( GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access ) { return 0; }
 static void* null_glMapNamedBufferRangeEXT( GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access ) { return 0; }
 static void* null_glMapObjectBufferATI( GLuint buffer ) { return 0; }
 static void null_glMapParameterfvNV( GLenum target, GLenum pname, const GLfloat* params ) { }
@@ -4683,13 +4699,13 @@ static void null_glMultiTexRenderbufferEXT( GLenum texunit, GLenum target, GLuin
 static void null_glMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels ) { }
 static void null_glMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels ) { }
 static void null_glMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels ) { }
-static void null_glNamedBufferData( GLuint buffer, GLsizei size, const void* data, GLenum usage ) { }
+static void null_glNamedBufferData( GLuint buffer, GLsizeiptr size, const void* data, GLenum usage ) { }
 static void null_glNamedBufferDataEXT( GLuint buffer, GLsizeiptr size, const void* data, GLenum usage ) { }
 static void null_glNamedBufferPageCommitmentARB( GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit ) { }
 static void null_glNamedBufferPageCommitmentEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit ) { }
-static void null_glNamedBufferStorage( GLuint buffer, GLsizei size, const void* data, GLbitfield flags ) { }
+static void null_glNamedBufferStorage( GLuint buffer, GLsizeiptr size, const void* data, GLbitfield flags ) { }
 static void null_glNamedBufferStorageEXT( GLuint buffer, GLsizeiptr size, const void* data, GLbitfield flags ) { }
-static void null_glNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizei size, const void* data ) { }
+static void null_glNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data ) { }
 static void null_glNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data ) { }
 static void null_glNamedCopyBufferSubDataEXT( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) { }
 static void null_glNamedFramebufferDrawBuffer( GLuint framebuffer, GLenum buf ) { }
@@ -5138,6 +5154,7 @@ static void null_glSpriteParameterfvSGIX( GLenum pname, const GLfloat* params )
 static void null_glSpriteParameteriSGIX( GLenum pname, GLint param ) { }
 static void null_glSpriteParameterivSGIX( GLenum pname, const GLint* params ) { }
 static void null_glStartInstrumentsSGIX( void ) { }
+static void null_glStateCaptureNV( GLuint state, GLenum mode ) { }
 static void null_glStencilClearTagEXT( GLsizei stencilTagBits, GLuint stencilClearTag ) { }
 static void null_glStencilFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat* transformValues ) { }
 static void null_glStencilFillPathNV( GLuint path, GLenum fillMode, GLuint mask ) { }
@@ -5244,7 +5261,7 @@ static void null_glTexImage3DEXT( GLenum target, GLint level, GLenum internalfor
 static void null_glTexImage3DMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) { }
 static void null_glTexImage3DMultisampleCoverageNV( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations ) { }
 static void null_glTexImage4DSGIS( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void* pixels ) { }
-static void null_glTexPageCommitmentARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident ) { }
+static void null_glTexPageCommitmentARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit ) { }
 static void null_glTexParameterIiv( GLenum target, GLenum pname, const GLint* params ) { }
 static void null_glTexParameterIivEXT( GLenum target, GLenum pname, const GLint* params ) { }
 static void null_glTexParameterIuiv( GLenum target, GLenum pname, const GLuint* params ) { }
@@ -5267,7 +5284,7 @@ static void null_glTextureBarrier( void ) { }
 static void null_glTextureBarrierNV( void ) { }
 static void null_glTextureBuffer( GLuint texture, GLenum internalformat, GLuint buffer ) { }
 static void null_glTextureBufferEXT( GLuint texture, GLenum target, GLenum internalformat, GLuint buffer ) { }
-static void null_glTextureBufferRange( GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size ) { }
+static void null_glTextureBufferRange( GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
 static void null_glTextureBufferRangeEXT( GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
 static void null_glTextureColorMaskSGIS( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) { }
 static void null_glTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels ) { }
@@ -5280,7 +5297,7 @@ static void null_glTextureImage3DMultisampleNV( GLuint texture, GLenum target, G
 static void null_glTextureLightEXT( GLenum pname ) { }
 static void null_glTextureMaterialEXT( GLenum face, GLenum mode ) { }
 static void null_glTextureNormalEXT( GLenum mode ) { }
-static void null_glTexturePageCommitmentEXT( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident ) { }
+static void null_glTexturePageCommitmentEXT( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit ) { }
 static void null_glTextureParameterIiv( GLuint texture, GLenum pname, const GLint* params ) { }
 static void null_glTextureParameterIivEXT( GLuint texture, GLenum target, GLenum pname, const GLint* params ) { }
 static void null_glTextureParameterIuiv( GLuint texture, GLenum pname, const GLuint* params ) { }
@@ -5316,7 +5333,7 @@ static void null_glTextureView( GLuint texture, GLenum target, GLuint origtextur
 static void null_glTrackMatrixNV( GLenum target, GLuint address, GLenum matrix, GLenum transform ) { }
 static void null_glTransformFeedbackAttribsNV( GLsizei count, const GLint* attribs, GLenum bufferMode ) { }
 static void null_glTransformFeedbackBufferBase( GLuint xfb, GLuint index, GLuint buffer ) { }
-static void null_glTransformFeedbackBufferRange( GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size ) { }
+static void null_glTransformFeedbackBufferRange( GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
 static void null_glTransformFeedbackStreamAttribsNV( GLsizei count, const GLint* attribs, GLsizei nbuffers, const GLint* bufstreams, GLenum bufferMode ) { }
 static void null_glTransformFeedbackVaryings( GLuint program, GLsizei count, const GLchar*const* varyings, GLenum bufferMode ) { }
 static void null_glTransformFeedbackVaryingsEXT( GLuint program, GLsizei count, const GLchar*const* varyings, GLenum bufferMode ) { }
@@ -6363,6 +6380,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glBufferStorage,
         null_glBufferSubData,
         null_glBufferSubDataARB,
+        null_glCallCommandListNV,
         null_glCheckFramebufferStatus,
         null_glCheckFramebufferStatusEXT,
         null_glCheckNamedFramebufferStatus,
@@ -6446,6 +6464,8 @@ struct opengl_funcs null_opengl_funcs =
         null_glCombinerParameteriNV,
         null_glCombinerParameterivNV,
         null_glCombinerStageParameterfvNV,
+        null_glCommandListSegmentsNV,
+        null_glCompileCommandListNV,
         null_glCompileShader,
         null_glCompileShaderARB,
         null_glCompileShaderIncludeARB,
@@ -6529,6 +6549,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glCoverageModulationNV,
         null_glCoverageModulationTableNV,
         null_glCreateBuffers,
+        null_glCreateCommandListsNV,
         null_glCreateFramebuffers,
         null_glCreatePerfQueryINTEL,
         null_glCreateProgram,
@@ -6541,6 +6562,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glCreateShaderObjectARB,
         null_glCreateShaderProgramEXT,
         null_glCreateShaderProgramv,
+        null_glCreateStatesNV,
         null_glCreateSyncFromCLeventARB,
         null_glCreateTextures,
         null_glCreateTransformFeedbacks,
@@ -6564,6 +6586,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glDeleteBufferRegion,
         null_glDeleteBuffers,
         null_glDeleteBuffersARB,
+        null_glDeleteCommandListsNV,
         null_glDeleteFencesAPPLE,
         null_glDeleteFencesNV,
         null_glDeleteFragmentShaderATI,
@@ -6587,6 +6610,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glDeleteRenderbuffersEXT,
         null_glDeleteSamplers,
         null_glDeleteShader,
+        null_glDeleteStatesNV,
         null_glDeleteSync,
         null_glDeleteTexturesEXT,
         null_glDeleteTransformFeedbacks,
@@ -6629,6 +6653,10 @@ struct opengl_funcs null_opengl_funcs =
         null_glDrawBuffers,
         null_glDrawBuffersARB,
         null_glDrawBuffersATI,
+        null_glDrawCommandsAddressNV,
+        null_glDrawCommandsNV,
+        null_glDrawCommandsStatesAddressNV,
+        null_glDrawCommandsStatesNV,
         null_glDrawElementArrayAPPLE,
         null_glDrawElementArrayATI,
         null_glDrawElementsBaseVertex,
@@ -6840,6 +6868,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glGetCombinerOutputParameterfvNV,
         null_glGetCombinerOutputParameterivNV,
         null_glGetCombinerStageParameterfvNV,
+        null_glGetCommandHeaderNV,
         null_glGetCompressedMultiTexImageEXT,
         null_glGetCompressedTexImage,
         null_glGetCompressedTexImageARB,
@@ -7065,6 +7094,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glGetShaderSourceARB,
         null_glGetShaderiv,
         null_glGetSharpenTexFuncSGIS,
+        null_glGetStageIndexNV,
         null_glGetStringi,
         null_glGetSubroutineIndex,
         null_glGetSubroutineUniformLocation,
@@ -7244,6 +7274,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glIsBuffer,
         null_glIsBufferARB,
         null_glIsBufferResidentNV,
+        null_glIsCommandListNV,
         null_glIsEnabledIndexedEXT,
         null_glIsEnabledi,
         null_glIsFenceAPPLE,
@@ -7270,6 +7301,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glIsRenderbufferEXT,
         null_glIsSampler,
         null_glIsShader,
+        null_glIsStateNV,
         null_glIsSync,
         null_glIsTextureEXT,
         null_glIsTextureHandleResidentARB,
@@ -7289,6 +7321,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glLineWidthxOES,
         null_glLinkProgram,
         null_glLinkProgramARB,
+        null_glListDrawCommandsStatesClientNV,
         null_glListParameterfSGIX,
         null_glListParameterfvSGIX,
         null_glListParameteriSGIX,
@@ -8008,6 +8041,7 @@ struct opengl_funcs null_opengl_funcs =
         null_glSpriteParameteriSGIX,
         null_glSpriteParameterivSGIX,
         null_glStartInstrumentsSGIX,
+        null_glStateCaptureNV,
         null_glStencilClearTagEXT,
         null_glStencilFillPathInstancedNV,
         null_glStencilFillPathNV,
diff --git a/include/wine/wgl.h b/include/wine/wgl.h
index 2fbc717..23b4a5f 100644
--- a/include/wine/wgl.h
+++ b/include/wine/wgl.h
@@ -161,6 +161,7 @@ typedef void                   GLvoid;
 #define GL_ALPHA_MAX_SGIX                                             0x8321
 #define GL_ALPHA_MIN_CLAMP_INGR                                       0x8563
 #define GL_ALPHA_MIN_SGIX                                             0x8320
+#define GL_ALPHA_REF_COMMAND_NV                                       0x000F
 #define GL_ALPHA_SCALE                                                0x0D1C
 #define GL_ALPHA_SNORM                                                0x9010
 #define GL_ALPHA_TEST                                                 0x0BC0
@@ -220,6 +221,7 @@ typedef void                   GLvoid;
 #define GL_ATOMIC_COUNTER_BUFFER_START                                0x92C2
 #define GL_ATTACHED_SHADERS                                           0x8B85
 #define GL_ATTENUATION_EXT                                            0x834D
+#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV                               0x0009
 #define GL_ATTRIB_ARRAY_POINTER_NV                                    0x8645
 #define GL_ATTRIB_ARRAY_SIZE_NV                                       0x8623
 #define GL_ATTRIB_ARRAY_STRIDE_NV                                     0x8624
@@ -265,6 +267,7 @@ typedef void                   GLvoid;
 #define GL_BLEND_ADVANCED_COHERENT_KHR                                0x9285
 #define GL_BLEND_ADVANCED_COHERENT_NV                                 0x9285
 #define GL_BLEND_COLOR                                                0x8005
+#define GL_BLEND_COLOR_COMMAND_NV                                     0x000B
 #define GL_BLEND_COLOR_EXT                                            0x8005
 #define GL_BLEND_DST                                                  0x0BE0
 #define GL_BLEND_DST_ALPHA                                            0x80CA
@@ -324,6 +327,7 @@ typedef void                   GLvoid;
 #define GL_BUFFER_FLUSHING_UNMAP_APPLE                                0x8A13
 #define GL_BUFFER_GPU_ADDRESS_NV                                      0x8F1D
 #define GL_BUFFER_IMMUTABLE_STORAGE                                   0x821F
+#define GL_BUFFER_IMMUTABLE_STORAGE_EXT                               0x821F
 #define GL_BUFFER_KHR                                                 0x82E0
 #define GL_BUFFER_MAPPED                                              0x88BC
 #define GL_BUFFER_MAPPED_ARB                                          0x88BC
@@ -339,6 +343,7 @@ typedef void                   GLvoid;
 #define GL_BUFFER_SIZE                                                0x8764
 #define GL_BUFFER_SIZE_ARB                                            0x8764
 #define GL_BUFFER_STORAGE_FLAGS                                       0x8220
+#define GL_BUFFER_STORAGE_FLAGS_EXT                                   0x8220
 #define GL_BUFFER_UPDATE_BARRIER_BIT                                  0x00000200
 #define GL_BUFFER_UPDATE_BARRIER_BIT_EXT                              0x00000200
 #define GL_BUFFER_USAGE                                               0x8765
@@ -384,8 +389,10 @@ typedef void                   GLvoid;
 #define GL_CLIENT_ALL_ATTRIB_BITS                                     0xFFFFFFFF
 #define GL_CLIENT_ATTRIB_STACK_DEPTH                                  0x0BB1
 #define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT                           0x00004000
+#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT                       0x00004000
 #define GL_CLIENT_PIXEL_STORE_BIT                                     0x00000001
 #define GL_CLIENT_STORAGE_BIT                                         0x0200
+#define GL_CLIENT_STORAGE_BIT_EXT                                     0x0200
 #define GL_CLIENT_VERTEX_ARRAY_BIT                                    0x00000002
 #define GL_CLIPPING_INPUT_PRIMITIVES_ARB                              0x82F6
 #define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB                             0x82F7
@@ -1171,6 +1178,9 @@ typedef void                   GLvoid;
 #define GL_DOUBLE_VEC3_EXT                                            0x8FFD
 #define GL_DOUBLE_VEC4                                                0x8FFE
 #define GL_DOUBLE_VEC4_EXT                                            0x8FFE
+#define GL_DRAW_ARRAYS_COMMAND_NV                                     0x0003
+#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV                           0x0007
+#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV                               0x0005
 #define GL_DRAW_BUFFER                                                0x0C01
 #define GL_DRAW_BUFFER0                                               0x8825
 #define GL_DRAW_BUFFER0_ARB                                           0x8825
@@ -1253,6 +1263,9 @@ typedef void                   GLvoid;
 #define GL_DRAW_BUFFER9_EXT                                           0x882E
 #define GL_DRAW_BUFFER9_NV                                            0x882E
 #define GL_DRAW_BUFFER_EXT                                            0x0C01
+#define GL_DRAW_ELEMENTS_COMMAND_NV                                   0x0002
+#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV                         0x0006
+#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV                             0x0004
 #define GL_DRAW_FRAMEBUFFER                                           0x8CA9
 #define GL_DRAW_FRAMEBUFFER_ANGLE                                     0x8CA9
 #define GL_DRAW_FRAMEBUFFER_APPLE                                     0x8CA9
@@ -1315,6 +1328,7 @@ typedef void                   GLvoid;
 #define GL_DYNAMIC_READ                                               0x88E9
 #define GL_DYNAMIC_READ_ARB                                           0x88E9
 #define GL_DYNAMIC_STORAGE_BIT                                        0x0100
+#define GL_DYNAMIC_STORAGE_BIT_EXT                                    0x0100
 #define GL_EDGEFLAG_BIT_PGI                                           0x00040000
 #define GL_EDGE_FLAG                                                  0x0B43
 #define GL_EDGE_FLAG_ARRAY                                            0x8079
@@ -1332,6 +1346,7 @@ typedef void                   GLvoid;
 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT                                 0x808C
 #define GL_EFFECTIVE_RASTER_SAMPLES_EXT                               0x932C
 #define GL_EIGHTH_BIT_ATI                                             0x00000020
+#define GL_ELEMENT_ADDRESS_COMMAND_NV                                 0x0008
 #define GL_ELEMENT_ARRAY_ADDRESS_NV                                   0x8F29
 #define GL_ELEMENT_ARRAY_APPLE                                        0x8A0C
 #define GL_ELEMENT_ARRAY_ATI                                          0x8768
@@ -1413,6 +1428,7 @@ typedef void                   GLvoid;
 #define GL_FIELD_UPPER_NV                                             0x9022
 #define GL_FILE_NAME_NV                                               0x9074
 #define GL_FILL                                                       0x1B02
+#define GL_FILL_NV                                                    0x1B02
 #define GL_FILL_RECTANGLE_NV                                          0x933C
 #define GL_FILTER                                                     0x829A
 #define GL_FILTER4_SGIS                                               0x8146
@@ -1690,6 +1706,7 @@ typedef void                   GLvoid;
 #define GL_FRONT                                                      0x0404
 #define GL_FRONT_AND_BACK                                             0x0408
 #define GL_FRONT_FACE                                                 0x0B46
+#define GL_FRONT_FACE_COMMAND_NV                                      0x0012
 #define GL_FRONT_LEFT                                                 0x0400
 #define GL_FRONT_RIGHT                                                0x0401
 #define GL_FULL_RANGE_EXT                                             0x87E1
@@ -2148,6 +2165,7 @@ typedef void                   GLvoid;
 #define GL_LINES_ADJACENCY_OES                                        0x000A
 #define GL_LINE_BIT                                                   0x00000004
 #define GL_LINE_LOOP                                                  0x0002
+#define GL_LINE_NV                                                    0x1B01
 #define GL_LINE_QUALITY_HINT_SGIX                                     0x835B
 #define GL_LINE_RESET_TOKEN                                           0x0707
 #define GL_LINE_SMOOTH                                                0x0B20
@@ -2163,6 +2181,7 @@ typedef void                   GLvoid;
 #define GL_LINE_TOKEN                                                 0x0702
 #define GL_LINE_TO_NV                                                 0x04
 #define GL_LINE_WIDTH                                                 0x0B21
+#define GL_LINE_WIDTH_COMMAND_NV                                      0x000D
 #define GL_LINE_WIDTH_GRANULARITY                                     0x0B23
 #define GL_LINE_WIDTH_RANGE                                           0x0B22
 #define GL_LINK_STATUS                                                0x8B82
@@ -2319,6 +2338,7 @@ typedef void                   GLvoid;
 #define GL_MAP_ATTRIB_U_ORDER_NV                                      0x86C3
 #define GL_MAP_ATTRIB_V_ORDER_NV                                      0x86C4
 #define GL_MAP_COHERENT_BIT                                           0x0080
+#define GL_MAP_COHERENT_BIT_EXT                                       0x0080
 #define GL_MAP_COLOR                                                  0x0D10
 #define GL_MAP_FLUSH_EXPLICIT_BIT                                     0x0010
 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                                 0x0010
@@ -2327,6 +2347,7 @@ typedef void                   GLvoid;
 #define GL_MAP_INVALIDATE_RANGE_BIT                                   0x0004
 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT                               0x0004
 #define GL_MAP_PERSISTENT_BIT                                         0x0040
+#define GL_MAP_PERSISTENT_BIT_EXT                                     0x0040
 #define GL_MAP_READ_BIT                                               0x0001
 #define GL_MAP_READ_BIT_EXT                                           0x0001
 #define GL_MAP_STENCIL                                                0x0D11
@@ -2675,10 +2696,13 @@ typedef void                   GLvoid;
 #define GL_MAX_SHININESS_NV                                           0x8504
 #define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD                             0x9199
 #define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB                             0x9199
+#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT                             0x9199
 #define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS                            0x919A
 #define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB                        0x919A
+#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT                        0x919A
 #define GL_MAX_SPARSE_TEXTURE_SIZE_AMD                                0x9198
 #define GL_MAX_SPARSE_TEXTURE_SIZE_ARB                                0x9198
+#define GL_MAX_SPARSE_TEXTURE_SIZE_EXT                                0x9198
 #define GL_MAX_SPOT_EXPONENT_NV                                       0x8505
 #define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV                        0x9349
 #define GL_MAX_SUBROUTINES                                            0x8DE7
@@ -2967,6 +2991,7 @@ typedef void                   GLvoid;
 #define GL_NONE                                                       0
 #define GL_NONE_OES                                                   0
 #define GL_NOOP                                                       0x1505
+#define GL_NOP_COMMAND_NV                                             0x0001
 #define GL_NOR                                                        0x1508
 #define GL_NORMALIZE                                                  0x0BA1
 #define GL_NORMALIZED_RANGE_EXT                                       0x87E0
@@ -3018,8 +3043,10 @@ typedef void                   GLvoid;
 #define GL_NUM_SHADER_BINARY_FORMATS                                  0x8DF9
 #define GL_NUM_SHADING_LANGUAGE_VERSIONS                              0x82E9
 #define GL_NUM_SPARSE_LEVELS_ARB                                      0x91AA
+#define GL_NUM_SPARSE_LEVELS_EXT                                      0x91AA
 #define GL_NUM_VIDEO_CAPTURE_STREAMS_NV                               0x9024
 #define GL_NUM_VIRTUAL_PAGE_SIZES_ARB                                 0x91A8
+#define GL_NUM_VIRTUAL_PAGE_SIZES_EXT                                 0x91A8
 #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB                               0x8B89
 #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB                     0x8B8A
 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB                                 0x8B86
@@ -3178,7 +3205,7 @@ typedef void                   GLvoid;
 #define GL_PACK_LSB_FIRST                                             0x0D01
 #define GL_PACK_MAX_COMPRESSED_SIZE_SGIX                              0x831B
 #define GL_PACK_RESAMPLE_OML                                          0x8984
-#define GL_PACK_RESAMPLE_SGIX                                         0x842C
+#define GL_PACK_RESAMPLE_SGIX                                         0x842E
 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE                               0x93A4
 #define GL_PACK_ROW_BYTES_APPLE                                       0x8A15
 #define GL_PACK_ROW_LENGTH                                            0x0D02
@@ -3384,6 +3411,7 @@ typedef void                   GLvoid;
 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB                              0x8128
 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT                              0x8128
 #define GL_POINT_FADE_THRESHOLD_SIZE_SGIS                             0x8128
+#define GL_POINT_NV                                                   0x1B00
 #define GL_POINT_SIZE                                                 0x0B11
 #define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES                        0x8B9F
 #define GL_POINT_SIZE_ARRAY_OES                                       0x8B9C
@@ -3412,14 +3440,18 @@ typedef void                   GLvoid;
 #define GL_POLYGON                                                    0x0009
 #define GL_POLYGON_BIT                                                0x00000008
 #define GL_POLYGON_MODE                                               0x0B40
+#define GL_POLYGON_MODE_NV                                            0x0B40
 #define GL_POLYGON_OFFSET_BIAS_EXT                                    0x8039
 #define GL_POLYGON_OFFSET_CLAMP_EXT                                   0x8E1B
+#define GL_POLYGON_OFFSET_COMMAND_NV                                  0x000E
 #define GL_POLYGON_OFFSET_EXT                                         0x8037
 #define GL_POLYGON_OFFSET_FACTOR                                      0x8038
 #define GL_POLYGON_OFFSET_FACTOR_EXT                                  0x8038
 #define GL_POLYGON_OFFSET_FILL                                        0x8037
 #define GL_POLYGON_OFFSET_LINE                                        0x2A02
+#define GL_POLYGON_OFFSET_LINE_NV                                     0x2A02
 #define GL_POLYGON_OFFSET_POINT                                       0x2A01
+#define GL_POLYGON_OFFSET_POINT_NV                                    0x2A01
 #define GL_POLYGON_OFFSET_UNITS                                       0x2A00
 #define GL_POLYGON_SMOOTH                                             0x0B41
 #define GL_POLYGON_SMOOTH_HINT                                        0x0C53
@@ -3538,6 +3570,7 @@ typedef void                   GLvoid;
 #define GL_PROGRAM_PIPELINE                                           0x82E4
 #define GL_PROGRAM_PIPELINE_BINDING                                   0x825A
 #define GL_PROGRAM_PIPELINE_BINDING_EXT                               0x825A
+#define GL_PROGRAM_PIPELINE_KHR                                       0x82E4
 #define GL_PROGRAM_PIPELINE_OBJECT_EXT                                0x8A4F
 #define GL_PROGRAM_POINT_SIZE                                         0x8642
 #define GL_PROGRAM_POINT_SIZE_ARB                                     0x8642
@@ -3863,9 +3896,9 @@ typedef void                   GLvoid;
 #define GL_RESAMPLE_DECIMATE_OML                                      0x8989
 #define GL_RESAMPLE_DECIMATE_SGIX                                     0x8430
 #define GL_RESAMPLE_REPLICATE_OML                                     0x8986
-#define GL_RESAMPLE_REPLICATE_SGIX                                    0x842E
+#define GL_RESAMPLE_REPLICATE_SGIX                                    0x8433
 #define GL_RESAMPLE_ZERO_FILL_OML                                     0x8987
-#define GL_RESAMPLE_ZERO_FILL_SGIX                                    0x842F
+#define GL_RESAMPLE_ZERO_FILL_SGIX                                    0x8434
 #define GL_RESCALE_NORMAL                                             0x803A
 #define GL_RESCALE_NORMAL_EXT                                         0x803A
 #define GL_RESET_NOTIFICATION_STRATEGY                                0x8256
@@ -4063,6 +4096,7 @@ typedef void                   GLvoid;
 #define GL_SAMPLER_CUBE_SHADOW                                        0x8DC5
 #define GL_SAMPLER_CUBE_SHADOW_EXT                                    0x8DC5
 #define GL_SAMPLER_CUBE_SHADOW_NV                                     0x8DC5
+#define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT                                0x8BE7
 #define GL_SAMPLER_EXTERNAL_OES                                       0x8D66
 #define GL_SAMPLER_KHR                                                0x82E6
 #define GL_SAMPLER_OBJECT_AMD                                         0x9155
@@ -4124,6 +4158,7 @@ typedef void                   GLvoid;
 #define GL_SCALE_BY_TWO_NV                                            0x853E
 #define GL_SCISSOR_BIT                                                0x00080000
 #define GL_SCISSOR_BOX                                                0x0C10
+#define GL_SCISSOR_COMMAND_NV                                         0x0011
 #define GL_SCISSOR_TEST                                               0x0C11
 #define GL_SCREEN_COORDINATES_REND                                    0x8490
 #define GL_SCREEN_KHR                                                 0x9295
@@ -4287,6 +4322,7 @@ typedef void                   GLvoid;
 #define GL_SPARSE_BUFFER_PAGE_SIZE_ARB                                0x82F8
 #define GL_SPARSE_STORAGE_BIT_ARB                                     0x0400
 #define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB                 0x91A9
+#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT                 0x91A9
 #define GL_SPECULAR                                                   0x1202
 #define GL_SPHERE_MAP                                                 0x2402
 #define GL_SPOT_CUTOFF                                                0x1206
@@ -4300,6 +4336,7 @@ typedef void                   GLvoid;
 #define GL_SPRITE_SGIX                                                0x8148
 #define GL_SPRITE_TRANSLATION_SGIX                                    0x814B
 #define GL_SQUARE_NV                                                  0x90A3
+#define GL_SR8_EXT                                                    0x8FBD
 #define GL_SRC0_ALPHA                                                 0x8588
 #define GL_SRC0_RGB                                                   0x8580
 #define GL_SRC1_ALPHA                                                 0x8589
@@ -4315,6 +4352,7 @@ typedef void                   GLvoid;
 #define GL_SRC_NV                                                     0x9286
 #define GL_SRC_OUT_NV                                                 0x928C
 #define GL_SRC_OVER_NV                                                0x9288
+#define GL_SRG8_EXT                                                   0x8FBE
 #define GL_SRGB                                                       0x8C40
 #define GL_SRGB8                                                      0x8C41
 #define GL_SRGB8_ALPHA8                                               0x8C43
@@ -4391,6 +4429,7 @@ typedef void                   GLvoid;
 #define GL_STENCIL_PASS_DEPTH_FAIL                                    0x0B95
 #define GL_STENCIL_PASS_DEPTH_PASS                                    0x0B96
 #define GL_STENCIL_REF                                                0x0B97
+#define GL_STENCIL_REF_COMMAND_NV                                     0x000C
 #define GL_STENCIL_RENDERABLE                                         0x8288
 #define GL_STENCIL_SAMPLES_NV                                         0x932E
 #define GL_STENCIL_TAG_BITS_EXT                                       0x88F2
@@ -4467,6 +4506,7 @@ typedef void                   GLvoid;
 #define GL_TANGENT_ARRAY_POINTER_EXT                                  0x8442
 #define GL_TANGENT_ARRAY_STRIDE_EXT                                   0x843F
 #define GL_TANGENT_ARRAY_TYPE_EXT                                     0x843E
+#define GL_TERMINATE_SEQUENCE_COMMAND_NV                              0x0000
 #define GL_TESSELLATION_FACTOR_AMD                                    0x9005
 #define GL_TESSELLATION_MODE_AMD                                      0x9004
 #define GL_TESS_CONTROL_OUTPUT_VERTICES                               0x8E75
@@ -4608,7 +4648,6 @@ typedef void                   GLvoid;
 #define GL_TEXTURE_APPLICATION_MODE_EXT                               0x834F
 #define GL_TEXTURE_BASE_LEVEL                                         0x813C
 #define GL_TEXTURE_BASE_LEVEL_SGIS                                    0x813C
-#define GL_TEXTURE_BINDING                                            0x82EB
 #define GL_TEXTURE_BINDING_1D                                         0x8068
 #define GL_TEXTURE_BINDING_1D_ARRAY                                   0x8C1C
 #define GL_TEXTURE_BINDING_1D_ARRAY_EXT                               0x8C1C
@@ -4868,6 +4907,7 @@ typedef void                   GLvoid;
 #define GL_TEXTURE_SHARED_SIZE                                        0x8C3F
 #define GL_TEXTURE_SHARED_SIZE_EXT                                    0x8C3F
 #define GL_TEXTURE_SPARSE_ARB                                         0x91A6
+#define GL_TEXTURE_SPARSE_EXT                                         0x91A6
 #define GL_TEXTURE_SRGB_DECODE_EXT                                    0x8A48
 #define GL_TEXTURE_STACK_DEPTH                                        0x0BA5
 #define GL_TEXTURE_STENCIL_SIZE                                       0x88F1
@@ -5019,6 +5059,7 @@ typedef void                   GLvoid;
 #define GL_UNDEFINED_VERTEX_EXT                                       0x8260
 #define GL_UNDEFINED_VERTEX_OES                                       0x8260
 #define GL_UNIFORM                                                    0x92E1
+#define GL_UNIFORM_ADDRESS_COMMAND_NV                                 0x000A
 #define GL_UNIFORM_ARRAY_STRIDE                                       0x8A3C
 #define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX                        0x92DA
 #define GL_UNIFORM_BARRIER_BIT                                        0x00000004
@@ -5073,7 +5114,7 @@ typedef void                   GLvoid;
 #define GL_UNPACK_LSB_FIRST                                           0x0CF1
 #define GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL                             0x9241
 #define GL_UNPACK_RESAMPLE_OML                                        0x8985
-#define GL_UNPACK_RESAMPLE_SGIX                                       0x842D
+#define GL_UNPACK_RESAMPLE_SGIX                                       0x842F
 #define GL_UNPACK_ROW_BYTES_APPLE                                     0x8A16
 #define GL_UNPACK_ROW_LENGTH                                          0x0CF2
 #define GL_UNPACK_ROW_LENGTH_EXT                                      0x0CF2
@@ -5413,6 +5454,7 @@ typedef void                   GLvoid;
 #define GL_VIEWPORT_BOUNDS_RANGE                                      0x825D
 #define GL_VIEWPORT_BOUNDS_RANGE_EXT                                  0x825D
 #define GL_VIEWPORT_BOUNDS_RANGE_NV                                   0x825D
+#define GL_VIEWPORT_COMMAND_NV                                        0x0010
 #define GL_VIEWPORT_INDEX_PROVOKING_VERTEX                            0x825F
 #define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT                        0x825F
 #define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV                         0x825F
@@ -5437,12 +5479,16 @@ typedef void                   GLvoid;
 #define GL_VIEW_CLASS_S3TC_DXT5_RGBA                                  0x82CF
 #define GL_VIEW_COMPATIBILITY_CLASS                                   0x82B6
 #define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB                                0x91A7
+#define GL_VIRTUAL_PAGE_SIZE_INDEX_EXT                                0x91A7
 #define GL_VIRTUAL_PAGE_SIZE_X_AMD                                    0x9195
 #define GL_VIRTUAL_PAGE_SIZE_X_ARB                                    0x9195
+#define GL_VIRTUAL_PAGE_SIZE_X_EXT                                    0x9195
 #define GL_VIRTUAL_PAGE_SIZE_Y_AMD                                    0x9196
 #define GL_VIRTUAL_PAGE_SIZE_Y_ARB                                    0x9196
+#define GL_VIRTUAL_PAGE_SIZE_Y_EXT                                    0x9196
 #define GL_VIRTUAL_PAGE_SIZE_Z_AMD                                    0x9197
 #define GL_VIRTUAL_PAGE_SIZE_Z_ARB                                    0x9197
+#define GL_VIRTUAL_PAGE_SIZE_Z_EXT                                    0x9197
 #define GL_VIVIDLIGHT_NV                                              0x92A6
 #define GL_VOLATILE_APPLE                                             0x8A1A
 #define GL_WAIT_FAILED                                                0x911D
diff --git a/include/wine/wgl_driver.h b/include/wine/wgl_driver.h
index 71a5075..9e80fe4 100644
--- a/include/wine/wgl_driver.h
+++ b/include/wine/wgl_driver.h
@@ -7,7 +7,7 @@
 #define WINE_GLAPI
 #endif
 
-#define WINE_WGL_DRIVER_VERSION 12
+#define WINE_WGL_DRIVER_VERSION 13
 
 struct wgl_context;
 struct wgl_pbuffer;
@@ -501,6 +501,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glBufferStorage)(GLenum,GLsizeiptr,const void*,GLbitfield);
         void       (WINE_GLAPI *p_glBufferSubData)(GLenum,GLintptr,GLsizeiptr,const void*);
         void       (WINE_GLAPI *p_glBufferSubDataARB)(GLenum,GLintptrARB,GLsizeiptrARB,const void*);
+        void       (WINE_GLAPI *p_glCallCommandListNV)(GLuint);
         GLenum     (WINE_GLAPI *p_glCheckFramebufferStatus)(GLenum);
         GLenum     (WINE_GLAPI *p_glCheckFramebufferStatusEXT)(GLenum);
         GLenum     (WINE_GLAPI *p_glCheckNamedFramebufferStatus)(GLuint,GLenum);
@@ -523,7 +524,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glClearDepthxOES)(GLfixed);
         void       (WINE_GLAPI *p_glClearNamedBufferData)(GLuint,GLenum,GLenum,GLenum,const void*);
         void       (WINE_GLAPI *p_glClearNamedBufferDataEXT)(GLuint,GLenum,GLenum,GLenum,const void*);
-        void       (WINE_GLAPI *p_glClearNamedBufferSubData)(GLuint,GLenum,GLintptr,GLsizei,GLenum,GLenum,const void*);
+        void       (WINE_GLAPI *p_glClearNamedBufferSubData)(GLuint,GLenum,GLintptr,GLsizeiptr,GLenum,GLenum,const void*);
         void       (WINE_GLAPI *p_glClearNamedBufferSubDataEXT)(GLuint,GLenum,GLsizeiptr,GLsizeiptr,GLenum,GLenum,const void*);
         void       (WINE_GLAPI *p_glClearNamedFramebufferfi)(GLuint,GLenum,const GLfloat,GLint);
         void       (WINE_GLAPI *p_glClearNamedFramebufferfv)(GLuint,GLenum,GLint,const GLfloat*);
@@ -584,6 +585,8 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glCombinerParameteriNV)(GLenum,GLint);
         void       (WINE_GLAPI *p_glCombinerParameterivNV)(GLenum,const GLint*);
         void       (WINE_GLAPI *p_glCombinerStageParameterfvNV)(GLenum,GLenum,const GLfloat*);
+        void       (WINE_GLAPI *p_glCommandListSegmentsNV)(GLuint,GLuint);
+        void       (WINE_GLAPI *p_glCompileCommandListNV)(GLuint);
         void       (WINE_GLAPI *p_glCompileShader)(GLuint);
         void       (WINE_GLAPI *p_glCompileShaderARB)(GLhandleARB);
         void       (WINE_GLAPI *p_glCompileShaderIncludeARB)(GLuint,GLsizei,const GLchar*const*,const GLint*);
@@ -644,7 +647,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glCopyMultiTexSubImage1DEXT)(GLenum,GLenum,GLint,GLint,GLint,GLint,GLsizei);
         void       (WINE_GLAPI *p_glCopyMultiTexSubImage2DEXT)(GLenum,GLenum,GLint,GLint,GLint,GLint,GLint,GLsizei,GLsizei);
         void       (WINE_GLAPI *p_glCopyMultiTexSubImage3DEXT)(GLenum,GLenum,GLint,GLint,GLint,GLint,GLint,GLint,GLsizei,GLsizei);
-        void       (WINE_GLAPI *p_glCopyNamedBufferSubData)(GLuint,GLuint,GLintptr,GLintptr,GLsizei);
+        void       (WINE_GLAPI *p_glCopyNamedBufferSubData)(GLuint,GLuint,GLintptr,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glCopyPathNV)(GLuint,GLuint);
         void       (WINE_GLAPI *p_glCopyTexImage1DEXT)(GLenum,GLint,GLenum,GLint,GLint,GLsizei,GLint);
         void       (WINE_GLAPI *p_glCopyTexImage2DEXT)(GLenum,GLint,GLenum,GLint,GLint,GLsizei,GLsizei,GLint);
@@ -667,6 +670,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glCoverageModulationNV)(GLenum);
         void       (WINE_GLAPI *p_glCoverageModulationTableNV)(GLsizei,const GLfloat*);
         void       (WINE_GLAPI *p_glCreateBuffers)(GLsizei,GLuint*);
+        void       (WINE_GLAPI *p_glCreateCommandListsNV)(GLsizei,GLuint*);
         void       (WINE_GLAPI *p_glCreateFramebuffers)(GLsizei,GLuint*);
         void       (WINE_GLAPI *p_glCreatePerfQueryINTEL)(GLuint,GLuint*);
         GLuint     (WINE_GLAPI *p_glCreateProgram)(void);
@@ -679,6 +683,7 @@ struct opengl_funcs
         GLhandleARB (WINE_GLAPI *p_glCreateShaderObjectARB)(GLenum);
         GLuint     (WINE_GLAPI *p_glCreateShaderProgramEXT)(GLenum,const GLchar*);
         GLuint     (WINE_GLAPI *p_glCreateShaderProgramv)(GLenum,GLsizei,const GLchar*const*);
+        void       (WINE_GLAPI *p_glCreateStatesNV)(GLsizei,GLuint*);
         GLsync     (WINE_GLAPI *p_glCreateSyncFromCLeventARB)(void*,void*,GLbitfield);
         void       (WINE_GLAPI *p_glCreateTextures)(GLenum,GLsizei,GLuint*);
         void       (WINE_GLAPI *p_glCreateTransformFeedbacks)(GLsizei,GLuint*);
@@ -702,6 +707,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glDeleteBufferRegion)(GLenum);
         void       (WINE_GLAPI *p_glDeleteBuffers)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteBuffersARB)(GLsizei,const GLuint*);
+        void       (WINE_GLAPI *p_glDeleteCommandListsNV)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteFencesAPPLE)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteFencesNV)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteFragmentShaderATI)(GLuint);
@@ -725,6 +731,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glDeleteRenderbuffersEXT)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteSamplers)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteShader)(GLuint);
+        void       (WINE_GLAPI *p_glDeleteStatesNV)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteSync)(GLsync);
         void       (WINE_GLAPI *p_glDeleteTexturesEXT)(GLsizei,const GLuint*);
         void       (WINE_GLAPI *p_glDeleteTransformFeedbacks)(GLsizei,const GLuint*);
@@ -767,6 +774,10 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glDrawBuffers)(GLsizei,const GLenum*);
         void       (WINE_GLAPI *p_glDrawBuffersARB)(GLsizei,const GLenum*);
         void       (WINE_GLAPI *p_glDrawBuffersATI)(GLsizei,const GLenum*);
+        void       (WINE_GLAPI *p_glDrawCommandsAddressNV)(GLenum,const GLuint64*,const GLsizei*,GLuint);
+        void       (WINE_GLAPI *p_glDrawCommandsNV)(GLenum,GLuint,const GLintptr*,const GLsizei*,GLuint);
+        void       (WINE_GLAPI *p_glDrawCommandsStatesAddressNV)(const GLuint64*,const GLsizei*,const GLuint*,const GLuint*,GLuint);
+        void       (WINE_GLAPI *p_glDrawCommandsStatesNV)(GLuint,const GLintptr*,const GLsizei*,const GLuint*,const GLuint*,GLuint);
         void       (WINE_GLAPI *p_glDrawElementArrayAPPLE)(GLenum,GLint,GLsizei);
         void       (WINE_GLAPI *p_glDrawElementArrayATI)(GLenum,GLsizei);
         void       (WINE_GLAPI *p_glDrawElementsBaseVertex)(GLenum,GLsizei,GLenum,const void*,GLint);
@@ -837,7 +848,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glFinishTextureSUNX)(void);
         void       (WINE_GLAPI *p_glFlushMappedBufferRange)(GLenum,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glFlushMappedBufferRangeAPPLE)(GLenum,GLintptr,GLsizeiptr);
-        void       (WINE_GLAPI *p_glFlushMappedNamedBufferRange)(GLuint,GLintptr,GLsizei);
+        void       (WINE_GLAPI *p_glFlushMappedNamedBufferRange)(GLuint,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glFlushMappedNamedBufferRangeEXT)(GLuint,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glFlushPixelDataRangeNV)(GLenum);
         void       (WINE_GLAPI *p_glFlushRasterSGIX)(void);
@@ -978,6 +989,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glGetCombinerOutputParameterfvNV)(GLenum,GLenum,GLenum,GLfloat*);
         void       (WINE_GLAPI *p_glGetCombinerOutputParameterivNV)(GLenum,GLenum,GLenum,GLint*);
         void       (WINE_GLAPI *p_glGetCombinerStageParameterfvNV)(GLenum,GLenum,GLfloat*);
+        GLuint     (WINE_GLAPI *p_glGetCommandHeaderNV)(GLenum,GLuint);
         void       (WINE_GLAPI *p_glGetCompressedMultiTexImageEXT)(GLenum,GLenum,GLint,void*);
         void       (WINE_GLAPI *p_glGetCompressedTexImage)(GLenum,GLint,void*);
         void       (WINE_GLAPI *p_glGetCompressedTexImageARB)(GLenum,GLint,void*);
@@ -1086,7 +1098,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glGetNamedBufferParameterui64vNV)(GLuint,GLenum,GLuint64EXT*);
         void       (WINE_GLAPI *p_glGetNamedBufferPointerv)(GLuint,GLenum,void**);
         void       (WINE_GLAPI *p_glGetNamedBufferPointervEXT)(GLuint,GLenum,void**);
-        void       (WINE_GLAPI *p_glGetNamedBufferSubData)(GLuint,GLintptr,GLsizei,void*);
+        void       (WINE_GLAPI *p_glGetNamedBufferSubData)(GLuint,GLintptr,GLsizeiptr,void*);
         void       (WINE_GLAPI *p_glGetNamedBufferSubDataEXT)(GLuint,GLintptr,GLsizeiptr,void*);
         void       (WINE_GLAPI *p_glGetNamedFramebufferAttachmentParameteriv)(GLuint,GLenum,GLenum,GLint*);
         void       (WINE_GLAPI *p_glGetNamedFramebufferAttachmentParameterivEXT)(GLuint,GLenum,GLenum,GLint*);
@@ -1203,6 +1215,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glGetShaderSourceARB)(GLhandleARB,GLsizei,GLsizei*,GLcharARB*);
         void       (WINE_GLAPI *p_glGetShaderiv)(GLuint,GLenum,GLint*);
         void       (WINE_GLAPI *p_glGetSharpenTexFuncSGIS)(GLenum,GLfloat*);
+        GLushort   (WINE_GLAPI *p_glGetStageIndexNV)(GLenum);
         const GLubyte* (WINE_GLAPI *p_glGetStringi)(GLenum,GLuint);
         GLuint     (WINE_GLAPI *p_glGetSubroutineIndex)(GLuint,GLenum,const GLchar*);
         GLint      (WINE_GLAPI *p_glGetSubroutineUniformLocation)(GLuint,GLenum,const GLchar*);
@@ -1382,6 +1395,7 @@ struct opengl_funcs
         GLboolean  (WINE_GLAPI *p_glIsBuffer)(GLuint);
         GLboolean  (WINE_GLAPI *p_glIsBufferARB)(GLuint);
         GLboolean  (WINE_GLAPI *p_glIsBufferResidentNV)(GLenum);
+        GLboolean  (WINE_GLAPI *p_glIsCommandListNV)(GLuint);
         GLboolean  (WINE_GLAPI *p_glIsEnabledIndexedEXT)(GLenum,GLuint);
         GLboolean  (WINE_GLAPI *p_glIsEnabledi)(GLenum,GLuint);
         GLboolean  (WINE_GLAPI *p_glIsFenceAPPLE)(GLuint);
@@ -1408,6 +1422,7 @@ struct opengl_funcs
         GLboolean  (WINE_GLAPI *p_glIsRenderbufferEXT)(GLuint);
         GLboolean  (WINE_GLAPI *p_glIsSampler)(GLuint);
         GLboolean  (WINE_GLAPI *p_glIsShader)(GLuint);
+        GLboolean  (WINE_GLAPI *p_glIsStateNV)(GLuint);
         GLboolean  (WINE_GLAPI *p_glIsSync)(GLsync);
         GLboolean  (WINE_GLAPI *p_glIsTextureEXT)(GLuint);
         GLboolean  (WINE_GLAPI *p_glIsTextureHandleResidentARB)(GLuint64);
@@ -1427,6 +1442,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glLineWidthxOES)(GLfixed);
         void       (WINE_GLAPI *p_glLinkProgram)(GLuint);
         void       (WINE_GLAPI *p_glLinkProgramARB)(GLhandleARB);
+        void       (WINE_GLAPI *p_glListDrawCommandsStatesClientNV)(GLuint,GLuint,const void**,const size_t*,const GLuint*,const GLuint*,GLuint);
         void       (WINE_GLAPI *p_glListParameterfSGIX)(GLuint,GLenum,GLfloat);
         void       (WINE_GLAPI *p_glListParameterfvSGIX)(GLuint,GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glListParameteriSGIX)(GLuint,GLenum,GLint);
@@ -1464,7 +1480,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glMapGrid2xOES)(GLint,GLfixed,GLfixed,GLfixed,GLfixed);
         void*      (WINE_GLAPI *p_glMapNamedBuffer)(GLuint,GLenum);
         void*      (WINE_GLAPI *p_glMapNamedBufferEXT)(GLuint,GLenum);
-        void*      (WINE_GLAPI *p_glMapNamedBufferRange)(GLuint,GLintptr,GLsizei,GLbitfield);
+        void*      (WINE_GLAPI *p_glMapNamedBufferRange)(GLuint,GLintptr,GLsizeiptr,GLbitfield);
         void*      (WINE_GLAPI *p_glMapNamedBufferRangeEXT)(GLuint,GLintptr,GLsizeiptr,GLbitfield);
         void*      (WINE_GLAPI *p_glMapObjectBufferATI)(GLuint);
         void       (WINE_GLAPI *p_glMapParameterfvNV)(GLenum,GLenum,const GLfloat*);
@@ -1691,13 +1707,13 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glMultiTexSubImage1DEXT)(GLenum,GLenum,GLint,GLint,GLsizei,GLenum,GLenum,const void*);
         void       (WINE_GLAPI *p_glMultiTexSubImage2DEXT)(GLenum,GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLenum,const void*);
         void       (WINE_GLAPI *p_glMultiTexSubImage3DEXT)(GLenum,GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,const void*);
-        void       (WINE_GLAPI *p_glNamedBufferData)(GLuint,GLsizei,const void*,GLenum);
+        void       (WINE_GLAPI *p_glNamedBufferData)(GLuint,GLsizeiptr,const void*,GLenum);
         void       (WINE_GLAPI *p_glNamedBufferDataEXT)(GLuint,GLsizeiptr,const void*,GLenum);
         void       (WINE_GLAPI *p_glNamedBufferPageCommitmentARB)(GLuint,GLintptr,GLsizeiptr,GLboolean);
         void       (WINE_GLAPI *p_glNamedBufferPageCommitmentEXT)(GLuint,GLintptr,GLsizeiptr,GLboolean);
-        void       (WINE_GLAPI *p_glNamedBufferStorage)(GLuint,GLsizei,const void*,GLbitfield);
+        void       (WINE_GLAPI *p_glNamedBufferStorage)(GLuint,GLsizeiptr,const void*,GLbitfield);
         void       (WINE_GLAPI *p_glNamedBufferStorageEXT)(GLuint,GLsizeiptr,const void*,GLbitfield);
-        void       (WINE_GLAPI *p_glNamedBufferSubData)(GLuint,GLintptr,GLsizei,const void*);
+        void       (WINE_GLAPI *p_glNamedBufferSubData)(GLuint,GLintptr,GLsizeiptr,const void*);
         void       (WINE_GLAPI *p_glNamedBufferSubDataEXT)(GLuint,GLintptr,GLsizeiptr,const void*);
         void       (WINE_GLAPI *p_glNamedCopyBufferSubDataEXT)(GLuint,GLuint,GLintptr,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glNamedFramebufferDrawBuffer)(GLuint,GLenum);
@@ -2146,6 +2162,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glSpriteParameteriSGIX)(GLenum,GLint);
         void       (WINE_GLAPI *p_glSpriteParameterivSGIX)(GLenum,const GLint*);
         void       (WINE_GLAPI *p_glStartInstrumentsSGIX)(void);
+        void       (WINE_GLAPI *p_glStateCaptureNV)(GLuint,GLenum);
         void       (WINE_GLAPI *p_glStencilClearTagEXT)(GLsizei,GLuint);
         void       (WINE_GLAPI *p_glStencilFillPathInstancedNV)(GLsizei,GLenum,const void*,GLuint,GLenum,GLuint,GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glStencilFillPathNV)(GLuint,GLenum,GLuint);
@@ -2275,7 +2292,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glTextureBarrierNV)(void);
         void       (WINE_GLAPI *p_glTextureBuffer)(GLuint,GLenum,GLuint);
         void       (WINE_GLAPI *p_glTextureBufferEXT)(GLuint,GLenum,GLenum,GLuint);
-        void       (WINE_GLAPI *p_glTextureBufferRange)(GLuint,GLenum,GLuint,GLintptr,GLsizei);
+        void       (WINE_GLAPI *p_glTextureBufferRange)(GLuint,GLenum,GLuint,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glTextureBufferRangeEXT)(GLuint,GLenum,GLenum,GLuint,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glTextureColorMaskSGIS)(GLboolean,GLboolean,GLboolean,GLboolean);
         void       (WINE_GLAPI *p_glTextureImage1DEXT)(GLuint,GLenum,GLint,GLint,GLsizei,GLint,GLenum,GLenum,const void*);
@@ -2324,7 +2341,7 @@ struct opengl_funcs
         void       (WINE_GLAPI *p_glTrackMatrixNV)(GLenum,GLuint,GLenum,GLenum);
         void       (WINE_GLAPI *p_glTransformFeedbackAttribsNV)(GLsizei,const GLint*,GLenum);
         void       (WINE_GLAPI *p_glTransformFeedbackBufferBase)(GLuint,GLuint,GLuint);
-        void       (WINE_GLAPI *p_glTransformFeedbackBufferRange)(GLuint,GLuint,GLuint,GLintptr,GLsizei);
+        void       (WINE_GLAPI *p_glTransformFeedbackBufferRange)(GLuint,GLuint,GLuint,GLintptr,GLsizeiptr);
         void       (WINE_GLAPI *p_glTransformFeedbackStreamAttribsNV)(GLsizei,const GLint*,GLsizei,const GLint*,GLenum);
         void       (WINE_GLAPI *p_glTransformFeedbackVaryings)(GLuint,GLsizei,const GLchar*const*,GLenum);
         void       (WINE_GLAPI *p_glTransformFeedbackVaryingsEXT)(GLuint,GLsizei,const GLchar*const*,GLenum);
-- 
2.0.5




More information about the wine-patches mailing list