[PATCH v3 0/15] MR10349: opengl32: Implement wglGetProcAddress on the client side.
And rework extensions parser. -- v3: opengl32: Implement wglGetProcAddress on the client side. win32u: Query every OpenGL functions on initialization. opengl32: Always check available extensions in wrap_wglGetProcAddress. opengl32: Introduce get_function_entry helper. opengl32: Store extensions an an enum in functions registry. opengl32: Store core GL version separate from extensions in the function registry. opengl32: Use parse_extensions in filter_extensions. opengl32: Initialize enabled / disabled OpenGL extensions struct. opengl32: Implement glGetStringi(GL_EXTENSIONS) on client side. opengl32: Store extension_array as opengl_extension. opengl32: Rename ALL_GL_CLIENT_EXTS to ALL_GL_EXTS. opengl32: Remove unexposed extensions for functions registry. opengl32: Move GL_NUM_EXTENSIONS to client side. opengl32: Implement wglGetExtensionsString(ARB|EXT) on the PE side. opengl32: Move major / minor version to the PE side context wrapper. https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/make_opengl | 5 +++ dlls/opengl32/thunks.c | 41 +---------------- dlls/opengl32/unix_wgl.c | 32 ++++++-------- dlls/opengl32/wgl.c | 85 ++++++++++++++++++++++++++++++++++++ include/wine/opengl_driver.h | 2 + 5 files changed, 106 insertions(+), 59 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index cc5b6b83f94..1442ad7def9 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -168,6 +168,11 @@ my %manual_win_thunks = "glCreateSyncFromCLeventARB" => 1, "glDeleteSync" => 1, "glFenceSync" => 1, + "glGetBooleanv" => 1, + "glGetDoublev" => 1, + "glGetFloatv" => 1, + "glGetInteger64v" => 1, + "glGetIntegerv" => 1, "glGetString" => 1, "glGetStringi" => 1, "glImportSyncEXT" => 1, diff --git a/dlls/opengl32/thunks.c b/dlls/opengl32/thunks.c index 5e69946db38..590d07a9087 100644 --- a/dlls/opengl32/thunks.c +++ b/dlls/opengl32/thunks.c @@ -840,14 +840,6 @@ void WINAPI glGenTextures( GLsizei n, GLuint *textures ) if ((status = UNIX_CALL( glGenTextures, &args ))) WARN( "glGenTextures returned %#lx\n", status ); } -void WINAPI glGetBooleanv( GLenum pname, GLboolean *data ) -{ - struct glGetBooleanv_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; - NTSTATUS status; - TRACE( "pname %d, data %p\n", pname, data ); - if ((status = UNIX_CALL( glGetBooleanv, &args ))) WARN( "glGetBooleanv returned %#lx\n", status ); -} - void WINAPI glGetClipPlane( GLenum plane, GLdouble *equation ) { struct glGetClipPlane_params args = { .teb = NtCurrentTeb(), .plane = plane, .equation = equation }; @@ -856,14 +848,6 @@ void WINAPI glGetClipPlane( GLenum plane, GLdouble *equation ) if ((status = UNIX_CALL( glGetClipPlane, &args ))) WARN( "glGetClipPlane returned %#lx\n", status ); } -void WINAPI glGetDoublev( GLenum pname, GLdouble *data ) -{ - struct glGetDoublev_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; - NTSTATUS status; - TRACE( "pname %d, data %p\n", pname, data ); - if ((status = UNIX_CALL( glGetDoublev, &args ))) WARN( "glGetDoublev returned %#lx\n", status ); -} - GLenum WINAPI glGetError(void) { struct glGetError_params args = { .teb = NtCurrentTeb() }; @@ -873,22 +857,6 @@ GLenum WINAPI glGetError(void) return args.ret; } -void WINAPI glGetFloatv( GLenum pname, GLfloat *data ) -{ - struct glGetFloatv_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; - NTSTATUS status; - TRACE( "pname %d, data %p\n", pname, data ); - if ((status = UNIX_CALL( glGetFloatv, &args ))) WARN( "glGetFloatv returned %#lx\n", status ); -} - -void WINAPI glGetIntegerv( GLenum pname, GLint *data ) -{ - struct glGetIntegerv_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; - NTSTATUS status; - TRACE( "pname %d, data %p\n", pname, data ); - if ((status = UNIX_CALL( glGetIntegerv, &args ))) WARN( "glGetIntegerv returned %#lx\n", status ); -} - void WINAPI glGetLightfv( GLenum light, GLenum pname, GLfloat *params ) { struct glGetLightfv_params args = { .teb = NtCurrentTeb(), .light = light, .pname = pname, .params = params }; @@ -8634,14 +8602,6 @@ static void WINAPI glGetInteger64i_v( GLenum target, GLuint index, GLint64 *data if ((status = UNIX_CALL( glGetInteger64i_v, &args ))) WARN( "glGetInteger64i_v returned %#lx\n", status ); } -static void WINAPI glGetInteger64v( GLenum pname, GLint64 *data ) -{ - struct glGetInteger64v_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; - NTSTATUS status; - TRACE( "pname %d, data %p\n", pname, data ); - if ((status = UNIX_CALL( glGetInteger64v, &args ))) WARN( "glGetInteger64v returned %#lx\n", status ); -} - static void WINAPI glGetIntegerIndexedvEXT( GLenum target, GLuint index, GLint *data ) { struct glGetIntegerIndexedvEXT_params args = { .teb = NtCurrentTeb(), .target = target, .index = index, .data = data }; @@ -24826,6 +24786,7 @@ static BOOL WINAPI wglSwapIntervalEXT( int interval ) extern GLsync WINAPI glCreateSyncFromCLeventARB( struct _cl_context *context, struct _cl_event *event, GLbitfield flags ); extern void WINAPI glDeleteSync( GLsync sync ); extern GLsync WINAPI glFenceSync( GLenum condition, GLbitfield flags ); +extern void WINAPI glGetInteger64v( GLenum pname, GLint64 *data ); extern const GLubyte * WINAPI glGetStringi( GLenum name, GLuint index ); extern GLsync WINAPI glImportSyncEXT( GLenum external_sync_type, GLintptr external_sync, GLbitfield flags ); extern BOOL WINAPI wglChoosePixelFormatARB( HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats ); diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 4adeb1a6766..dfa8b2babb6 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -130,8 +130,6 @@ struct context HGLRC share; /* context to be shared with */ int *attribs; /* creation attributes */ DWORD tid; /* thread that the context is current in */ - int major_version; /* major GL version */ - int minor_version; /* minor GL version */ UINT64 debug_callback; /* client pointer */ UINT64 debug_user; /* client pointer */ GLubyte *extensions; /* extension string */ @@ -741,6 +739,7 @@ static GLubyte *filter_extensions( struct context *ctx, const char *extensions, /* Check if any GL extension from the list is supported */ static BOOL is_any_extension_supported( struct context *ctx, const char *extension ) { + struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); size_t len; /* We use the GetProcAddress function from the display driver to retrieve function pointers @@ -767,10 +766,10 @@ static BOOL is_any_extension_supported( struct context *ctx, const char *extensi /* Compare the major/minor version numbers of the native OpenGL library and what is required by the function. * The gl_version string is guaranteed to have at least a major/minor and sometimes it has a release number as well. */ - if (ctx->major_version > major || (ctx->major_version == major && ctx->minor_version >= minor)) return TRUE; + if (client->major_version > major || (client->major_version == major && client->minor_version >= minor)) return TRUE; WARN( "The function requires OpenGL version '%d.%d' while your drivers only provide '%d.%d'\n", - major, minor, ctx->major_version, ctx->minor_version ); + major, minor, client->major_version, client->minor_version ); } extension += len + 1; @@ -838,12 +837,6 @@ static BOOL get_integer( TEB *teb, GLenum pname, GLint *data ) switch (pname) { - case GL_MAJOR_VERSION: - *data = ctx->major_version; - return TRUE; - case GL_MINOR_VERSION: - *data = ctx->minor_version; - return TRUE; case GL_NUM_EXTENSIONS: *data = ctx->extension_count; return TRUE; @@ -1185,6 +1178,7 @@ static BOOL initialize_vk_device( TEB *teb, struct context *ctx ) static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HDC draw_hdc, HDC read_hdc, HGLRC client_context, struct context *ctx ) { + struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); DWORD tid = HandleToULong(teb->ClientId.UniqueThread); size_t size = ARRAYSIZE(legacy_extensions) - 1, count = 0; const char *version, *rest = "", **extensions; @@ -1198,17 +1192,17 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD teb->glTable = (void *)funcs; pop_default_fbo( teb ); - if (ctx->major_version) return; /* already synced */ + if (client->major_version) return; /* already synced */ version = (const char *)funcs->p_glGetString( GL_VERSION ); - if (version) rest = parse_gl_version( version, &ctx->major_version, &ctx->minor_version ); - if (!ctx->major_version) ctx->major_version = 1; - TRACE( "context %p version %d.%d\n", ctx, ctx->major_version, ctx->minor_version ); + if (version) rest = parse_gl_version( version, &client->major_version, &client->minor_version ); + if (!client->major_version) client->major_version = 1; + TRACE( "context %p version %d.%d\n", ctx, client->major_version, client->minor_version ); if (funcs->p_glImportMemoryWin32HandleEXT) size++; if (funcs->p_glImportSemaphoreWin32HandleEXT) size++; - if (ctx->major_version >= 3) + if (client->major_version >= 3) { GLint extensions_count; @@ -1276,11 +1270,11 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD if (is_win64 && ctx->buffers && !initialize_vk_device( teb, ctx ) && !(ctx->use_pinned_memory = is_extension_supported( ctx, "GL_AMD_pinned_memory" ))) { - if (ctx->major_version > 4 || (ctx->major_version == 4 && ctx->minor_version > 3)) + if (client->major_version > 4 || (client->major_version == 4 && client->minor_version > 3)) { - FIXME( "GL version %d.%d is not supported on wow64, using 4.3\n", ctx->major_version, ctx->minor_version ); - ctx->major_version = 4; - ctx->minor_version = 3; + FIXME( "GL version %d.%d is not supported on wow64, using 4.3\n", client->major_version, client->minor_version ); + client->major_version = 4; + client->minor_version = 3; asprintf( &ctx->wow64_version, "4.3%s", rest ); } for (i = 0, j = 0; i < count; i++) diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index ce98e049a77..7de83b78a47 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -1990,6 +1990,21 @@ GLsync WINAPI glImportSyncEXT( GLenum external_sync_type, GLintptr external_sync return NULL; } +static BOOL get_integer( struct context *ctx, GLenum name, GLint *data ) +{ + switch (name) + { + case GL_MAJOR_VERSION: + *data = ctx->base.major_version; + return TRUE; + case GL_MINOR_VERSION: + *data = ctx->base.minor_version; + return TRUE; + } + + return FALSE; +} + const GLubyte * WINAPI glGetStringi( GLenum name, GLuint index ) { struct glGetStringi_params args = @@ -2040,6 +2055,76 @@ const GLubyte * WINAPI glGetString( GLenum name ) return args.ret; } +void WINAPI glGetBooleanv( GLenum pname, GLboolean *data ) +{ + struct glGetBooleanv_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; + struct context *ctx; + NTSTATUS status; + GLint value; + + TRACE( "pname %d, data %p\n", pname, data ); + + if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return; + if (get_integer( ctx, pname, &value )) *data = value; + else if ((status = UNIX_CALL( glGetBooleanv, &args ))) WARN( "glGetBooleanv returned %#lx\n", status ); +} + +void WINAPI glGetDoublev( GLenum pname, GLdouble *data ) +{ + struct glGetDoublev_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; + struct context *ctx; + NTSTATUS status; + GLint value; + + TRACE( "pname %d, data %p\n", pname, data ); + + if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return; + if (get_integer( ctx, pname, &value )) *data = value; + else if ((status = UNIX_CALL( glGetDoublev, &args ))) WARN( "glGetDoublev returned %#lx\n", status ); +} + +void WINAPI glGetFloatv( GLenum pname, GLfloat *data ) +{ + struct glGetFloatv_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; + struct context *ctx; + NTSTATUS status; + GLint value; + + TRACE( "pname %d, data %p\n", pname, data ); + + if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return; + if (get_integer( ctx, pname, &value )) *data = value; + else if ((status = UNIX_CALL( glGetFloatv, &args ))) WARN( "glGetFloatv returned %#lx\n", status ); +} + +void WINAPI glGetInteger64v( GLenum pname, GLint64 *data ) +{ + struct glGetInteger64v_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; + struct context *ctx; + NTSTATUS status; + GLint value; + + TRACE( "pname %d, data %p\n", pname, data ); + + if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return; + if (get_integer( ctx, pname, &value )) *data = value; + else if ((status = UNIX_CALL( glGetInteger64v, &args ))) WARN( "glGetInteger64v returned %#lx\n", status ); +} + +void WINAPI glGetIntegerv( GLenum pname, GLint *data ) +{ + struct glGetIntegerv_params args = { .teb = NtCurrentTeb(), .pname = pname, .data = data }; + struct context *ctx; + NTSTATUS status; + GLint value; + + TRACE( "pname %d, data %p\n", pname, data ); + + if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return; + if (get_integer( ctx, pname, &value )) *data = value; + else if ((status = UNIX_CALL( glGetIntegerv, &args ))) WARN( "glGetIntegerv returned %#lx\n", status ); +} + const char * WINAPI wglGetExtensionsStringARB( HDC hdc ) { struct wglGetExtensionsStringARB_params args = { .teb = NtCurrentTeb(), .hdc = hdc }; diff --git a/include/wine/opengl_driver.h b/include/wine/opengl_driver.h index 7b2cea0a87b..2ba20f799d1 100644 --- a/include/wine/opengl_driver.h +++ b/include/wine/opengl_driver.h @@ -65,6 +65,8 @@ struct opengl_client_context UINT64 unix_handle; UINT64 unix_funcs; GLenum last_error; + int major_version; + int minor_version; }; static inline struct opengl_client_context *opengl_client_context_from_client( HGLRC client_context ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/make_opengl | 5 ++- dlls/opengl32/tests/opengl.c | 51 +++++++++++++++++----- dlls/opengl32/unix_thunks.c | 52 ---------------------- dlls/opengl32/unix_wgl.c | 2 + dlls/opengl32/unixlib.h | 15 ------- dlls/opengl32/wgl.c | 66 ++++++++++++++-------------- dlls/win32u/opengl.c | 81 +++++++++++++---------------------- dlls/wineandroid.drv/opengl.c | 6 +-- dlls/winemac.drv/opengl.c | 33 +++++--------- dlls/winewayland.drv/opengl.c | 2 +- dlls/winex11.drv/opengl.c | 39 ++++++----------- include/wine/opengl_driver.h | 13 +++++- include/wine/wgl.h | 2 + 13 files changed, 151 insertions(+), 216 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 1442ad7def9..b16642707db 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -154,6 +154,8 @@ my %manual_win_functions = "wglGetCurrentDC" => 1, "wglGetCurrentReadDCARB" => 1, "wglGetDefaultProcAddress" => 1, + "wglGetExtensionsStringARB" => 1, + "wglGetExtensionsStringEXT" => 1, "wglGetLayerPaletteEntries" => 1, "wglRealizeLayerPalette" => 1, "wglSetLayerPaletteEntries" => 1, @@ -182,8 +184,6 @@ my %manual_win_thunks = "wglCreatePbufferARB" => 1, "wglDeleteContext" => 1, "wglDestroyPbufferARB" => 1, - "wglGetExtensionsStringARB" => 1, - "wglGetExtensionsStringEXT" => 1, "wglGetPixelFormat" => 1, "wglGetPixelFormatAttribfvARB" => 1, "wglGetPixelFormatAttribivARB" => 1, @@ -1499,6 +1499,7 @@ foreach (sort keys %wgl_extensions) printf HEADER " \\\n USE_GL_EXT(\%s)", $_; } print HEADER "\n\n"; +print HEADER "#define WGL_FIRST_EXTENSION " . (sort keys %wgl_extensions)[0] . "\n\n"; print HEADER "#define ALL_WGL_FUNCS"; foreach (sort keys %wgl_functions) { diff --git a/dlls/opengl32/tests/opengl.c b/dlls/opengl32/tests/opengl.c index ed1138c8327..64434c5143b 100644 --- a/dlls/opengl32/tests/opengl.c +++ b/dlls/opengl32/tests/opengl.c @@ -58,6 +58,13 @@ static const char *debugstr_ok( const char *cond ) } while (0) #define ok_ret( e, r ) ok_ex( r, ==, e, UINT, "%#x" ) +#define check_gl_error(exp) check_gl_error_(__LINE__, exp) +static void check_gl_error_( unsigned int line, GLenum exp ) +{ + GLenum err = glGetError(); + ok_(__FILE__,line)( err == exp, "glGetError returned %x, expected %x\n", err, exp ); +} + static NTSTATUS (WINAPI *pD3DKMTCreateDCFromMemory)( D3DKMT_CREATEDCFROMMEMORY *desc ); static NTSTATUS (WINAPI *pD3DKMTDestroyDCFromMemory)( const D3DKMT_DESTROYDCFROMMEMORY *desc ); @@ -66,6 +73,7 @@ static HGLRC (WINAPI *pwglCreateContextAttribsARB)(HDC hDC, HGLRC hShareContext, /* WGL_ARB_extensions_string */ static const char* (WINAPI *pwglGetExtensionsStringARB)(HDC); +static const char* (WINAPI *pwglGetExtensionsStringEXT)(void); /* WGL_ARB_make_current_read */ static BOOL (WINAPI *pwglMakeContextCurrentARB)(HDC hdraw, HDC hread, HGLRC hglrc); @@ -108,11 +116,12 @@ static PFN_glCopyNamedBufferSubData pglCopyNamedBufferSubData; static PFN_glCreateBuffers pglCreateBuffers; static PFN_glDeleteBuffers pglDeleteBuffers; static PFN_glDeleteSync pglDeleteSync; +static PFN_glFenceSync pglFenceSync; static PFN_glFlushMappedBufferRange pglFlushMappedBufferRange; static PFN_glFlushMappedNamedBufferRange pglFlushMappedNamedBufferRange; static PFN_glGenBuffers pglGenBuffers; +static PFN_glGetStringi pglGetStringi; static PFN_glIsSync pglIsSync; -static PFN_glFenceSync pglFenceSync; static PFN_glMapBuffer pglMapBuffer; static PFN_glMapBufferRange pglMapBufferRange; static PFN_glMapNamedBuffer pglMapNamedBuffer; @@ -153,6 +162,7 @@ static void init_functions(void) /* WGL_ARB_extensions_string */ GET_PROC(wglGetExtensionsStringARB) + GET_PROC(wglGetExtensionsStringEXT) /* WGL_ARB_make_current_read */ GET_PROC(wglMakeContextCurrentARB); @@ -195,11 +205,12 @@ static void init_functions(void) GET_PROC(glCreateBuffers) GET_PROC(glDeleteBuffers) GET_PROC(glDeleteSync) + GET_PROC(glFenceSync) GET_PROC(glFlushMappedBufferRange) GET_PROC(glFlushMappedNamedBufferRange) GET_PROC(glGenBuffers) + GET_PROC(glGetStringi) GET_PROC(glIsSync) - GET_PROC(glFenceSync) GET_PROC(glMapBuffer) GET_PROC(glMapBufferRange) GET_PROC(glMapNamedBuffer) @@ -1702,6 +1713,11 @@ static void test_bitmap_rendering( BOOL use_dib ) ret = wglMakeCurrent( hdc, hglrc ); ok( ret, "wglMakeCurrent failed, error %lu\n", GetLastError() ); + pwglGetExtensionsStringEXT = (void *)wglGetProcAddress( "wglGetExtensionsStringEXT" ); + todo_wine ok(!pwglGetExtensionsStringEXT, "got wglGetExtensionsStringEXT %p\n", pwglGetExtensionsStringEXT); + pwglGetExtensionsStringARB = (void *)wglGetProcAddress( "wglGetExtensionsStringARB" ); + todo_wine ok(!pwglGetExtensionsStringARB, "got wglGetExtensionsStringARB %p\n", pwglGetExtensionsStringARB); + glGetIntegerv( GL_READ_BUFFER, &object ); ok( object == GL_FRONT, "got %u\n", object ); glGetIntegerv( GL_DRAW_BUFFER, &object ); @@ -2430,6 +2446,8 @@ static void test_opengl3(HDC hdc) { int attribs[] = {WGL_CONTEXT_MAJOR_VERSION_ARB, 3, WGL_CONTEXT_MINOR_VERSION_ARB, 0, 0}; HGLRC gl3Ctx = pwglCreateContextAttribsARB(hdc, 0, attribs); + const GLubyte *ext; + GLint num; if(gl3Ctx == NULL) { @@ -2437,6 +2455,18 @@ static void test_opengl3(HDC hdc) return; } + wglMakeCurrent(hdc, gl3Ctx); + + glGetIntegerv(GL_NUM_EXTENSIONS, &num); + ok(num > 0, "got %u\n", num); + check_gl_error(0); + ext = pglGetStringi(GL_EXTENSIONS, 0); + ok(!!ext, "got %p\n", ext); + check_gl_error(0); + ext = pglGetStringi(GL_EXTENSIONS, num); + ok(!ext, "got %p\n", ext); + check_gl_error(GL_INVALID_VALUE); + wglDeleteContext(gl3Ctx); } @@ -3577,13 +3607,6 @@ static void test_child_window(HWND hwnd, PIXELFORMATDESCRIPTOR *pfd) DestroyWindow(child); } -#define check_gl_error(exp) check_gl_error_(__LINE__, exp) -static void check_gl_error_( unsigned int line, GLenum exp ) -{ - GLenum err = glGetError(); - ok_(__FILE__,line)( err == exp, "glGetError returned %x, expected %x\n", err, exp ); -} - static void test_gl_error( HDC hdc ) { HGLRC rc, old_rc; @@ -3888,6 +3911,7 @@ START_TEST(opengl) HMODULE gdi32 = GetModuleHandleA("gdi32.dll"); HDC hdc; int iPixelFormat, res; + const char *tmp; HGLRC hglrc; DWORD error; @@ -3976,7 +4000,14 @@ START_TEST(opengl) test_memory_map(hdc); test_gl_error(hdc); - wgl_extensions = pwglGetExtensionsStringARB(hdc); + tmp = pwglGetExtensionsStringEXT(); + ok(tmp && *tmp, "got wgl_extensions %s\n", debugstr_a(tmp)); + wgl_extensions = tmp; + + tmp = pwglGetExtensionsStringARB(hdc); + ok(tmp && *tmp, "got wgl_extensions %s\n", debugstr_a(tmp)); + ok(!strcmp(tmp, wgl_extensions), "got wgl_extensions %s\n", debugstr_a(tmp)); + if(wgl_extensions == NULL) skip("Skipping opengl32 tests because this OpenGL implementation doesn't support WGL extensions!\n"); if(strstr(wgl_extensions, "WGL_ARB_create_context")) diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index 59df91add84..a01dd62152f 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -30407,24 +30407,6 @@ static NTSTATUS ext_wglFreeMemoryNV( void *args ) return STATUS_SUCCESS; } -static NTSTATUS ext_wglGetExtensionsStringARB( void *args ) -{ - struct wglGetExtensionsStringARB_params *params = args; - const struct opengl_funcs *funcs = get_dc_funcs( params->hdc ); - if (!funcs || !funcs->p_wglGetExtensionsStringARB) return STATUS_NOT_IMPLEMENTED; - params->ret = funcs->p_wglGetExtensionsStringARB( params->hdc ); - return STATUS_SUCCESS; -} - -static NTSTATUS ext_wglGetExtensionsStringEXT( void *args ) -{ - struct wglGetExtensionsStringEXT_params *params = args; - const struct opengl_funcs *funcs = params->teb->glTable; - if (!funcs->p_wglGetExtensionsStringEXT) return STATUS_NOT_IMPLEMENTED; - params->ret = funcs->p_wglGetExtensionsStringEXT(); - return STATUS_SUCCESS; -} - static NTSTATUS ext_wglGetPbufferDCARB( void *args ) { struct wglGetPbufferDCARB_params *params = args; @@ -33649,8 +33631,6 @@ const unixlib_entry_t __wine_unix_call_funcs[] = ext_wglCreatePbufferARB, ext_wglDestroyPbufferARB, ext_wglFreeMemoryNV, - ext_wglGetExtensionsStringARB, - ext_wglGetExtensionsStringEXT, ext_wglGetPbufferDCARB, ext_wglGetPixelFormatAttribfvARB, ext_wglGetPixelFormatAttribivARB, @@ -86721,36 +86701,6 @@ static NTSTATUS wow64_ext_wglFreeMemoryNV( void *args ) return STATUS_SUCCESS; } -static NTSTATUS wow64_ext_wglGetExtensionsStringARB( void *args ) -{ - struct - { - PTR32 teb; - PTR32 hdc; - PTR32 ret; - } *params = args; - const char *ret; - const struct opengl_funcs *funcs = get_dc_funcs( ULongToPtr(params->hdc) ); - if (!funcs || !funcs->p_wglGetExtensionsStringARB) return STATUS_NOT_IMPLEMENTED; - ret = funcs->p_wglGetExtensionsStringARB( ULongToPtr(params->hdc) ); - return return_wow64_string( ret, ¶ms->ret ); -} - -static NTSTATUS wow64_ext_wglGetExtensionsStringEXT( void *args ) -{ - struct - { - PTR32 teb; - PTR32 ret; - } *params = args; - TEB *teb = get_teb64( params->teb ); - const char *ret; - const struct opengl_funcs *funcs = teb->glTable; - if (!funcs->p_wglGetExtensionsStringEXT) return STATUS_NOT_IMPLEMENTED; - ret = funcs->p_wglGetExtensionsStringEXT(); - return return_wow64_string( ret, ¶ms->ret ); -} - static NTSTATUS wow64_ext_wglGetPbufferDCARB( void *args ) { struct @@ -90081,8 +90031,6 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_ext_wglCreatePbufferARB, wow64_ext_wglDestroyPbufferARB, wow64_ext_wglFreeMemoryNV, - wow64_ext_wglGetExtensionsStringARB, - wow64_ext_wglGetExtensionsStringEXT, wow64_ext_wglGetPbufferDCARB, wow64_ext_wglGetPixelFormatAttribfvARB, wow64_ext_wglGetPixelFormatAttribivARB, diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index dfa8b2babb6..a5ca17ffabf 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -1199,6 +1199,8 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD if (!client->major_version) client->major_version = 1; TRACE( "context %p version %d.%d\n", ctx, client->major_version, client->minor_version ); + funcs->p_init_extensions( client->extensions ); + if (funcs->p_glImportMemoryWin32HandleEXT) size++; if (funcs->p_glImportSemaphoreWin32HandleEXT) size++; diff --git a/dlls/opengl32/unixlib.h b/dlls/opengl32/unixlib.h index 0731b244c01..bf75c744e0a 100644 --- a/dlls/opengl32/unixlib.h +++ b/dlls/opengl32/unixlib.h @@ -25733,19 +25733,6 @@ struct wglFreeMemoryNV_params void *pointer; }; -struct wglGetExtensionsStringARB_params -{ - TEB *teb; - HDC hdc; - const char *ret; -}; - -struct wglGetExtensionsStringEXT_params -{ - TEB *teb; - const char *ret; -}; - struct wglGetPbufferDCARB_params { TEB *teb; @@ -28975,8 +28962,6 @@ enum unix_funcs unix_wglCreatePbufferARB, unix_wglDestroyPbufferARB, unix_wglFreeMemoryNV, - unix_wglGetExtensionsStringARB, - unix_wglGetExtensionsStringEXT, unix_wglGetPbufferDCARB, unix_wglGetPixelFormatAttribfvARB, unix_wglGetPixelFormatAttribivARB, diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index 7de83b78a47..898541acf28 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -56,6 +56,11 @@ static CRITICAL_SECTION_DEBUG wgl_cs_debug = { 0, 0, { (DWORD_PTR)(__FILE__ ": wgl_cs") } }; static CRITICAL_SECTION wgl_cs = { &wgl_cs_debug, -1, 0, 0, 0, 0 }; +static char *wgl_extensions; + +#define USE_GL_EXT(x) #x, +static const char *extension_names[] = { ALL_GL_EXTS ALL_WGL_EXTS }; +#undef USE_GL_EXT #ifndef _WIN64 @@ -97,6 +102,23 @@ static void cleanup_wow64_strings(void) #endif +static void init_wgl_extensions( const BOOLEAN extensions[GL_EXTENSION_COUNT] ) +{ + UINT pos = 0, len = 0, ext; + char *str; + + for (ext = WGL_FIRST_EXTENSION; ext < GL_EXTENSION_COUNT; ext++) + if (extensions[ext]) len += strlen( extension_names[ext] ) + 1; + + if (!(str = malloc( len + 1 ))) return; + + for (ext = WGL_FIRST_EXTENSION; ext < GL_EXTENSION_COUNT; ext++) + if (extensions[ext]) pos += sprintf( str + pos, "%s ", extension_names[ext] ); + str[pos - 1] = 0; + + wgl_extensions = str; +} + struct handle_entry { UINT handle; @@ -1333,14 +1355,24 @@ int WINAPI wglGetLayerPaletteEntries( HDC hdc, int plane, int start, int count, PROC WINAPI wglGetProcAddress( LPCSTR name ) { struct wglGetProcAddress_params args = { .teb = NtCurrentTeb(), .lpszProc = name }; + struct context *ctx; const void *proc; NTSTATUS status; if (!name) return NULL; + if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return NULL; + if ((status = UNIX_CALL( wglGetProcAddress, &args ))) WARN( "wglGetProcAddress %s returned %#lx\n", debugstr_a(name), status ); if (args.ret == (void *)-1) return NULL; + if (!strncmp( name, "wglGetExtensionsString", 22 )) + { + EnterCriticalSection( &wgl_cs ); + if (!wgl_extensions) init_wgl_extensions( ctx->base.extensions ); + LeaveCriticalSection( &wgl_cs ); + } + proc = extension_procs[(UINT_PTR)args.ret]; TRACE( "returning %s -> %p\n", name, proc ); return proc; @@ -2127,44 +2159,14 @@ void WINAPI glGetIntegerv( GLenum pname, GLint *data ) const char * WINAPI wglGetExtensionsStringARB( HDC hdc ) { - struct wglGetExtensionsStringARB_params args = { .teb = NtCurrentTeb(), .hdc = hdc }; - NTSTATUS status; -#ifndef _WIN64 - char *wow64_str = NULL; -#endif - TRACE( "hdc %p\n", hdc ); - -#ifndef _WIN64 - if (UNIX_CALL( wglGetExtensionsStringARB, &args ) == STATUS_BUFFER_TOO_SMALL) args.ret = wow64_str = malloc( (size_t)args.ret ); -#endif - if ((status = UNIX_CALL( wglGetExtensionsStringARB, &args ))) WARN( "wglGetExtensionsStringARB returned %#lx\n", status ); -#ifndef _WIN64 - if (args.ret != wow64_str) free( wow64_str ); - else if (args.ret) append_wow64_string( wow64_str ); -#endif - return args.ret; + return wgl_extensions; } const char * WINAPI wglGetExtensionsStringEXT(void) { - struct wglGetExtensionsStringEXT_params args = { .teb = NtCurrentTeb() }; - NTSTATUS status; -#ifndef _WIN64 - char *wow64_str = NULL; -#endif - TRACE( "\n" ); - -#ifndef _WIN64 - if (UNIX_CALL( wglGetExtensionsStringEXT, &args ) == STATUS_BUFFER_TOO_SMALL) args.ret = wow64_str = malloc( (size_t)args.ret ); -#endif - if ((status = UNIX_CALL( wglGetExtensionsStringEXT, &args ))) WARN( "wglGetExtensionsStringEXT returned %#lx\n", status ); -#ifndef _WIN64 - if (args.ret != wow64_str) free( wow64_str ); - else if (args.ret) append_wow64_string( wow64_str ); -#endif - return args.ret; + return wgl_extensions; } const GLchar * WINAPI wglQueryCurrentRendererStringWINE( GLenum attribute ) diff --git a/dlls/win32u/opengl.c b/dlls/win32u/opengl.c index 6452ab019ed..28050d9a94c 100644 --- a/dlls/win32u/opengl.c +++ b/dlls/win32u/opengl.c @@ -63,9 +63,9 @@ static struct list devices_egl = LIST_INIT( devices_egl ); static struct egl_platform display_egl; static struct opengl_funcs display_funcs; +static BOOLEAN global_extensions[GL_EXTENSION_COUNT]; static struct wgl_pixel_format *pixel_formats; static UINT formats_count, onscreen_count; -static char wgl_extensions[4096]; static BOOL has_extension( const char *list, const char *ext ) { @@ -98,17 +98,6 @@ static void dump_extensions( const char *list ) TRACE( "%s\n", start ); } -static void register_extension( char *list, size_t size, const char *name ) -{ - if (!has_extension( list, name )) - { - size_t len = strlen( list ); - assert( size - len >= strlen( name ) + 1 ); - if (*list) strcat( list + len, " " ); - strcat( list + len, name ); - } -} - void *opengl_drawable_create( UINT size, const struct opengl_drawable_funcs *funcs, int format, struct client_surface *client ) { struct opengl_drawable *drawable; @@ -651,9 +640,8 @@ static BOOL egldrv_describe_pixel_format( int format, struct wgl_pixel_format *d return describe_egl_config( egl->configs[format % count], desc, pixel_format_flags[format / count] ); } -static const char *egldrv_init_wgl_extensions( struct opengl_funcs *funcs ) +static void egldrv_init_extensions( struct opengl_funcs *funcs, BOOLEAN extensions[GL_EXTENSION_COUNT] ) { - return ""; } static BOOL egldrv_surface_create( HWND hwnd, int format, struct opengl_drawable **drawable ) @@ -862,7 +850,7 @@ static const struct opengl_driver_funcs egldrv_funcs = .p_get_proc_address = egldrv_get_proc_address, .p_init_pixel_formats = egldrv_init_pixel_formats, .p_describe_pixel_format = egldrv_describe_pixel_format, - .p_init_wgl_extensions = egldrv_init_wgl_extensions, + .p_init_extensions = egldrv_init_extensions, .p_surface_create = egldrv_surface_create, .p_pbuffer_create = egldrv_pbuffer_create, .p_pbuffer_updated = egldrv_pbuffer_updated, @@ -1268,9 +1256,8 @@ static BOOL nulldrv_describe_pixel_format( int format, struct wgl_pixel_format * return TRUE; } -static const char *nulldrv_init_wgl_extensions( struct opengl_funcs *funcs ) +static void nulldrv_init_extensions( struct opengl_funcs *funcs, BOOLEAN extensions[GL_EXTENSION_COUNT] ) { - return ""; } static BOOL nulldrv_surface_create( HWND hwnd, int format, struct opengl_drawable **drawable ) @@ -1314,7 +1301,7 @@ static const struct opengl_driver_funcs nulldrv_funcs = .p_get_proc_address = nulldrv_get_proc_address, .p_init_pixel_formats = nulldrv_init_pixel_formats, .p_describe_pixel_format = nulldrv_describe_pixel_format, - .p_init_wgl_extensions = nulldrv_init_wgl_extensions, + .p_init_extensions = nulldrv_init_extensions, .p_surface_create = nulldrv_surface_create, .p_pbuffer_create = nulldrv_pbuffer_create, .p_pbuffer_updated = nulldrv_pbuffer_updated, @@ -1324,20 +1311,6 @@ static const struct opengl_driver_funcs nulldrv_funcs = .p_make_current = nulldrv_make_current, }; -static const char *win32u_wglGetExtensionsStringARB( HDC hdc ) -{ - TRACE( "hdc %p\n", hdc ); - if (TRACE_ON(wgl)) dump_extensions( wgl_extensions ); - return wgl_extensions; -} - -static const char *win32u_wglGetExtensionsStringEXT(void) -{ - TRACE( "\n" ); - if (TRACE_ON(wgl)) dump_extensions( wgl_extensions ); - return wgl_extensions; -} - static int win32u_wglGetPixelFormat( HDC hdc ) { BOOL is_display = is_dc_display( hdc ); @@ -1760,6 +1733,11 @@ static PROC win32u_wglGetProcAddress( const char *name ) return ret; } +static void win32u_init_extensions( BOOLEAN extensions[GL_EXTENSION_COUNT] ) +{ + memcpy( extensions, global_extensions, sizeof(global_extensions) ); +} + static void win32u_get_pixel_formats( struct wgl_pixel_format *formats, UINT max_formats, UINT *num_formats, UINT *num_onscreen_formats ) { @@ -2728,9 +2706,10 @@ static void display_funcs_init(void) #undef USE_GL_FUNC display_funcs.p_wglGetProcAddress = win32u_wglGetProcAddress; + display_funcs.p_init_extensions = win32u_init_extensions; display_funcs.p_get_pixel_formats = win32u_get_pixel_formats; - strcpy( wgl_extensions, driver_funcs->p_init_wgl_extensions( &display_funcs ) ); + driver_funcs->p_init_extensions( &display_funcs, global_extensions ); display_funcs.p_wglGetPixelFormat = win32u_wglGetPixelFormat; display_funcs.p_wglSetPixelFormat = win32u_wglSetPixelFormat; @@ -2746,54 +2725,54 @@ static void display_funcs_init(void) display_funcs.p_context_destroy = win32u_context_destroy; display_funcs.p_context_reset = win32u_context_reset; - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_multisample" ); + global_extensions[WGL_ARB_multisample] = 1; - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_pixel_format" ); + global_extensions[WGL_ARB_pixel_format] = 1; display_funcs.p_wglChoosePixelFormatARB = (void *)1; /* never called */ display_funcs.p_wglGetPixelFormatAttribfvARB = (void *)1; /* never called */ display_funcs.p_wglGetPixelFormatAttribivARB = (void *)1; /* never called */ if (display_egl.has_EGL_EXT_pixel_format_float) { - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_pixel_format_float" ); - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ATI_pixel_format_float" ); + global_extensions[WGL_ARB_pixel_format_float] = 1; + global_extensions[WGL_ATI_pixel_format_float] = 1; } - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_extensions_string" ); - display_funcs.p_wglGetExtensionsStringARB = win32u_wglGetExtensionsStringARB; + global_extensions[WGL_ARB_extensions_string] = 1; + display_funcs.p_wglGetExtensionsStringARB = (void *)1 /* never called */; - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_EXT_extensions_string" ); - display_funcs.p_wglGetExtensionsStringEXT = win32u_wglGetExtensionsStringEXT; + global_extensions[WGL_EXT_extensions_string] = 1; + display_funcs.p_wglGetExtensionsStringEXT = (void *)1 /* never called */; /* In WineD3D we need the ability to set the pixel format more than once (e.g. after a device reset). * The default wglSetPixelFormat doesn't allow this, so add our own which allows it. */ - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_WINE_pixel_format_passthrough" ); + global_extensions[WGL_WINE_pixel_format_passthrough] = 1; display_funcs.p_wglSetPixelFormatWINE = win32u_wglSetPixelFormatWINE; - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_create_context" ); - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_create_context_no_error" ); - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_create_context_profile" ); + global_extensions[WGL_ARB_create_context] = 1; + global_extensions[WGL_ARB_create_context_no_error] = 1; + global_extensions[WGL_ARB_create_context_profile] = 1; display_funcs.p_wglCreateContextAttribsARB = (void *)1; /* never called */ - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_make_current_read" ); + global_extensions[WGL_ARB_make_current_read] = 1; display_funcs.p_wglGetCurrentReadDCARB = (void *)1; /* never called */ display_funcs.p_wglMakeContextCurrentARB = win32u_wglMakeContextCurrentARB; - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_pbuffer" ); + global_extensions[WGL_ARB_pbuffer] = 1; display_funcs.p_wglCreatePbufferARB = win32u_wglCreatePbufferARB; display_funcs.p_wglDestroyPbufferARB = win32u_wglDestroyPbufferARB; display_funcs.p_wglGetPbufferDCARB = win32u_wglGetPbufferDCARB; display_funcs.p_wglReleasePbufferDCARB = win32u_wglReleasePbufferDCARB; display_funcs.p_wglQueryPbufferARB = win32u_wglQueryPbufferARB; - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_ARB_render_texture" ); + global_extensions[WGL_ARB_render_texture] = 1; display_funcs.p_wglBindTexImageARB = win32u_wglBindTexImageARB; display_funcs.p_wglReleaseTexImageARB = win32u_wglReleaseTexImageARB; display_funcs.p_wglSetPbufferAttribARB = win32u_wglSetPbufferAttribARB; - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_EXT_swap_control" ); - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_EXT_swap_control_tear" ); + global_extensions[WGL_EXT_swap_control] = 1; + global_extensions[WGL_EXT_swap_control_tear] = 1; display_funcs.p_wglSwapIntervalEXT = win32u_wglSwapIntervalEXT; display_funcs.p_wglGetSwapIntervalEXT = win32u_wglGetSwapIntervalEXT; @@ -2810,7 +2789,7 @@ static void display_funcs_init(void) if (!list_empty( &devices_egl )) { - register_extension( wgl_extensions, ARRAY_SIZE(wgl_extensions), "WGL_WINE_query_renderer" ); + global_extensions[WGL_WINE_query_renderer] = 1; display_funcs.p_query_renderer = win32u_query_renderer; display_funcs.p_wglQueryCurrentRendererIntegerWINE = win32u_wglQueryCurrentRendererIntegerWINE; display_funcs.p_wglQueryCurrentRendererStringWINE = win32u_wglQueryCurrentRendererStringWINE; diff --git a/dlls/wineandroid.drv/opengl.c b/dlls/wineandroid.drv/opengl.c index 0460dfd50b4..62b4fa7dd6c 100644 --- a/dlls/wineandroid.drv/opengl.c +++ b/dlls/wineandroid.drv/opengl.c @@ -156,16 +156,16 @@ static void android_drawable_flush( struct opengl_drawable *base, UINT flags ) if (flags & GL_FLUSH_INTERVAL) funcs->p_eglSwapInterval( egl->display, abs( base->interval ) ); } -static const char *android_init_wgl_extensions( struct opengl_funcs *funcs ) +static void android_init_extensions( struct opengl_funcs *funcs, BOOLEAN extensions[GL_EXTENSION_COUNT] ) { - return "WGL_EXT_framebuffer_sRGB"; + extensions[WGL_EXT_framebuffer_sRGB] = 1; } static struct opengl_driver_funcs android_driver_funcs = { .p_init_egl_platform = android_init_egl_platform, .p_get_proc_address = android_get_proc_address, - .p_init_wgl_extensions = android_init_wgl_extensions, + .p_init_extensions = android_init_extensions, .p_surface_create = android_surface_create, }; diff --git a/dlls/winemac.drv/opengl.c b/dlls/winemac.drv/opengl.c index 7040bbd5a8d..0af1d3f7192 100644 --- a/dlls/winemac.drv/opengl.c +++ b/dlls/winemac.drv/opengl.c @@ -46,8 +46,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(wgl); struct gl_info { char *glExtensions; - char wglExtensions[4096]; - GLint max_viewport_dims[2]; unsigned int max_major, max_minor; @@ -2542,16 +2540,7 @@ static BOOL macdrv_pbuffer_updated(HDC hdc, struct opengl_drawable *base, GLenum return GL_TRUE; } -static void register_extension(const char *ext) -{ - if (gl_info.wglExtensions[0]) - strcat(gl_info.wglExtensions, " "); - strcat(gl_info.wglExtensions, ext); - - TRACE("'%s'\n", ext); -} - -static const char *macdrv_init_wgl_extensions(struct opengl_funcs *funcs) +static void macdrv_init_extensions(struct opengl_funcs *funcs, BOOLEAN extensions[GL_EXTENSION_COUNT]) { /* * ARB Extensions @@ -2559,42 +2548,40 @@ static const char *macdrv_init_wgl_extensions(struct opengl_funcs *funcs) if (gluCheckExtension((GLubyte*)"GL_ARB_color_buffer_float", (GLubyte*)gl_info.glExtensions)) { - register_extension("WGL_ARB_pixel_format_float"); - register_extension("WGL_ATI_pixel_format_float"); + extensions[WGL_ARB_pixel_format_float] = 1; + extensions[WGL_ATI_pixel_format_float] = 1; } if (gluCheckExtension((GLubyte*)"GL_ARB_multisample", (GLubyte*)gl_info.glExtensions)) - register_extension("WGL_ARB_multisample"); + extensions[WGL_ARB_multisample] = 1; if (gluCheckExtension((GLubyte*)"GL_ARB_framebuffer_sRGB", (GLubyte*)gl_info.glExtensions)) - register_extension("WGL_ARB_framebuffer_sRGB"); + extensions[WGL_ARB_framebuffer_sRGB] = 1; if (gluCheckExtension((GLubyte*)"GL_APPLE_pixel_buffer", (GLubyte*)gl_info.glExtensions)) { if (gluCheckExtension((GLubyte*)"GL_ARB_texture_rectangle", (GLubyte*)gl_info.glExtensions) || gluCheckExtension((GLubyte*)"GL_EXT_texture_rectangle", (GLubyte*)gl_info.glExtensions)) - register_extension("WGL_NV_render_texture_rectangle"); + extensions[WGL_NV_render_texture_rectangle] = 1; } /* Presumably identical to [W]GL_ARB_framebuffer_sRGB, above, but clients may check for either, so register them separately. */ if (gluCheckExtension((GLubyte*)"GL_EXT_framebuffer_sRGB", (GLubyte*)gl_info.glExtensions)) - register_extension("WGL_EXT_framebuffer_sRGB"); + extensions[WGL_EXT_framebuffer_sRGB] = 1; if (gluCheckExtension((GLubyte*)"GL_EXT_packed_float", (GLubyte*)gl_info.glExtensions)) - register_extension("WGL_EXT_pixel_format_packed_float"); + extensions[WGL_EXT_pixel_format_packed_float] = 1; /* * WINE-specific WGL Extensions */ - register_extension("WGL_WINE_query_renderer"); + extensions[WGL_WINE_query_renderer] = 1; funcs->p_wglQueryCurrentRendererIntegerWINE = macdrv_wglQueryCurrentRendererIntegerWINE; funcs->p_wglQueryCurrentRendererStringWINE = macdrv_wglQueryCurrentRendererStringWINE; funcs->p_wglQueryRendererIntegerWINE = macdrv_wglQueryRendererIntegerWINE; funcs->p_wglQueryRendererStringWINE = macdrv_wglQueryRendererStringWINE; - - return gl_info.wglExtensions; } /********************************************************************** @@ -2780,7 +2767,7 @@ static const struct opengl_driver_funcs macdrv_driver_funcs = .p_get_proc_address = macdrv_get_proc_address, .p_init_pixel_formats = macdrv_init_pixel_formats, .p_describe_pixel_format = macdrv_describe_pixel_format, - .p_init_wgl_extensions = macdrv_init_wgl_extensions, + .p_init_extensions = macdrv_init_extensions, .p_surface_create = macdrv_surface_create, .p_context_create = macdrv_context_create, .p_context_destroy = macdrv_context_destroy, diff --git a/dlls/winewayland.drv/opengl.c b/dlls/winewayland.drv/opengl.c index 54ba94fe846..1486e411734 100644 --- a/dlls/winewayland.drv/opengl.c +++ b/dlls/winewayland.drv/opengl.c @@ -258,7 +258,7 @@ UINT WAYLAND_OpenGLInit(UINT version, const struct opengl_funcs *opengl_funcs, c wayland_driver_funcs.p_get_proc_address = (*driver_funcs)->p_get_proc_address; wayland_driver_funcs.p_init_pixel_formats = (*driver_funcs)->p_init_pixel_formats; wayland_driver_funcs.p_describe_pixel_format = (*driver_funcs)->p_describe_pixel_format; - wayland_driver_funcs.p_init_wgl_extensions = (*driver_funcs)->p_init_wgl_extensions; + wayland_driver_funcs.p_init_extensions = (*driver_funcs)->p_init_extensions; wayland_driver_funcs.p_context_create = (*driver_funcs)->p_context_create; wayland_driver_funcs.p_context_destroy = (*driver_funcs)->p_context_destroy; wayland_driver_funcs.p_make_current = (*driver_funcs)->p_make_current; diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c index 895d3815e7c..7ebc2c43753 100644 --- a/dlls/winex11.drv/opengl.c +++ b/dlls/winex11.drv/opengl.c @@ -180,7 +180,6 @@ typedef XID GLXPbuffer; static const char *glExtensions; static const char *glxExtensions; -static char wglExtensions[4096]; static int glxVersion[2]; static int glx_opcode; @@ -1375,29 +1374,19 @@ static BOOL glxRequireVersion(int requiredVersion) return (requiredVersion <= glxVersion[1]); } -static void register_extension(const char *ext) +static void x11drv_init_extensions( struct opengl_funcs *funcs, BOOLEAN extensions[GL_EXTENSION_COUNT] ) { - if (wglExtensions[0]) - strcat(wglExtensions, " "); - strcat(wglExtensions, ext); - - TRACE("'%s'\n", ext); -} - -static const char *x11drv_init_wgl_extensions( struct opengl_funcs *funcs ) -{ - wglExtensions[0] = 0; - /* ARB Extensions */ - if (has_extension( glxExtensions, "GLX_ARB_multisample")) register_extension( "WGL_ARB_multisample" ); + if (has_extension( glxExtensions, "GLX_ARB_multisample")) + extensions[WGL_ARB_multisample] = 1; - register_extension("WGL_ARB_pixel_format"); + extensions[WGL_ARB_pixel_format] = 1; if (has_extension( glxExtensions, "GLX_ARB_fbconfig_float")) { - register_extension("WGL_ARB_pixel_format_float"); - register_extension("WGL_ATI_pixel_format_float"); + extensions[WGL_ARB_pixel_format_float] = 1; + extensions[WGL_ATI_pixel_format_float] = 1; } /* Support WGL_ARB_render_texture when there's support or pbuffer based emulation */ @@ -1405,20 +1394,20 @@ static const char *x11drv_init_wgl_extensions( struct opengl_funcs *funcs ) { /* The WGL version of GLX_NV_float_buffer requires render_texture */ if (has_extension( glxExtensions, "GLX_NV_float_buffer")) - register_extension("WGL_NV_float_buffer"); + extensions[WGL_NV_float_buffer] = 1; /* Again there's no GLX equivalent for this extension, so depend on the required GL extension */ if (has_extension(glExtensions, "GL_NV_texture_rectangle")) - register_extension("WGL_NV_render_texture_rectangle"); + extensions[WGL_NV_render_texture_rectangle] = 1; } /* EXT Extensions */ if (has_extension( glxExtensions, "GLX_EXT_framebuffer_sRGB")) - register_extension("WGL_EXT_framebuffer_sRGB"); + extensions[WGL_EXT_framebuffer_sRGB] = 1; if (has_extension( glxExtensions, "GLX_EXT_fbconfig_packed_float")) - register_extension("WGL_EXT_pixel_format_packed_float"); + extensions[WGL_EXT_pixel_format_packed_float] = 1; if (has_extension( glxExtensions, "GLX_EXT_swap_control")) { @@ -1437,7 +1426,7 @@ static const char *x11drv_init_wgl_extensions( struct opengl_funcs *funcs ) /* The OpenGL extension GL_NV_vertex_array_range adds wgl/glX functions which aren't exported as 'real' wgl/glX extensions. */ if (has_extension(glExtensions, "GL_NV_vertex_array_range")) { - register_extension( "WGL_NV_vertex_array_range" ); + extensions[WGL_NV_vertex_array_range] = 1; funcs->p_wglAllocateMemoryNV = pglXAllocateMemoryNV; funcs->p_wglFreeMemoryNV = pglXFreeMemoryNV; } @@ -1449,14 +1438,12 @@ static const char *x11drv_init_wgl_extensions( struct opengl_funcs *funcs ) if (has_extension( glxExtensions, "GLX_MESA_query_renderer" )) { - register_extension( "WGL_WINE_query_renderer" ); + extensions[WGL_WINE_query_renderer] = 1; funcs->p_wglQueryCurrentRendererIntegerWINE = X11DRV_wglQueryCurrentRendererIntegerWINE; funcs->p_wglQueryCurrentRendererStringWINE = X11DRV_wglQueryCurrentRendererStringWINE; funcs->p_wglQueryRendererIntegerWINE = X11DRV_wglQueryRendererIntegerWINE; funcs->p_wglQueryRendererStringWINE = X11DRV_wglQueryRendererStringWINE; } - - return wglExtensions; } static BOOL x11drv_surface_swap( struct opengl_drawable *base ) @@ -1524,7 +1511,7 @@ static struct opengl_driver_funcs x11drv_driver_funcs = .p_get_proc_address = x11drv_get_proc_address, .p_init_pixel_formats = x11drv_init_pixel_formats, .p_describe_pixel_format = x11drv_describe_pixel_format, - .p_init_wgl_extensions = x11drv_init_wgl_extensions, + .p_init_extensions = x11drv_init_extensions, .p_surface_create = x11drv_surface_create, .p_context_create = x11drv_context_create, .p_context_destroy = x11drv_context_destroy, diff --git a/include/wine/opengl_driver.h b/include/wine/opengl_driver.h index 2ba20f799d1..744b79a3525 100644 --- a/include/wine/opengl_driver.h +++ b/include/wine/opengl_driver.h @@ -59,6 +59,15 @@ struct wgl_pixel_format int float_components; }; +enum opengl_extension +{ +#define USE_GL_EXT(x) x, + ALL_GL_EXTS + ALL_WGL_EXTS +#undef USE_GL_EXT + GL_EXTENSION_COUNT, +}; + struct opengl_client_context { struct HGLRC__ obj; /* client object header */ @@ -67,6 +76,7 @@ struct opengl_client_context GLenum last_error; int major_version; int minor_version; + BOOLEAN extensions[GL_EXTENSION_COUNT]; /* exposed client extensions */ }; static inline struct opengl_client_context *opengl_client_context_from_client( HGLRC client_context ) @@ -128,6 +138,7 @@ struct opengl_funcs ALL_GL_FUNCS ALL_GL_EXT_FUNCS #undef USE_GL_FUNC + void (*p_init_extensions)( BOOLEAN extensions[GL_EXTENSION_COUNT] ); void (*p_get_pixel_formats)( struct wgl_pixel_format *formats, UINT max_formats, UINT *num_formats, UINT *num_onscreen_formats ); BOOL (*p_query_renderer)( UINT attribute, void *value ); BOOL (*p_context_flush)( struct opengl_context *context, void (*flush)(void), UINT flags ); @@ -223,7 +234,7 @@ struct opengl_driver_funcs void *(*p_get_proc_address)(const char *); UINT (*p_init_pixel_formats)(UINT*); BOOL (*p_describe_pixel_format)(int,struct wgl_pixel_format*); - const char *(*p_init_wgl_extensions)(struct opengl_funcs *funcs); + void (*p_init_extensions)( struct opengl_funcs *funcs, BOOLEAN extensions[GL_EXTENSION_COUNT] ); BOOL (*p_surface_create)( HWND hwnd, int format, struct opengl_drawable **drawable ); BOOL (*p_context_create)( int format, void *share, const int *attribs, void **context ); BOOL (*p_context_destroy)(void*); diff --git a/include/wine/wgl.h b/include/wine/wgl.h index 1e39c8e988d..a21a89e6f5f 100644 --- a/include/wine/wgl.h +++ b/include/wine/wgl.h @@ -10760,6 +10760,8 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(WGL_WINE_pixel_format_passthrough) \ USE_GL_EXT(WGL_WINE_query_renderer) +#define WGL_FIRST_EXTENSION WGL_3DFX_multisample + #define ALL_WGL_FUNCS \ USE_GL_FUNC(wglChoosePixelFormat) \ USE_GL_FUNC(wglCopyContext) \ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> --- dlls/opengl32/unix_wgl.c | 14 ++++++-------- dlls/opengl32/wgl.c | 3 +++ include/wine/opengl_driver.h | 1 + 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index a5ca17ffabf..ba12322f4aa 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -136,7 +136,6 @@ struct context char *wow64_version; /* wow64 GL version override */ struct buffers *buffers; /* wow64 buffers map */ const char **extension_array; /* array of supported extensions */ - size_t extension_count; /* size of supported extensions */ BOOL use_pinned_memory; /* use GL_AMD_pinned_memory to emulate persistent maps */ /* semi-stub state tracker for wglCopyContext */ @@ -677,7 +676,8 @@ static int string_array_cmp( const void *p1, const void *p2 ) /* Check if a GL extension is supported */ static BOOL is_extension_supported( struct context *ctx, const char *extension ) { - return bsearch( &extension, ctx->extension_array, ctx->extension_count, + struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); + return bsearch( &extension, ctx->extension_array, client->extension_count, sizeof(ctx->extension_array[0]), string_array_cmp ) != NULL; } @@ -837,9 +837,6 @@ static BOOL get_integer( TEB *teb, GLenum pname, GLint *data ) switch (pname) { - case GL_NUM_EXTENSIONS: - *data = ctx->extension_count; - return TRUE; case GL_DRAW_FRAMEBUFFER_BINDING: if (!draw->draw_fbo) break; *data = ctx->draw_fbo; @@ -917,7 +914,8 @@ const GLubyte *wrap_glGetStringi( TEB *teb, GLenum name, GLuint index ) if (name == GL_EXTENSIONS) { struct context *ctx = get_current_context( teb, NULL, NULL ); - if (index < ctx->extension_count) return (const GLubyte *)ctx->extension_array[index]; + struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); + if (index < client->extension_count) return (const GLubyte *)ctx->extension_array[index]; index = -1; } @@ -1267,7 +1265,7 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD for (i = 0; legacy_extensions[i]; i++) extensions[count++] = legacy_extensions[i]; qsort( extensions, count, sizeof(*extensions), string_array_cmp ); ctx->extension_array = extensions; - ctx->extension_count = count; + client->extension_count = count; if (is_win64 && ctx->buffers && !initialize_vk_device( teb, ctx ) && !(ctx->use_pinned_memory = is_extension_supported( ctx, "GL_AMD_pinned_memory" ))) @@ -1289,7 +1287,7 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD } extensions[j++] = ext; } - ctx->extension_count = j; + client->extension_count = j; } if (TRACE_ON(opengl)) for (i = 0; i < count; i++) TRACE( "++ %s\n", extensions[i] ); diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index 898541acf28..2456ea4408a 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -2032,6 +2032,9 @@ static BOOL get_integer( struct context *ctx, GLenum name, GLint *data ) case GL_MINOR_VERSION: *data = ctx->base.minor_version; return TRUE; + case GL_NUM_EXTENSIONS: + *data = ctx->base.extension_count; + return TRUE; } return FALSE; diff --git a/include/wine/opengl_driver.h b/include/wine/opengl_driver.h index 744b79a3525..875c7bb6295 100644 --- a/include/wine/opengl_driver.h +++ b/include/wine/opengl_driver.h @@ -77,6 +77,7 @@ struct opengl_client_context int major_version; int minor_version; BOOLEAN extensions[GL_EXTENSION_COUNT]; /* exposed client extensions */ + UINT32 extension_count; /* size of supported extensions */ }; static inline struct opengl_client_context *opengl_client_context_from_client( HGLRC client_context ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> Missing in !10472. --- dlls/opengl32/make_opengl | 1 + dlls/opengl32/unix_thunks.c | 50 ++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index b16642707db..de5d4b72a10 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1945,6 +1945,7 @@ foreach (sort keys %ext_functions) my @exts; foreach my $ext (@{$func->[2]}) { + next unless is_exposed_extension( $ext ); push @exts, $ext; foreach my $alias (@{$extension_aliases{$ext}}) { diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index a01dd62152f..164564c951c 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -91858,7 +91858,7 @@ const struct registry_entry extension_registry[2758] = { "glBindBuffersBase", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindBuffersBase) }, { "glBindBuffersRange", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindBuffersRange) }, { "glBindFragDataLocation", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindFragDataLocation) }, - { "glBindFragDataLocationEXT", "GL_EXT_blend_func_extended\0GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationEXT) }, + { "glBindFragDataLocationEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationEXT) }, { "glBindFragDataLocationIndexed", "GL_ARB_blend_func_extended\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationIndexed) }, { "glBindFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glBindFragmentShaderATI) }, { "glBindFramebuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindFramebuffer) }, @@ -91875,7 +91875,7 @@ const struct registry_entry extension_registry[2758] = { "glBindProgramPipeline", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glBindProgramPipeline) }, { "glBindRenderbuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindRenderbuffer) }, { "glBindRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindRenderbufferEXT) }, - { "glBindSampler", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glBindSampler) }, + { "glBindSampler", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glBindSampler) }, { "glBindSamplers", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindSamplers) }, { "glBindShadingRateImageNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glBindShadingRateImageNV) }, { "glBindTexGenParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindTexGenParameterEXT) }, @@ -92189,7 +92189,7 @@ const struct registry_entry extension_registry[2758] = { "glDeleteQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glDeleteQueryResourceTagNV) }, { "glDeleteRenderbuffers", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffers) }, { "glDeleteRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffersEXT) }, - { "glDeleteSamplers", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glDeleteSamplers) }, + { "glDeleteSamplers", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glDeleteSamplers) }, { "glDeleteSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glDeleteSemaphoresEXT) }, { "glDeleteShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glDeleteShader) }, { "glDeleteStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDeleteStatesNV) }, @@ -92233,7 +92233,7 @@ const struct registry_entry extension_registry[2758] = { "glDrawArraysInstanced", "GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glDrawArraysInstanced) }, { "glDrawArraysInstancedARB", "GL_ARB_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedARB) }, { "glDrawArraysInstancedBaseInstance", "GL_ARB_base_instance\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedBaseInstance) }, - { "glDrawArraysInstancedEXT", "GL_EXT_draw_instanced\0GL_EXT_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedEXT) }, + { "glDrawArraysInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedEXT) }, { "glDrawBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glDrawBufferRegion) }, { "glDrawBuffers", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glDrawBuffers) }, { "glDrawBuffersARB", "GL_ARB_draw_buffers\0", offsetof(struct opengl_funcs, p_glDrawBuffersARB) }, @@ -92251,7 +92251,7 @@ const struct registry_entry extension_registry[2758] = { "glDrawElementsInstancedBaseInstance", "GL_ARB_base_instance\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseInstance) }, { "glDrawElementsInstancedBaseVertex", "GL_ARB_draw_elements_base_vertex\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertex) }, { "glDrawElementsInstancedBaseVertexBaseInstance", "GL_ARB_base_instance\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertexBaseInstance) }, - { "glDrawElementsInstancedEXT", "GL_EXT_draw_instanced\0GL_EXT_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedEXT) }, + { "glDrawElementsInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedEXT) }, { "glDrawMeshArraysSUN", "GL_SUN_mesh_array\0", offsetof(struct opengl_funcs, p_glDrawMeshArraysSUN) }, { "glDrawMeshTasksEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksEXT) }, { "glDrawMeshTasksIndirectEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectEXT) }, @@ -92382,7 +92382,7 @@ const struct registry_entry extension_registry[2758] = { "glFramebufferTexture3D", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3D) }, { "glFramebufferTexture3DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3DEXT) }, { "glFramebufferTextureARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureARB) }, - { "glFramebufferTextureEXT", "GL_EXT_geometry_shader\0GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureEXT) }, + { "glFramebufferTextureEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureEXT) }, { "glFramebufferTextureFaceARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceARB) }, { "glFramebufferTextureFaceEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceEXT) }, { "glFramebufferTextureLayer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayer) }, @@ -92414,7 +92414,7 @@ const struct registry_entry extension_registry[2758] = { "glGenQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glGenQueryResourceTagNV) }, { "glGenRenderbuffers", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGenRenderbuffers) }, { "glGenRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenRenderbuffersEXT) }, - { "glGenSamplers", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGenSamplers) }, + { "glGenSamplers", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGenSamplers) }, { "glGenSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGenSemaphoresEXT) }, { "glGenSymbolsEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGenSymbolsEXT) }, { "glGenTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glGenTexturesEXT) }, @@ -92687,11 +92687,11 @@ const struct registry_entry extension_registry[2758] = { "glGetQueryBufferObjectuiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectuiv) }, { "glGetQueryIndexediv", "GL_ARB_transform_feedback3\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetQueryIndexediv) }, { "glGetQueryObjecti64v", "GL_ARB_timer_query\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64v) }, - { "glGetQueryObjecti64vEXT", "GL_EXT_disjoint_timer_query\0GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64vEXT) }, + { "glGetQueryObjecti64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64vEXT) }, { "glGetQueryObjectiv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetQueryObjectiv) }, { "glGetQueryObjectivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectivARB) }, { "glGetQueryObjectui64v", "GL_ARB_timer_query\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64v) }, - { "glGetQueryObjectui64vEXT", "GL_EXT_disjoint_timer_query\0GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64vEXT) }, + { "glGetQueryObjectui64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64vEXT) }, { "glGetQueryObjectuiv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuiv) }, { "glGetQueryObjectuivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuivARB) }, { "glGetQueryiv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetQueryiv) }, @@ -92700,8 +92700,8 @@ const struct registry_entry extension_registry[2758] = { "glGetRenderbufferParameterivEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetRenderbufferParameterivEXT) }, { "glGetSamplerParameterIiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIiv) }, { "glGetSamplerParameterIuiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIuiv) }, - { "glGetSamplerParameterfv", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterfv) }, - { "glGetSamplerParameteriv", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameteriv) }, + { "glGetSamplerParameterfv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterfv) }, + { "glGetSamplerParameteriv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameteriv) }, { "glGetSemaphoreParameterivNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterivNV) }, { "glGetSemaphoreParameterui64vEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterui64vEXT) }, { "glGetSeparableFilter", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetSeparableFilter) }, @@ -92724,12 +92724,12 @@ const struct registry_entry extension_registry[2758] = { "glGetTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexEnvxv) }, { "glGetTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexEnvxvOES) }, { "glGetTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glGetTexFilterFuncSGIS) }, - { "glGetTexGenxvOES", "GL_OES_fixed_point\0GL_OES_texture_cube_map\0", offsetof(struct opengl_funcs, p_glGetTexGenxvOES) }, + { "glGetTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexGenxvOES) }, { "glGetTexLevelParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexLevelParameterxvOES) }, { "glGetTexParameterIiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetTexParameterIiv) }, - { "glGetTexParameterIivEXT", "GL_EXT_texture_border_clamp\0GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIivEXT) }, + { "glGetTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIivEXT) }, { "glGetTexParameterIuiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuiv) }, - { "glGetTexParameterIuivEXT", "GL_EXT_texture_border_clamp\0GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuivEXT) }, + { "glGetTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuivEXT) }, { "glGetTexParameterPointervAPPLE", "GL_APPLE_texture_range\0", offsetof(struct opengl_funcs, p_glGetTexParameterPointervAPPLE) }, { "glGetTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexParameterxv) }, { "glGetTexParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexParameterxvOES) }, @@ -92933,7 +92933,7 @@ const struct registry_entry extension_registry[2758] = { "glIsQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glIsQueryARB) }, { "glIsRenderbuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glIsRenderbuffer) }, { "glIsRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsRenderbufferEXT) }, - { "glIsSampler", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glIsSampler) }, + { "glIsSampler", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glIsSampler) }, { "glIsSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glIsSemaphoreEXT) }, { "glIsShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glIsShader) }, { "glIsStateNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glIsStateNV) }, @@ -93633,7 +93633,7 @@ const struct registry_entry extension_registry[2758] = { "glRenderbufferStorageMultisample", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisample) }, { "glRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleAdvancedAMD) }, { "glRenderbufferStorageMultisampleCoverageNV", "GL_NV_framebuffer_multisample_coverage\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleCoverageNV) }, - { "glRenderbufferStorageMultisampleEXT", "GL_EXT_framebuffer_multisample\0GL_EXT_multisampled_render_to_texture\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleEXT) }, + { "glRenderbufferStorageMultisampleEXT", "GL_EXT_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleEXT) }, { "glReplacementCodePointerSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodePointerSUN) }, { "glReplacementCodeubSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubSUN) }, { "glReplacementCodeubvSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubvSUN) }, @@ -93681,10 +93681,10 @@ const struct registry_entry extension_registry[2758] = { "glSamplePatternSGIS", "GL_SGIS_multisample\0", offsetof(struct opengl_funcs, p_glSamplePatternSGIS) }, { "glSamplerParameterIiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterIiv) }, { "glSamplerParameterIuiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterIuiv) }, - { "glSamplerParameterf", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterf) }, - { "glSamplerParameterfv", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterfv) }, - { "glSamplerParameteri", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameteri) }, - { "glSamplerParameteriv", "GL_ARB_sampler_objects\0GL_MESA_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameteriv) }, + { "glSamplerParameterf", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterf) }, + { "glSamplerParameterfv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterfv) }, + { "glSamplerParameteri", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameteri) }, + { "glSamplerParameteriv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameteriv) }, { "glScalex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glScalex) }, { "glScalexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glScalexOES) }, { "glScissorArrayv", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glScissorArrayv) }, @@ -93812,7 +93812,7 @@ const struct registry_entry extension_registry[2758] = { "glTexAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glTexAttachMemoryNV) }, { "glTexBuffer", "GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glTexBuffer) }, { "glTexBufferARB", "GL_ARB_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferARB) }, - { "glTexBufferEXT", "GL_EXT_texture_buffer\0GL_EXT_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferEXT) }, + { "glTexBufferEXT", "GL_EXT_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferEXT) }, { "glTexBufferRange", "GL_ARB_texture_buffer_range\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glTexBufferRange) }, { "glTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterfvATI) }, { "glTexBumpParameterivATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterivATI) }, @@ -93871,8 +93871,8 @@ const struct registry_entry extension_registry[2758] = { "glTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexEnvxv) }, { "glTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexEnvxvOES) }, { "glTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glTexFilterFuncSGIS) }, - { "glTexGenxOES", "GL_OES_fixed_point\0GL_OES_texture_cube_map\0", offsetof(struct opengl_funcs, p_glTexGenxOES) }, - { "glTexGenxvOES", "GL_OES_fixed_point\0GL_OES_texture_cube_map\0", offsetof(struct opengl_funcs, p_glTexGenxvOES) }, + { "glTexGenxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxOES) }, + { "glTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxvOES) }, { "glTexImage2DMultisample", "GL_ARB_texture_multisample\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisample) }, { "glTexImage2DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisampleCoverageNV) }, { "glTexImage3D", "GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glTexImage3D) }, @@ -93883,9 +93883,9 @@ const struct registry_entry extension_registry[2758] = { "glTexPageCommitmentARB", "GL_ARB_sparse_texture\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentARB) }, { "glTexPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentMemNV) }, { "glTexParameterIiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glTexParameterIiv) }, - { "glTexParameterIivEXT", "GL_EXT_texture_border_clamp\0GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIivEXT) }, + { "glTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIivEXT) }, { "glTexParameterIuiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glTexParameterIuiv) }, - { "glTexParameterIuivEXT", "GL_EXT_texture_border_clamp\0GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIuivEXT) }, + { "glTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIuivEXT) }, { "glTexParameterx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterx) }, { "glTexParameterxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexParameterxOES) }, { "glTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterxv) }, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> And remove useless previous ALL_GL_EXTS macro. --- dlls/opengl32/make_opengl | 9 +-- dlls/opengl32/unix_wgl.c | 2 +- include/wine/wgl.h | 128 +------------------------------------- 3 files changed, 3 insertions(+), 136 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index de5d4b72a10..c74603485c5 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1533,20 +1533,13 @@ foreach (sort keys %ext_functions) printf HEADER " \\\n USE_GL_FUNC(\%s)", $_; } print HEADER "\n\n"; -print HEADER "#define ALL_GL_CLIENT_EXTS"; +print HEADER "#define ALL_GL_EXTS"; foreach (sort keys %gl_extensions) { next unless is_exposed_extension($_); printf HEADER " \\\n USE_GL_EXT(\%s)", $_; } print HEADER "\n\n"; -print HEADER "#define ALL_GL_EXTS ALL_GL_CLIENT_EXTS"; -foreach (sort keys %gl_extensions) -{ - next if is_exposed_extension($_); - printf HEADER " \\\n USE_GL_EXT(\%s)", $_; -} -print HEADER "\n\n"; print HEADER "#define ALL_GL_FUNCS"; foreach (sort keys %norm_functions) { diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index ba12322f4aa..97585cb4e9d 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -1245,7 +1245,7 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD if (!disabled && !(disabled = query_opengl_option( "DisabledExtensions" ))) disabled = ""; #define USE_GL_EXT(x) #x " " - if (!enabled && !(enabled = query_opengl_option( "EnabledExtensions" ))) enabled = ALL_GL_CLIENT_EXTS; + if (!enabled && !(enabled = query_opengl_option( "EnabledExtensions" ))) enabled = ALL_GL_EXTS; #undef USE_GL_EXT if (*enabled || *disabled) { diff --git a/include/wine/wgl.h b/include/wine/wgl.h index a21a89e6f5f..9240740ab33 100644 --- a/include/wine/wgl.h +++ b/include/wine/wgl.h @@ -11145,7 +11145,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(eglUnsignalSyncEXT) \ USE_GL_FUNC(eglWaitSyncKHR) -#define ALL_GL_CLIENT_EXTS \ +#define ALL_GL_EXTS \ USE_GL_EXT(GL_3DFX_multisample) \ USE_GL_EXT(GL_3DFX_tbuffer) \ USE_GL_EXT(GL_3DFX_texture_compression_FXT1) \ @@ -11934,132 +11934,6 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_WIN_phong_shading) \ USE_GL_EXT(GL_WIN_specular_fog) -#define ALL_GL_EXTS ALL_GL_CLIENT_EXTS \ - USE_GL_EXT(GL_ANDROID_extension_pack_es31a) \ - USE_GL_EXT(GL_ANGLE_depth_texture) \ - USE_GL_EXT(GL_ANGLE_framebuffer_blit) \ - USE_GL_EXT(GL_ANGLE_framebuffer_multisample) \ - USE_GL_EXT(GL_ANGLE_instanced_arrays) \ - USE_GL_EXT(GL_ANGLE_pack_reverse_row_order) \ - USE_GL_EXT(GL_ANGLE_program_binary) \ - USE_GL_EXT(GL_ANGLE_texture_compression_dxt1) \ - USE_GL_EXT(GL_ANGLE_texture_compression_dxt3) \ - USE_GL_EXT(GL_ANGLE_texture_compression_dxt5) \ - USE_GL_EXT(GL_ANGLE_texture_usage) \ - USE_GL_EXT(GL_ANGLE_translated_shader_source) \ - USE_GL_EXT(GL_APPLE_copy_texture_levels) \ - USE_GL_EXT(GL_APPLE_framebuffer_multisample) \ - USE_GL_EXT(GL_APPLE_sync) \ - USE_GL_EXT(GL_ARM_mali_program_binary) \ - USE_GL_EXT(GL_ARM_mali_shader_binary) \ - USE_GL_EXT(GL_ARM_rgba8) \ - USE_GL_EXT(GL_ARM_shader_core_properties) \ - USE_GL_EXT(GL_ARM_shader_framebuffer_fetch) \ - USE_GL_EXT(GL_ARM_shader_framebuffer_fetch_depth_stencil) \ - USE_GL_EXT(GL_ARM_texture_unnormalized_coordinates) \ - USE_GL_EXT(GL_DMP_program_binary) \ - USE_GL_EXT(GL_DMP_shader_binary) \ - USE_GL_EXT(GL_EXT_base_instance) \ - USE_GL_EXT(GL_EXT_blend_func_extended) \ - USE_GL_EXT(GL_EXT_buffer_storage) \ - USE_GL_EXT(GL_EXT_clear_texture) \ - USE_GL_EXT(GL_EXT_clip_control) \ - USE_GL_EXT(GL_EXT_copy_image) \ - USE_GL_EXT(GL_EXT_discard_framebuffer) \ - USE_GL_EXT(GL_EXT_disjoint_timer_query) \ - USE_GL_EXT(GL_EXT_draw_buffers) \ - USE_GL_EXT(GL_EXT_draw_buffers_indexed) \ - USE_GL_EXT(GL_EXT_draw_elements_base_vertex) \ - USE_GL_EXT(GL_EXT_draw_transform_feedback) \ - USE_GL_EXT(GL_EXT_geometry_shader) \ - USE_GL_EXT(GL_EXT_instanced_arrays) \ - USE_GL_EXT(GL_EXT_map_buffer_range) \ - USE_GL_EXT(GL_EXT_memory_object_fd) \ - USE_GL_EXT(GL_EXT_multi_draw_indirect) \ - USE_GL_EXT(GL_EXT_multisampled_render_to_texture) \ - USE_GL_EXT(GL_EXT_multiview_draw_buffers) \ - USE_GL_EXT(GL_EXT_occlusion_query_boolean) \ - USE_GL_EXT(GL_EXT_primitive_bounding_box) \ - USE_GL_EXT(GL_EXT_robustness) \ - USE_GL_EXT(GL_EXT_semaphore_fd) \ - USE_GL_EXT(GL_EXT_shader_pixel_local_storage2) \ - USE_GL_EXT(GL_EXT_sparse_texture) \ - USE_GL_EXT(GL_EXT_tessellation_shader) \ - USE_GL_EXT(GL_EXT_texture_border_clamp) \ - USE_GL_EXT(GL_EXT_texture_buffer) \ - USE_GL_EXT(GL_EXT_texture_storage_compression) \ - USE_GL_EXT(GL_EXT_texture_view) \ - USE_GL_EXT(GL_FJ_shader_binary_GCCSO) \ - USE_GL_EXT(GL_HUAWEI_program_binary) \ - USE_GL_EXT(GL_HUAWEI_shader_binary) \ - USE_GL_EXT(GL_IMG_bindless_texture) \ - USE_GL_EXT(GL_IMG_framebuffer_downsample) \ - USE_GL_EXT(GL_IMG_multisampled_render_to_texture) \ - USE_GL_EXT(GL_IMG_user_clip_plane) \ - USE_GL_EXT(GL_MESA_sampler_objects) \ - USE_GL_EXT(GL_NV_copy_buffer) \ - USE_GL_EXT(GL_NV_coverage_sample) \ - USE_GL_EXT(GL_NV_draw_buffers) \ - USE_GL_EXT(GL_NV_draw_instanced) \ - USE_GL_EXT(GL_NV_framebuffer_blit) \ - USE_GL_EXT(GL_NV_framebuffer_multisample) \ - USE_GL_EXT(GL_NV_instanced_arrays) \ - USE_GL_EXT(GL_NV_non_square_matrices) \ - USE_GL_EXT(GL_NV_polygon_mode) \ - USE_GL_EXT(GL_NV_read_buffer) \ - USE_GL_EXT(GL_NV_viewport_array) \ - USE_GL_EXT(GL_OES_EGL_image) \ - USE_GL_EXT(GL_OES_EGL_image_external) \ - USE_GL_EXT(GL_OES_blend_equation_separate) \ - USE_GL_EXT(GL_OES_blend_func_separate) \ - USE_GL_EXT(GL_OES_blend_subtract) \ - USE_GL_EXT(GL_OES_copy_image) \ - USE_GL_EXT(GL_OES_draw_buffers_indexed) \ - USE_GL_EXT(GL_OES_draw_elements_base_vertex) \ - USE_GL_EXT(GL_OES_draw_texture) \ - USE_GL_EXT(GL_OES_framebuffer_object) \ - USE_GL_EXT(GL_OES_geometry_shader) \ - USE_GL_EXT(GL_OES_get_program_binary) \ - USE_GL_EXT(GL_OES_mapbuffer) \ - USE_GL_EXT(GL_OES_matrix_palette) \ - USE_GL_EXT(GL_OES_point_size_array) \ - USE_GL_EXT(GL_OES_primitive_bounding_box) \ - USE_GL_EXT(GL_OES_sample_shading) \ - USE_GL_EXT(GL_OES_tessellation_shader) \ - USE_GL_EXT(GL_OES_texture_3D) \ - USE_GL_EXT(GL_OES_texture_border_clamp) \ - USE_GL_EXT(GL_OES_texture_buffer) \ - USE_GL_EXT(GL_OES_texture_cube_map) \ - USE_GL_EXT(GL_OES_texture_storage_multisample_2d_array) \ - USE_GL_EXT(GL_OES_texture_view) \ - USE_GL_EXT(GL_OES_vertex_array_object) \ - USE_GL_EXT(GL_OES_viewport_array) \ - USE_GL_EXT(GL_OVR_multiview_multisampled_render_to_texture) \ - USE_GL_EXT(GL_QCOM_YUV_texture_gather) \ - USE_GL_EXT(GL_QCOM_alpha_test) \ - USE_GL_EXT(GL_QCOM_binning_control) \ - USE_GL_EXT(GL_QCOM_driver_control) \ - USE_GL_EXT(GL_QCOM_extended_get) \ - USE_GL_EXT(GL_QCOM_extended_get2) \ - USE_GL_EXT(GL_QCOM_frame_extrapolation) \ - USE_GL_EXT(GL_QCOM_framebuffer_foveated) \ - USE_GL_EXT(GL_QCOM_motion_estimation) \ - USE_GL_EXT(GL_QCOM_perfmon_global_mode) \ - USE_GL_EXT(GL_QCOM_performance_monitor_global_mode) \ - USE_GL_EXT(GL_QCOM_render_sRGB_R8_RG8) \ - USE_GL_EXT(GL_QCOM_render_shared_exponent) \ - USE_GL_EXT(GL_QCOM_shader_framebuffer_fetch_noncoherent) \ - USE_GL_EXT(GL_QCOM_shader_framebuffer_fetch_rate) \ - USE_GL_EXT(GL_QCOM_shading_rate) \ - USE_GL_EXT(GL_QCOM_texture_foveated) \ - USE_GL_EXT(GL_QCOM_texture_foveated2) \ - USE_GL_EXT(GL_QCOM_texture_foveated_subsampled_layout) \ - USE_GL_EXT(GL_QCOM_texture_lod_bias) \ - USE_GL_EXT(GL_QCOM_tiled_rendering) \ - USE_GL_EXT(GL_QCOM_writeonly_rendering) \ - USE_GL_EXT(GL_QCOM_ycbcr_degamma) \ - USE_GL_EXT(GL_VIV_shader_binary) - #define ALL_GL_FUNCS \ USE_GL_FUNC(glAccum) \ USE_GL_FUNC(glAlphaFunc) \ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> And move it to client context. Based on patch by Rémi Bernon. --- dlls/opengl32/unix_wgl.c | 156 +++++++++++++++++++---------------- include/wine/opengl_driver.h | 1 + 2 files changed, 87 insertions(+), 70 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 97585cb4e9d..074f0f736b9 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -135,7 +135,6 @@ struct context GLubyte *extensions; /* extension string */ char *wow64_version; /* wow64 GL version override */ struct buffers *buffers; /* wow64 buffers map */ - const char **extension_array; /* array of supported extensions */ BOOL use_pinned_memory; /* use GL_AMD_pinned_memory to emulate persistent maps */ /* semi-stub state tracker for wglCopyContext */ @@ -477,6 +476,40 @@ static int *memdup_attribs( const int *attribs ) return copy; } +struct extension_entry +{ + const char *name; + size_t len; +}; + +#define USE_GL_EXT(x) [x] = { .name = #x, .len = sizeof(#x) - 1 }, +static const struct extension_entry all_extensions[] = { ALL_GL_EXTS ALL_WGL_EXTS }; +#undef USE_GL_EXT + +static int extension_entry_cmp( const void *a, const void *b ) +{ + const struct extension_entry *entry_a = a, *entry_b = b; + size_t len = max( entry_a->len, entry_b->len ); + return strncmp( entry_a->name, entry_b->name, len ); +}; + +static enum opengl_extension parse_extension( const char *ext, size_t len ) +{ + const struct extension_entry entry = { .name = ext, .len = len }, *found; + + if ((found = bsearch( &entry, all_extensions, ARRAY_SIZE(all_extensions), sizeof(entry), extension_entry_cmp ))) + return found - all_extensions; + + /* Map host extensions */ + if (len == ARRAYSIZE("GL_EXT_memory_object_fd") - 1 && !memcmp( ext, "GL_EXT_memory_object_fd", len )) + return GL_EXT_memory_object_win32; + if (len == ARRAYSIZE("GL_EXT_semaphore_fd") - 1 && !memcmp( ext, "GL_EXT_semaphore_fd", len )) + return GL_EXT_semaphore_win32; + + WARN( "Extension %s unknown\n", debugstr_an(ext, len) ); + return GL_EXTENSION_COUNT; +} + /* check if the extension is present in the list */ static BOOL has_extension( const char *list, const char *ext, size_t len ) { @@ -666,19 +699,12 @@ static char *query_opengl_option( const char *name ) return str; } -static int string_array_cmp( const void *p1, const void *p2 ) -{ - const char *const *s1 = p1; - const char *const *s2 = p2; - return strcmp( *s1, *s2 ); -} - /* Check if a GL extension is supported */ static BOOL is_extension_supported( struct context *ctx, const char *extension ) { struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); - return bsearch( &extension, ctx->extension_array, client->extension_count, - sizeof(ctx->extension_array[0]), string_array_cmp ) != NULL; + enum opengl_extension ext = parse_extension( extension, strlen( extension )); + return ext != GL_EXTENSION_COUNT && client->extensions[ext]; } static char *append_extension( char *ptr, const char *name ) @@ -690,6 +716,22 @@ static char *append_extension( char *ptr, const char *name ) return ptr; } +static size_t parse_extensions( const char *name, enum opengl_extension extensions[GL_EXTENSION_COUNT] ) +{ + size_t count = 0; + + while (*name) + { + const char *end = name + 1; + while (*end && *end != ' ') end++; + if ((extensions[count] = parse_extension( name, end - name )) != GL_EXTENSION_COUNT) count++; + name = end; + if (*name == ' ') name++; + } + + return count; +} + /* build the extension string by filtering out the disabled extensions */ static GLubyte *filter_extensions( struct context *ctx, const char *extensions, const struct opengl_funcs *funcs ) { @@ -915,7 +957,8 @@ const GLubyte *wrap_glGetStringi( TEB *teb, GLenum name, GLuint index ) { struct context *ctx = get_current_context( teb, NULL, NULL ); struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); - if (index < client->extension_count) return (const GLubyte *)ctx->extension_array[index]; + if (index < client->extension_count) + return (const GLubyte *)all_extensions[client->extension_array[index]].name; index = -1; } @@ -986,6 +1029,7 @@ BOOL wrap_wglCopyContext( TEB *teb, HGLRC client_src, HGLRC client_dst, UINT mas static BOOL initialize_vk_device( TEB *teb, struct context *ctx ) { + struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); struct opengl_funcs *funcs = teb->glTable; VkPhysicalDevice *vk_physical_devices = NULL; struct vk_device *vk_device = NULL; @@ -999,9 +1043,9 @@ static BOOL initialize_vk_device( TEB *teb, struct context *ctx ) static PFN_vkGetPhysicalDeviceProperties2KHR p_vkGetPhysicalDeviceProperties2KHR; if (ctx->buffers->vk_device) return TRUE; /* already initialized */ - if (!is_extension_supported( ctx, "GL_EXT_memory_object_fd" )) + if (!client->extensions[GL_EXT_memory_object_win32] ) { - TRACE( "GL_EXT_memory_object_fd is not supported\n" ); + TRACE( "GL_EXT_memory_object_win32 is not supported\n" ); return FALSE; } @@ -1178,9 +1222,8 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD { struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); DWORD tid = HandleToULong(teb->ClientId.UniqueThread); - size_t size = ARRAYSIZE(legacy_extensions) - 1, count = 0; - const char *version, *rest = "", **extensions; - int i, j; + const char *version, *rest = ""; + size_t count = 0, i; static const char *disabled, *enabled; @@ -1199,9 +1242,6 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD funcs->p_init_extensions( client->extensions ); - if (funcs->p_glImportMemoryWin32HandleEXT) size++; - if (funcs->p_glImportSemaphoreWin32HandleEXT) size++; - if (client->major_version >= 3) { GLint extensions_count; @@ -1213,34 +1253,18 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD } funcs->p_glGetIntegerv( GL_NUM_EXTENSIONS, &extensions_count ); - size += extensions_count; - if (!(extensions = malloc( size * sizeof(*extensions) ))) return; - for (i = 0; i < extensions_count; i++) extensions[count++] = (const char *)funcs->p_glGetStringi( GL_EXTENSIONS, i ); + for (i = 0; i < extensions_count; i++) + { + const char *name = (const char *)funcs->p_glGetStringi( GL_EXTENSIONS, i ); + enum opengl_extension ext = parse_extension( name, strlen( name ) ); + if (ext != GL_EXTENSION_COUNT) client->extensions[ext] = TRUE; + } } else { - const char *str = (const char *)funcs->p_glGetString( GL_EXTENSIONS ); - size_t len = strlen( str ); - const char *p; - char *ext; - if (!str) str = ""; - if ((len = strlen( str )) && str[len - 1] == ' ') len--; - if (*str) size++; - for (p = str; p < str + len; p++) if (*p == ' ') size++; - if (!(extensions = malloc( size * sizeof(*extensions) + len + 1 ))) return; - ext = (char *)&extensions[size]; - memcpy( ext, str, len ); - ext[len] = 0; - if (*ext) extensions[count++] = ext; - while (*ext) - { - if (*ext == ' ') - { - *ext = 0; - extensions[count++] = ext + 1; - } - ext++; - } + enum opengl_extension extensions[GL_EXTENSION_COUNT]; + size_t extension_count = parse_extensions( (const char *)funcs->p_glGetString( GL_EXTENSIONS ), extensions); + for (i = 0; i < extension_count; i++) client->extensions[i] = TRUE; } if (!disabled && !(disabled = query_opengl_option( "DisabledExtensions" ))) disabled = ""; @@ -1249,26 +1273,20 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD #undef USE_GL_EXT if (*enabled || *disabled) { - for (i = 0, j = 0; i < count; i++) + for (i = 0; i < WGL_FIRST_EXTENSION; i++) { - size_t len = strlen( extensions[i] ); - if (!has_extension( disabled, extensions[i], len ) && (!*enabled || has_extension( enabled, extensions[i], len ))) - extensions[j++] = extensions[i]; - else - TRACE( "-- %s (disabled by config)\n", extensions[i] ); + const char *ext = all_extensions[i].name; + size_t len = all_extensions[i].len; + if (!client->extensions[i]) continue; + if (!has_extension( disabled, ext, len ) && (!*enabled || has_extension( enabled, ext, len ))) + continue; + client->extensions[i] = FALSE; + TRACE( "-- %s (disabled by config)\n", ext ); } - count = j; } - if (funcs->p_glImportMemoryWin32HandleEXT) extensions[count++] = "GL_EXT_memory_object_win32"; - if (funcs->p_glImportSemaphoreWin32HandleEXT) extensions[count++] = "GL_EXT_semaphore_win32"; - for (i = 0; legacy_extensions[i]; i++) extensions[count++] = legacy_extensions[i]; - qsort( extensions, count, sizeof(*extensions), string_array_cmp ); - ctx->extension_array = extensions; - client->extension_count = count; - if (is_win64 && ctx->buffers && !initialize_vk_device( teb, ctx ) - && !(ctx->use_pinned_memory = is_extension_supported( ctx, "GL_AMD_pinned_memory" ))) + && !(ctx->use_pinned_memory = client->extensions[GL_AMD_pinned_memory])) { if (client->major_version > 4 || (client->major_version == 4 && client->minor_version > 3)) { @@ -1277,20 +1295,19 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD client->minor_version = 3; asprintf( &ctx->wow64_version, "4.3%s", rest ); } - for (i = 0, j = 0; i < count; i++) + if (client->extensions[GL_ARB_buffer_storage]) { - const char *ext = extensions[i]; - if (!strcmp( ext, "GL_ARB_buffer_storage" ) || !strcmp( ext, "GL_ARB_buffer_storage" )) - { - FIXME( "Disabling %s extension on wow64\n", ext ); - continue; - } - extensions[j++] = ext; + FIXME( "Disabling has_GL_ARB_buffer_storage extension on wow64\n" ); + client->extensions[GL_ARB_buffer_storage] = FALSE; } - client->extension_count = j; } - if (TRACE_ON(opengl)) for (i = 0; i < count; i++) TRACE( "++ %s\n", extensions[i] ); + for (i = 0; i < WGL_FIRST_EXTENSION; i++) if (client->extensions[i]) client->extension_array[count++] = i; + if (client->extensions[WGL_EXT_extensions_string]) client->extension_array[count++] = WGL_EXT_extensions_string; + if (client->extensions[WGL_EXT_swap_control]) client->extension_array[count++] = WGL_EXT_swap_control; + client->extension_count = count; + + if (TRACE_ON(opengl)) for (i = 0; i < count; i++) TRACE( "++ %s\n", all_extensions[client->extension_array[i]].name ); } BOOL wrap_wglMakeCurrent( TEB *teb, HDC hdc, HGLRC client_context ) @@ -1330,7 +1347,6 @@ BOOL wrap_wglMakeCurrent( TEB *teb, HDC hdc, HGLRC client_context ) static void free_context( struct context *ctx ) { free( ctx->wow64_version ); - free( ctx->extension_array ); free( ctx->extensions ); free( ctx->attribs ); free( ctx ); diff --git a/include/wine/opengl_driver.h b/include/wine/opengl_driver.h index 875c7bb6295..d94229ea269 100644 --- a/include/wine/opengl_driver.h +++ b/include/wine/opengl_driver.h @@ -78,6 +78,7 @@ struct opengl_client_context int minor_version; BOOLEAN extensions[GL_EXTENSION_COUNT]; /* exposed client extensions */ UINT32 extension_count; /* size of supported extensions */ + UINT16 extension_array[GL_EXTENSION_COUNT]; /* array of supported extensions */ }; static inline struct opengl_client_context *opengl_client_context_from_client( HGLRC client_context ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> --- dlls/opengl32/make_opengl | 1 - dlls/opengl32/unix_thunks.c | 4 ++-- dlls/opengl32/unix_thunks.h | 1 - dlls/opengl32/unix_wgl.c | 22 ---------------------- dlls/opengl32/wgl.c | 12 ++++++++++++ 5 files changed, 14 insertions(+), 26 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index c74603485c5..74e53cebcad 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -218,7 +218,6 @@ my %manual_unix_thunks = "glGetInteger64v" => 1, "glGetIntegerv" => 1, "glGetString" => 1, - "glGetStringi" => 1, "glGetUnsignedBytevEXT" => 1, "glImportSyncEXT" => 1, "glNamedFramebufferDrawBuffer" => 1, diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index 164564c951c..4bea6e4ad6a 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -12315,7 +12315,7 @@ static NTSTATUS ext_glGetStringi( void *args ) struct glGetStringi_params *params = args; const struct opengl_funcs *funcs = params->teb->glTable; if (!funcs->p_glGetStringi) return STATUS_NOT_IMPLEMENTED; - params->ret = wrap_glGetStringi( params->teb, params->name, params->index ); + params->ret = funcs->p_glGetStringi( params->name, params->index ); return STATUS_SUCCESS; } @@ -55076,7 +55076,7 @@ static NTSTATUS wow64_ext_glGetStringi( void *args ) const GLubyte *ret; const struct opengl_funcs *funcs = teb->glTable; if (!funcs->p_glGetStringi) return STATUS_NOT_IMPLEMENTED; - ret = wrap_glGetStringi( teb, params->name, params->index ); + ret = funcs->p_glGetStringi( params->name, params->index ); return return_wow64_string( ret, ¶ms->ret ); } diff --git a/dlls/opengl32/unix_thunks.h b/dlls/opengl32/unix_thunks.h index 2c0824e0268..a86626520f4 100644 --- a/dlls/opengl32/unix_thunks.h +++ b/dlls/opengl32/unix_thunks.h @@ -34,7 +34,6 @@ extern void wrap_glFramebufferDrawBuffersEXT( TEB *teb, GLuint framebuffer, GLsi extern void wrap_glFramebufferReadBufferEXT( TEB *teb, GLuint framebuffer, GLenum mode ); extern void wrap_glGetFramebufferParameterivEXT( TEB *teb, GLuint framebuffer, GLenum pname, GLint *params ); extern void wrap_glGetInteger64v( TEB *teb, GLenum pname, GLint64 *data ); -extern const GLubyte *wrap_glGetStringi( TEB *teb, GLenum name, GLuint index ); extern void wrap_glGetUnsignedBytevEXT( TEB *teb, GLenum pname, GLubyte *data ); extern GLsync wrap_glImportSyncEXT( TEB *teb, GLenum external_sync_type, GLintptr external_sync, GLbitfield flags, GLsync handle ); extern void wrap_glNamedFramebufferDrawBuffer( TEB *teb, GLuint framebuffer, GLenum buf ); diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 074f0f736b9..8fa1e295f6b 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -943,28 +943,6 @@ const GLubyte *wrap_glGetString( TEB *teb, GLenum name ) return ret; } -const GLubyte *wrap_glGetStringi( TEB *teb, GLenum name, GLuint index ) -{ - const struct opengl_funcs *funcs = teb->glTable; - - if (!funcs->p_glGetStringi) - { - void **func_ptr = (void **)&funcs->p_glGetStringi; - *func_ptr = funcs->p_wglGetProcAddress( "glGetStringi" ); - } - - if (name == GL_EXTENSIONS) - { - struct context *ctx = get_current_context( teb, NULL, NULL ); - struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); - if (index < client->extension_count) - return (const GLubyte *)all_extensions[client->extension_array[index]].name; - index = -1; - } - - return funcs->p_glGetStringi( name, index ); -} - static int registry_entry_cmp( const void *a, const void *b ) { const struct registry_entry *entry_a = a, *entry_b = b; diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index 2456ea4408a..236d20a7dc9 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -2049,12 +2049,24 @@ const GLubyte * WINAPI glGetStringi( GLenum name, GLuint index ) .index = index, }; NTSTATUS status; + struct context *ctx; #ifndef _WIN64 GLubyte *wow64_str = NULL; #endif TRACE( "name %d, index %d\n", name, index ); + if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return NULL; + + switch (name) + { + case GL_EXTENSIONS: + if (index < ctx->base.extension_count) + return (const GLubyte *)extension_names[ctx->base.extension_array[index]]; + set_gl_error( GL_INVALID_VALUE ); + return NULL; + } + #ifndef _WIN64 if (UNIX_CALL( glGetStringi, &args ) == STATUS_BUFFER_TOO_SMALL) args.ret = wow64_str = malloc( (size_t)args.ret ); #endif -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> Based on patch by Rémi Bernon. --- dlls/opengl32/unix_wgl.c | 62 ++++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 8fa1e295f6b..51f73843ca1 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -191,6 +191,7 @@ static ULONG_PTR zero_bits; static const struct vulkan_funcs *vk_funcs; static VkInstance vk_instance; static PFN_vkDestroyInstance p_vkDestroyInstance; +static BOOLEAN enabled_extensions[GL_EXTENSION_COUNT]; static int vk_device_cmp( const void *key, const struct rb_entry *entry ) { @@ -510,18 +511,6 @@ static enum opengl_extension parse_extension( const char *ext, size_t len ) return GL_EXTENSION_COUNT; } -/* check if the extension is present in the list */ -static BOOL has_extension( const char *list, const char *ext, size_t len ) -{ - while (list) - { - while (*list == ' ') list++; - if (!strncmp( list, ext, len ) && (!list[len] || list[len] == ' ')) return TRUE; - list = strchr( list, ' ' ); - } - return FALSE; -} - static const char *legacy_extensions[] = { "WGL_EXT_extensions_string", @@ -1195,6 +1184,32 @@ static BOOL initialize_vk_device( TEB *teb, struct context *ctx ) return FALSE; } +static void init_enabled_extensions(void) +{ + enum opengl_extension parsed_extensions[GL_EXTENSION_COUNT]; + char *enabled, *disabled; + size_t count, i; + + if ((enabled = query_opengl_option( "EnabledExtensions" ))) + { + count = parse_extensions( enabled, parsed_extensions ); + for (i = 0; i < count; i++) enabled_extensions[parsed_extensions[i]] = TRUE; + } + else + { + memset( enabled_extensions, TRUE, sizeof(enabled_extensions) ); + } + + if ((disabled = query_opengl_option( "DisabledExtensions" ))) + { + count = parse_extensions( disabled, parsed_extensions ); + for (i = 0; i < count; i++) enabled_extensions[parsed_extensions[i]] = FALSE; + } + + free( enabled ); + free( disabled ); +} + static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HDC draw_hdc, HDC read_hdc, HGLRC client_context, struct context *ctx ) { @@ -1203,7 +1218,7 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD const char *version, *rest = ""; size_t count = 0, i; - static const char *disabled, *enabled; + static pthread_once_t once = PTHREAD_ONCE_INIT; ctx->tid = tid; teb->glReserved1[0] = draw_hdc; @@ -1245,22 +1260,13 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD for (i = 0; i < extension_count; i++) client->extensions[i] = TRUE; } - if (!disabled && !(disabled = query_opengl_option( "DisabledExtensions" ))) disabled = ""; -#define USE_GL_EXT(x) #x " " - if (!enabled && !(enabled = query_opengl_option( "EnabledExtensions" ))) enabled = ALL_GL_EXTS; -#undef USE_GL_EXT - if (*enabled || *disabled) + pthread_once( &once, init_enabled_extensions ); + + for (i = 0; i < WGL_FIRST_EXTENSION; i++) { - for (i = 0; i < WGL_FIRST_EXTENSION; i++) - { - const char *ext = all_extensions[i].name; - size_t len = all_extensions[i].len; - if (!client->extensions[i]) continue; - if (!has_extension( disabled, ext, len ) && (!*enabled || has_extension( enabled, ext, len ))) - continue; - client->extensions[i] = FALSE; - TRACE( "-- %s (disabled by config)\n", ext ); - } + if (enabled_extensions[i] || !client->extensions[i]) continue; + client->extensions[i] = FALSE; + TRACE( "-- %s (disabled by config)\n", all_extensions[i].name ); } if (is_win64 && ctx->buffers && !initialize_vk_device( teb, ctx ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> --- dlls/opengl32/unix_wgl.c | 71 +++++++++++----------------------------- 1 file changed, 20 insertions(+), 51 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 51f73843ca1..2a994599658 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -511,13 +511,6 @@ static enum opengl_extension parse_extension( const char *ext, size_t len ) return GL_EXTENSION_COUNT; } -static const char *legacy_extensions[] = -{ - "WGL_EXT_extensions_string", - "WGL_EXT_swap_control", - NULL, -}; - static const char *parse_gl_version( const char *gl_version, int *major, int *minor ) { const char *ptr = gl_version; @@ -696,15 +689,6 @@ static BOOL is_extension_supported( struct context *ctx, const char *extension ) return ext != GL_EXTENSION_COUNT && client->extensions[ext]; } -static char *append_extension( char *ptr, const char *name ) -{ - size_t size = strlen( name ); - memcpy( ptr, name, size ); - ptr += size; - *ptr++ = ' '; - return ptr; -} - static size_t parse_extensions( const char *name, enum opengl_extension extensions[GL_EXTENSION_COUNT] ) { size_t count = 0; @@ -722,49 +706,34 @@ static size_t parse_extensions( const char *name, enum opengl_extension extensio } /* build the extension string by filtering out the disabled extensions */ -static GLubyte *filter_extensions( struct context *ctx, const char *extensions, const struct opengl_funcs *funcs ) +static GLubyte *filter_extensions( struct context *ctx, const char *str, const struct opengl_funcs *funcs ) { - const char *end, **extra; - size_t size; - char *p, *str; - - size = strlen( extensions ) + 2; - if (funcs->p_glImportMemoryWin32HandleEXT) size += strlen( "GL_EXT_memory_object_win32" ) + 1; - if (funcs->p_glImportSemaphoreWin32HandleEXT) size += strlen( "GL_EXT_semaphore_win32" ) + 1; - for (extra = legacy_extensions; *extra; extra++) size += strlen( *extra ) + 1; - if (!(p = str = malloc( size ))) return NULL; + struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); + enum opengl_extension extensions[GL_EXTENSION_COUNT]; + size_t count, i, size = 1; + char *ret, *p; - TRACE( "GL_EXTENSIONS:\n" ); + if (!(count = parse_extensions( str, extensions ))) return NULL; + extensions[count++] = WGL_EXT_extensions_string; + extensions[count++] = WGL_EXT_swap_control; - for (;;) + for (i = 0; i < count; i++) { - while (*extensions == ' ') extensions++; - if (!*extensions) break; + if (!client->extensions[extensions[i]]) continue; + size += all_extensions[extensions[i]].len + 1; + } - if (!(end = strchr( extensions, ' ' ))) end = extensions + strlen( extensions ); - memcpy( p, extensions, end - extensions ); - p[end - extensions] = 0; + if (!(p = ret = malloc( size ))) return NULL; - if (is_extension_supported( ctx, p )) - { - TRACE( "++ %s\n", p ); - p += end - extensions; - *p++ = ' '; - } - else - { - TRACE( "-- %s (disabled in context)\n", p ); - } - extensions = end; + for (i = 0; i < count; i++) + { + if (!client->extensions[extensions[i]]) continue; + memcpy( p, all_extensions[extensions[i]].name, all_extensions[extensions[i]].len ); + p += all_extensions[extensions[i]].len; + *p++ = ' '; } - if (funcs->p_glImportMemoryWin32HandleEXT) p = append_extension( p, "GL_EXT_memory_object_win32" ); - if (funcs->p_glImportSemaphoreWin32HandleEXT) p = append_extension( p, "GL_EXT_semaphore_win32" ); - for (extra = legacy_extensions; *extra; extra++) p = append_extension( p, *extra ); - - if (p != str) --p; - *p = 0; - return (GLubyte *)str; + return (GLubyte *)ret; } /* Check if any GL extension from the list is supported */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> --- dlls/opengl32/make_opengl | 14 +- dlls/opengl32/unix_private.h | 2 + dlls/opengl32/unix_thunks.c | 5516 +++++++++++++++++----------------- dlls/opengl32/unix_wgl.c | 27 +- 4 files changed, 2780 insertions(+), 2779 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 74e53cebcad..2581f0c055a 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1934,17 +1934,29 @@ foreach (sort keys %ext_functions) { next unless is_exposed_function( $ext_functions{$_} ); my $func = $ext_functions{$_}; + my $major = 0; + my $minor = 0; my @exts; foreach my $ext (@{$func->[2]}) { + if ($ext =~ /GL_VERSION_(\d+)_(\d+)/) + { + ($major, $minor) = ($1, $2); + next; + } next unless is_exposed_extension( $ext ); push @exts, $ext; foreach my $alias (@{$extension_aliases{$ext}}) { + if ($alias =~ /GL_VERSION_(\d+)_(\d+)/) + { + ($major, $minor) = ($1, $2); + next; + } push @exts, $alias; } } - printf OUT " { \"%s\", \"%s\\0\", offsetof(struct opengl_funcs, p_$_) },\n", $_, join("\\0", sort @exts); + printf OUT " { \"%s\", \"%s\\0\", offsetof(struct opengl_funcs, p_$_), $major, $minor },\n", $_, join("\\0", sort @exts); } print OUT "};\n"; diff --git a/dlls/opengl32/unix_private.h b/dlls/opengl32/unix_private.h index 1eb571e1733..81222e771d1 100644 --- a/dlls/opengl32/unix_private.h +++ b/dlls/opengl32/unix_private.h @@ -38,6 +38,8 @@ struct registry_entry const char *name; /* name of the extension */ const char *extension; /* name of the GL/WGL extension */ size_t offset; /* offset in the opengl_funcs table */ + UINT16 major; + UINT16 minor; }; extern const struct registry_entry extension_registry[]; diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index 4bea6e4ad6a..ca9257dacfa 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -91803,2762 +91803,2762 @@ struct opengl_funcs null_opengl_funcs = const int extension_registry_size = 2758; const struct registry_entry extension_registry[2758] = { - { "glAccumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glAccumxOES) }, - { "glAcquireKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex\0", offsetof(struct opengl_funcs, p_glAcquireKeyedMutexWin32EXT) }, - { "glActiveProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glActiveProgramEXT) }, - { "glActiveShaderProgram", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glActiveShaderProgram) }, - { "glActiveStencilFaceEXT", "GL_EXT_stencil_two_side\0", offsetof(struct opengl_funcs, p_glActiveStencilFaceEXT) }, - { "glActiveTexture", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glActiveTexture) }, - { "glActiveTextureARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glActiveTextureARB) }, - { "glActiveVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glActiveVaryingNV) }, - { "glAlphaFragmentOp1ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp1ATI) }, - { "glAlphaFragmentOp2ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp2ATI) }, - { "glAlphaFragmentOp3ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp3ATI) }, - { "glAlphaFuncx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glAlphaFuncx) }, - { "glAlphaFuncxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glAlphaFuncxOES) }, - { "glAlphaToCoverageDitherControlNV", "GL_NV_alpha_to_coverage_dither_control\0", offsetof(struct opengl_funcs, p_glAlphaToCoverageDitherControlNV) }, - { "glApplyFramebufferAttachmentCMAAINTEL", "GL_INTEL_framebuffer_CMAA\0", offsetof(struct opengl_funcs, p_glApplyFramebufferAttachmentCMAAINTEL) }, - { "glApplyTextureEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glApplyTextureEXT) }, - { "glAreProgramsResidentNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glAreProgramsResidentNV) }, - { "glAreTexturesResidentEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glAreTexturesResidentEXT) }, - { "glArrayElementEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glArrayElementEXT) }, - { "glArrayObjectATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glArrayObjectATI) }, - { "glAsyncCopyBufferSubDataNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glAsyncCopyBufferSubDataNVX) }, - { "glAsyncCopyImageSubDataNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glAsyncCopyImageSubDataNVX) }, - { "glAsyncMarkerSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glAsyncMarkerSGIX) }, - { "glAttachObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glAttachObjectARB) }, - { "glAttachShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glAttachShader) }, - { "glBeginConditionalRender", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBeginConditionalRender) }, - { "glBeginConditionalRenderNV", "GL_NV_conditional_render\0", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNV) }, - { "glBeginConditionalRenderNVX", "GL_NVX_conditional_render\0", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNVX) }, - { "glBeginFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glBeginFragmentShaderATI) }, - { "glBeginOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glBeginOcclusionQueryNV) }, - { "glBeginPerfMonitorAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glBeginPerfMonitorAMD) }, - { "glBeginPerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glBeginPerfQueryINTEL) }, - { "glBeginQuery", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glBeginQuery) }, - { "glBeginQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glBeginQueryARB) }, - { "glBeginQueryIndexed", "GL_ARB_transform_feedback3\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glBeginQueryIndexed) }, - { "glBeginTransformFeedback", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedback) }, - { "glBeginTransformFeedbackEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackEXT) }, - { "glBeginTransformFeedbackNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackNV) }, - { "glBeginVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBeginVertexShaderEXT) }, - { "glBeginVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBeginVideoCaptureNV) }, - { "glBindAttribLocation", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glBindAttribLocation) }, - { "glBindAttribLocationARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindAttribLocationARB) }, - { "glBindBuffer", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glBindBuffer) }, - { "glBindBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBindBufferARB) }, - { "glBindBufferBase", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindBufferBase) }, - { "glBindBufferBaseEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferBaseEXT) }, - { "glBindBufferBaseNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferBaseNV) }, - { "glBindBufferOffsetEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferOffsetEXT) }, - { "glBindBufferOffsetNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferOffsetNV) }, - { "glBindBufferRange", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindBufferRange) }, - { "glBindBufferRangeEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferRangeEXT) }, - { "glBindBufferRangeNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferRangeNV) }, - { "glBindBuffersBase", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindBuffersBase) }, - { "glBindBuffersRange", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindBuffersRange) }, - { "glBindFragDataLocation", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindFragDataLocation) }, - { "glBindFragDataLocationEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationEXT) }, - { "glBindFragDataLocationIndexed", "GL_ARB_blend_func_extended\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationIndexed) }, - { "glBindFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glBindFragmentShaderATI) }, - { "glBindFramebuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindFramebuffer) }, - { "glBindFramebufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindFramebufferEXT) }, - { "glBindImageTexture", "GL_ARB_shader_image_load_store\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glBindImageTexture) }, - { "glBindImageTextureEXT", "GL_EXT_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glBindImageTextureEXT) }, - { "glBindImageTextures", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindImageTextures) }, - { "glBindLightParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindLightParameterEXT) }, - { "glBindMaterialParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindMaterialParameterEXT) }, - { "glBindMultiTextureEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glBindMultiTextureEXT) }, - { "glBindParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindParameterEXT) }, - { "glBindProgramARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glBindProgramARB) }, - { "glBindProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glBindProgramNV) }, - { "glBindProgramPipeline", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glBindProgramPipeline) }, - { "glBindRenderbuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindRenderbuffer) }, - { "glBindRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindRenderbufferEXT) }, - { "glBindSampler", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glBindSampler) }, - { "glBindSamplers", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindSamplers) }, - { "glBindShadingRateImageNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glBindShadingRateImageNV) }, - { "glBindTexGenParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindTexGenParameterEXT) }, - { "glBindTextureEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glBindTextureEXT) }, - { "glBindTextureUnit", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glBindTextureUnit) }, - { "glBindTextureUnitParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindTextureUnitParameterEXT) }, - { "glBindTextures", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindTextures) }, - { "glBindTransformFeedback", "GL_ARB_transform_feedback2\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glBindTransformFeedback) }, - { "glBindTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glBindTransformFeedbackNV) }, - { "glBindVertexArray", "GL_ARB_vertex_array_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBindVertexArray) }, - { "glBindVertexArrayAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glBindVertexArrayAPPLE) }, - { "glBindVertexBuffer", "GL_ARB_vertex_attrib_binding\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glBindVertexBuffer) }, - { "glBindVertexBuffers", "GL_ARB_multi_bind\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBindVertexBuffers) }, - { "glBindVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindVertexShaderEXT) }, - { "glBindVideoCaptureStreamBufferNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamBufferNV) }, - { "glBindVideoCaptureStreamTextureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamTextureNV) }, - { "glBinormal3bEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3bEXT) }, - { "glBinormal3bvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3bvEXT) }, - { "glBinormal3dEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3dEXT) }, - { "glBinormal3dvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3dvEXT) }, - { "glBinormal3fEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3fEXT) }, - { "glBinormal3fvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3fvEXT) }, - { "glBinormal3iEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3iEXT) }, - { "glBinormal3ivEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3ivEXT) }, - { "glBinormal3sEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3sEXT) }, - { "glBinormal3svEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3svEXT) }, - { "glBinormalPointerEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormalPointerEXT) }, - { "glBitmapxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glBitmapxOES) }, - { "glBlendBarrier", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glBlendBarrier) }, - { "glBlendBarrierKHR", "GL_KHR_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendBarrierKHR) }, - { "glBlendBarrierNV", "GL_NV_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendBarrierNV) }, - { "glBlendColor", "GL_ARB_imaging\0GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glBlendColor) }, - { "glBlendColorEXT", "GL_EXT_blend_color\0", offsetof(struct opengl_funcs, p_glBlendColorEXT) }, - { "glBlendColorxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glBlendColorxOES) }, - { "glBlendEquation", "GL_ARB_imaging\0GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glBlendEquation) }, - { "glBlendEquationEXT", "GL_EXT_blend_minmax\0", offsetof(struct opengl_funcs, p_glBlendEquationEXT) }, - { "glBlendEquationIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationIndexedAMD) }, - { "glBlendEquationSeparate", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparate) }, - { "glBlendEquationSeparateEXT", "GL_ATI_blend_equation_separate\0GL_EXT_blend_equation_separate\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateEXT) }, - { "glBlendEquationSeparateIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateIndexedAMD) }, - { "glBlendEquationSeparatei", "GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparatei) }, - { "glBlendEquationSeparateiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateiARB) }, - { "glBlendEquationi", "GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glBlendEquationi) }, - { "glBlendEquationiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationiARB) }, - { "glBlendFuncIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncIndexedAMD) }, - { "glBlendFuncSeparate", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparate) }, - { "glBlendFuncSeparateEXT", "GL_EXT_blend_func_separate\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateEXT) }, - { "glBlendFuncSeparateINGR", "GL_INGR_blend_func_separate\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateINGR) }, - { "glBlendFuncSeparateIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateIndexedAMD) }, - { "glBlendFuncSeparatei", "GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparatei) }, - { "glBlendFuncSeparateiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateiARB) }, - { "glBlendFunci", "GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glBlendFunci) }, - { "glBlendFunciARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFunciARB) }, - { "glBlendParameteriNV", "GL_NV_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendParameteriNV) }, - { "glBlitFramebuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glBlitFramebuffer) }, - { "glBlitFramebufferEXT", "GL_EXT_framebuffer_blit\0", offsetof(struct opengl_funcs, p_glBlitFramebufferEXT) }, - { "glBlitFramebufferLayerEXT", "GL_EXT_framebuffer_blit_layers\0", offsetof(struct opengl_funcs, p_glBlitFramebufferLayerEXT) }, - { "glBlitFramebufferLayersEXT", "GL_EXT_framebuffer_blit_layers\0", offsetof(struct opengl_funcs, p_glBlitFramebufferLayersEXT) }, - { "glBlitNamedFramebuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glBlitNamedFramebuffer) }, - { "glBufferAddressRangeNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glBufferAddressRangeNV) }, - { "glBufferAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glBufferAttachMemoryNV) }, - { "glBufferData", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glBufferData) }, - { "glBufferDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBufferDataARB) }, - { "glBufferPageCommitmentARB", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glBufferPageCommitmentARB) }, - { "glBufferPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glBufferPageCommitmentMemNV) }, - { "glBufferParameteriAPPLE", "GL_APPLE_flush_buffer_range\0", offsetof(struct opengl_funcs, p_glBufferParameteriAPPLE) }, - { "glBufferRegionEnabled", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glBufferRegionEnabled) }, - { "glBufferStorage", "GL_ARB_buffer_storage\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glBufferStorage) }, - { "glBufferStorageExternalEXT", "GL_EXT_external_buffer\0", offsetof(struct opengl_funcs, p_glBufferStorageExternalEXT) }, - { "glBufferStorageMemEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glBufferStorageMemEXT) }, - { "glBufferSubData", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glBufferSubData) }, - { "glBufferSubDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBufferSubDataARB) }, - { "glCallCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCallCommandListNV) }, - { "glCheckFramebufferStatus", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glCheckFramebufferStatus) }, - { "glCheckFramebufferStatusEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glCheckFramebufferStatusEXT) }, - { "glCheckNamedFramebufferStatus", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatus) }, - { "glCheckNamedFramebufferStatusEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatusEXT) }, - { "glClampColor", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glClampColor) }, - { "glClampColorARB", "GL_ARB_color_buffer_float\0", offsetof(struct opengl_funcs, p_glClampColorARB) }, - { "glClearAccumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearAccumxOES) }, - { "glClearBufferData", "GL_ARB_clear_buffer_object\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glClearBufferData) }, - { "glClearBufferSubData", "GL_ARB_clear_buffer_object\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glClearBufferSubData) }, - { "glClearBufferfi", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glClearBufferfi) }, - { "glClearBufferfv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glClearBufferfv) }, - { "glClearBufferiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glClearBufferiv) }, - { "glClearBufferuiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glClearBufferuiv) }, - { "glClearColorIiEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glClearColorIiEXT) }, - { "glClearColorIuiEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glClearColorIuiEXT) }, - { "glClearColorx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClearColorx) }, - { "glClearColorxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearColorxOES) }, - { "glClearDepthdNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glClearDepthdNV) }, - { "glClearDepthf", "GL_ARB_ES2_compatibility\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glClearDepthf) }, - { "glClearDepthfOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glClearDepthfOES) }, - { "glClearDepthx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClearDepthx) }, - { "glClearDepthxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearDepthxOES) }, - { "glClearNamedBufferData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glClearNamedBufferData) }, - { "glClearNamedBufferDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferDataEXT) }, - { "glClearNamedBufferSubData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glClearNamedBufferSubData) }, - { "glClearNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferSubDataEXT) }, - { "glClearNamedFramebufferfi", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfi) }, - { "glClearNamedFramebufferfv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfv) }, - { "glClearNamedFramebufferiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferiv) }, - { "glClearNamedFramebufferuiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferuiv) }, - { "glClearTexImage", "GL_ARB_clear_texture\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glClearTexImage) }, - { "glClearTexSubImage", "GL_ARB_clear_texture\0GL_VERSION_4_4\0", offsetof(struct opengl_funcs, p_glClearTexSubImage) }, - { "glClientActiveTexture", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glClientActiveTexture) }, - { "glClientActiveTextureARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glClientActiveTextureARB) }, - { "glClientActiveVertexStreamATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glClientActiveVertexStreamATI) }, - { "glClientAttribDefaultEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClientAttribDefaultEXT) }, - { "glClientWaitSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glClientWaitSemaphoreui64NVX) }, - { "glClientWaitSync", "GL_ARB_sync\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glClientWaitSync) }, - { "glClipControl", "GL_ARB_clip_control\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glClipControl) }, - { "glClipPlanef", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClipPlanef) }, - { "glClipPlanefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glClipPlanefOES) }, - { "glClipPlanex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClipPlanex) }, - { "glClipPlanexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClipPlanexOES) }, - { "glColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor3fVertex3fSUN) }, - { "glColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor3fVertex3fvSUN) }, - { "glColor3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor3hNV) }, - { "glColor3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor3hvNV) }, - { "glColor3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor3xOES) }, - { "glColor3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor3xvOES) }, - { "glColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fSUN) }, - { "glColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fvSUN) }, - { "glColor4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor4hNV) }, - { "glColor4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor4hvNV) }, - { "glColor4ubVertex2fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex2fSUN) }, - { "glColor4ubVertex2fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex2fvSUN) }, - { "glColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex3fSUN) }, - { "glColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex3fvSUN) }, - { "glColor4x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glColor4x) }, - { "glColor4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor4xOES) }, - { "glColor4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor4xvOES) }, - { "glColorFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glColorFormatNV) }, - { "glColorFragmentOp1ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp1ATI) }, - { "glColorFragmentOp2ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp2ATI) }, - { "glColorFragmentOp3ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp3ATI) }, - { "glColorMaskIndexedEXT", "GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glColorMaskIndexedEXT) }, - { "glColorMaski", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glColorMaski) }, - { "glColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glColorP3ui) }, - { "glColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glColorP3uiv) }, - { "glColorP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glColorP4ui) }, - { "glColorP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glColorP4uiv) }, - { "glColorPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glColorPointerEXT) }, - { "glColorPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glColorPointerListIBM) }, - { "glColorPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glColorPointervINTEL) }, - { "glColorSubTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorSubTable) }, - { "glColorSubTableEXT", "GL_EXT_color_subtable\0", offsetof(struct opengl_funcs, p_glColorSubTableEXT) }, - { "glColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTable) }, - { "glColorTableEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glColorTableEXT) }, - { "glColorTableParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTableParameterfv) }, - { "glColorTableParameterfvSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableParameterfvSGI) }, - { "glColorTableParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTableParameteriv) }, - { "glColorTableParameterivSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableParameterivSGI) }, - { "glColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableSGI) }, - { "glCombinerInputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerInputNV) }, - { "glCombinerOutputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerOutputNV) }, - { "glCombinerParameterfNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterfNV) }, - { "glCombinerParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterfvNV) }, - { "glCombinerParameteriNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameteriNV) }, - { "glCombinerParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterivNV) }, - { "glCombinerStageParameterfvNV", "GL_NV_register_combiners2\0", offsetof(struct opengl_funcs, p_glCombinerStageParameterfvNV) }, - { "glCommandListSegmentsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCommandListSegmentsNV) }, - { "glCompileCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCompileCommandListNV) }, - { "glCompileShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glCompileShader) }, - { "glCompileShaderARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCompileShaderARB) }, - { "glCompileShaderIncludeARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glCompileShaderIncludeARB) }, - { "glCompressedMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage1DEXT) }, - { "glCompressedMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage2DEXT) }, - { "glCompressedMultiTexImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage3DEXT) }, - { "glCompressedMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage1DEXT) }, - { "glCompressedMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage2DEXT) }, - { "glCompressedMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage3DEXT) }, - { "glCompressedTexImage1D", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexImage1D) }, - { "glCompressedTexImage1DARB", "GL_ARB_texture_compression\0GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexImage1DARB) }, - { "glCompressedTexImage2D", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexImage2D) }, - { "glCompressedTexImage2DARB", "GL_ARB_texture_compression\0GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexImage2DARB) }, - { "glCompressedTexImage3D", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexImage3D) }, - { "glCompressedTexImage3DARB", "GL_ARB_texture_compression\0GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexImage3DARB) }, - { "glCompressedTexSubImage1D", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1D) }, - { "glCompressedTexSubImage1DARB", "GL_ARB_texture_compression\0GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1DARB) }, - { "glCompressedTexSubImage2D", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2D) }, - { "glCompressedTexSubImage2DARB", "GL_ARB_texture_compression\0GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2DARB) }, - { "glCompressedTexSubImage3D", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3D) }, - { "glCompressedTexSubImage3DARB", "GL_ARB_texture_compression\0GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3DARB) }, - { "glCompressedTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage1DEXT) }, - { "glCompressedTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage2DEXT) }, - { "glCompressedTextureImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage3DEXT) }, - { "glCompressedTextureSubImage1D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1D) }, - { "glCompressedTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1DEXT) }, - { "glCompressedTextureSubImage2D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2D) }, - { "glCompressedTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2DEXT) }, - { "glCompressedTextureSubImage3D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3D) }, - { "glCompressedTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3DEXT) }, - { "glConservativeRasterParameterfNV", "GL_NV_conservative_raster_dilate\0", offsetof(struct opengl_funcs, p_glConservativeRasterParameterfNV) }, - { "glConservativeRasterParameteriNV", "GL_NV_conservative_raster_pre_snap_triangles\0", offsetof(struct opengl_funcs, p_glConservativeRasterParameteriNV) }, - { "glConvolutionFilter1D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionFilter1D) }, - { "glConvolutionFilter1DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionFilter1DEXT) }, - { "glConvolutionFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionFilter2D) }, - { "glConvolutionFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionFilter2DEXT) }, - { "glConvolutionParameterf", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameterf) }, - { "glConvolutionParameterfEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfEXT) }, - { "glConvolutionParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfv) }, - { "glConvolutionParameterfvEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfvEXT) }, - { "glConvolutionParameteri", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameteri) }, - { "glConvolutionParameteriEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameteriEXT) }, - { "glConvolutionParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameteriv) }, - { "glConvolutionParameterivEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterivEXT) }, - { "glConvolutionParameterxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glConvolutionParameterxOES) }, - { "glConvolutionParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glConvolutionParameterxvOES) }, - { "glCopyBufferSubData", "GL_ARB_copy_buffer\0GL_EXT_copy_buffer\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glCopyBufferSubData) }, - { "glCopyColorSubTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyColorSubTable) }, - { "glCopyColorSubTableEXT", "GL_EXT_color_subtable\0", offsetof(struct opengl_funcs, p_glCopyColorSubTableEXT) }, - { "glCopyColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyColorTable) }, - { "glCopyColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glCopyColorTableSGI) }, - { "glCopyConvolutionFilter1D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1D) }, - { "glCopyConvolutionFilter1DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1DEXT) }, - { "glCopyConvolutionFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2D) }, - { "glCopyConvolutionFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2DEXT) }, - { "glCopyImageSubData", "GL_ARB_copy_image\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glCopyImageSubData) }, - { "glCopyImageSubDataNV", "GL_NV_copy_image\0", offsetof(struct opengl_funcs, p_glCopyImageSubDataNV) }, - { "glCopyMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexImage1DEXT) }, - { "glCopyMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexImage2DEXT) }, - { "glCopyMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage1DEXT) }, - { "glCopyMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage2DEXT) }, - { "glCopyMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage3DEXT) }, - { "glCopyNamedBufferSubData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCopyNamedBufferSubData) }, - { "glCopyPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCopyPathNV) }, - { "glCopyTexImage1DEXT", "GL_EXT_copy_texture\0GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glCopyTexImage1DEXT) }, - { "glCopyTexImage2DEXT", "GL_EXT_copy_texture\0GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glCopyTexImage2DEXT) }, - { "glCopyTexSubImage1DEXT", "GL_EXT_copy_texture\0GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage1DEXT) }, - { "glCopyTexSubImage2DEXT", "GL_EXT_copy_texture\0GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage2DEXT) }, - { "glCopyTexSubImage3D", "GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage3D) }, - { "glCopyTexSubImage3DEXT", "GL_EXT_copy_texture\0GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage3DEXT) }, - { "glCopyTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureImage1DEXT) }, - { "glCopyTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureImage2DEXT) }, - { "glCopyTextureSubImage1D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1D) }, - { "glCopyTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1DEXT) }, - { "glCopyTextureSubImage2D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2D) }, - { "glCopyTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2DEXT) }, - { "glCopyTextureSubImage3D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3D) }, - { "glCopyTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3DEXT) }, - { "glCoverFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverFillPathInstancedNV) }, - { "glCoverFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverFillPathNV) }, - { "glCoverStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverStrokePathInstancedNV) }, - { "glCoverStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverStrokePathNV) }, - { "glCoverageModulationNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glCoverageModulationNV) }, - { "glCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glCoverageModulationTableNV) }, - { "glCreateBuffers", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateBuffers) }, - { "glCreateCommandListsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCreateCommandListsNV) }, - { "glCreateFramebuffers", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateFramebuffers) }, - { "glCreateMemoryObjectsEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glCreateMemoryObjectsEXT) }, - { "glCreatePerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glCreatePerfQueryINTEL) }, - { "glCreateProgram", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glCreateProgram) }, - { "glCreateProgramObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateProgramObjectARB) }, - { "glCreateProgramPipelines", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateProgramPipelines) }, - { "glCreateProgressFenceNVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glCreateProgressFenceNVX) }, - { "glCreateQueries", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateQueries) }, - { "glCreateRenderbuffers", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateRenderbuffers) }, - { "glCreateSamplers", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateSamplers) }, - { "glCreateSemaphoresNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glCreateSemaphoresNV) }, - { "glCreateShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glCreateShader) }, - { "glCreateShaderObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderObjectARB) }, - { "glCreateShaderProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderProgramEXT) }, - { "glCreateShaderProgramv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glCreateShaderProgramv) }, - { "glCreateStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCreateStatesNV) }, - { "glCreateSyncFromCLeventARB", "GL_ARB_cl_event\0", offsetof(struct opengl_funcs, p_glCreateSyncFromCLeventARB) }, - { "glCreateTextures", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateTextures) }, - { "glCreateTransformFeedbacks", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateTransformFeedbacks) }, - { "glCreateVertexArrays", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glCreateVertexArrays) }, - { "glCullParameterdvEXT", "GL_EXT_cull_vertex\0", offsetof(struct opengl_funcs, p_glCullParameterdvEXT) }, - { "glCullParameterfvEXT", "GL_EXT_cull_vertex\0", offsetof(struct opengl_funcs, p_glCullParameterfvEXT) }, - { "glCurrentPaletteMatrixARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glCurrentPaletteMatrixARB) }, - { "glDebugMessageCallback", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glDebugMessageCallback) }, - { "glDebugMessageCallbackAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageCallbackAMD) }, - { "glDebugMessageCallbackARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageCallbackARB) }, - { "glDebugMessageControl", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glDebugMessageControl) }, - { "glDebugMessageControlARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageControlARB) }, - { "glDebugMessageEnableAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageEnableAMD) }, - { "glDebugMessageInsert", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glDebugMessageInsert) }, - { "glDebugMessageInsertAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageInsertAMD) }, - { "glDebugMessageInsertARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageInsertARB) }, - { "glDeformSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformSGIX) }, - { "glDeformationMap3dSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformationMap3dSGIX) }, - { "glDeformationMap3fSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformationMap3fSGIX) }, - { "glDeleteAsyncMarkersSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glDeleteAsyncMarkersSGIX) }, - { "glDeleteBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glDeleteBufferRegion) }, - { "glDeleteBuffers", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glDeleteBuffers) }, - { "glDeleteBuffersARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glDeleteBuffersARB) }, - { "glDeleteCommandListsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDeleteCommandListsNV) }, - { "glDeleteFencesAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glDeleteFencesAPPLE) }, - { "glDeleteFencesNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glDeleteFencesNV) }, - { "glDeleteFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glDeleteFragmentShaderATI) }, - { "glDeleteFramebuffers", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glDeleteFramebuffers) }, - { "glDeleteFramebuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteFramebuffersEXT) }, - { "glDeleteMemoryObjectsEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glDeleteMemoryObjectsEXT) }, - { "glDeleteNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glDeleteNamedStringARB) }, - { "glDeleteNamesAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glDeleteNamesAMD) }, - { "glDeleteObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glDeleteObjectARB) }, - { "glDeleteObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteObjectBufferATI) }, - { "glDeleteOcclusionQueriesNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glDeleteOcclusionQueriesNV) }, - { "glDeletePathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glDeletePathsNV) }, - { "glDeletePerfMonitorsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glDeletePerfMonitorsAMD) }, - { "glDeletePerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glDeletePerfQueryINTEL) }, - { "glDeleteProgram", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glDeleteProgram) }, - { "glDeleteProgramPipelines", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glDeleteProgramPipelines) }, - { "glDeleteProgramsARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glDeleteProgramsARB) }, - { "glDeleteProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glDeleteProgramsNV) }, - { "glDeleteQueries", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glDeleteQueries) }, - { "glDeleteQueriesARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glDeleteQueriesARB) }, - { "glDeleteQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glDeleteQueryResourceTagNV) }, - { "glDeleteRenderbuffers", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffers) }, - { "glDeleteRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffersEXT) }, - { "glDeleteSamplers", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glDeleteSamplers) }, - { "glDeleteSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glDeleteSemaphoresEXT) }, - { "glDeleteShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glDeleteShader) }, - { "glDeleteStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDeleteStatesNV) }, - { "glDeleteSync", "GL_ARB_sync\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glDeleteSync) }, - { "glDeleteTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glDeleteTexturesEXT) }, - { "glDeleteTransformFeedbacks", "GL_ARB_transform_feedback2\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacks) }, - { "glDeleteTransformFeedbacksNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacksNV) }, - { "glDeleteVertexArrays", "GL_ARB_vertex_array_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glDeleteVertexArrays) }, - { "glDeleteVertexArraysAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteVertexArraysAPPLE) }, - { "glDeleteVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glDeleteVertexShaderEXT) }, - { "glDepthBoundsEXT", "GL_EXT_depth_bounds_test\0", offsetof(struct opengl_funcs, p_glDepthBoundsEXT) }, - { "glDepthBoundsdNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glDepthBoundsdNV) }, - { "glDepthRangeArraydvNV", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeArraydvNV) }, - { "glDepthRangeArrayv", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glDepthRangeArrayv) }, - { "glDepthRangeIndexed", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glDepthRangeIndexed) }, - { "glDepthRangeIndexeddNV", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeIndexeddNV) }, - { "glDepthRangedNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glDepthRangedNV) }, - { "glDepthRangef", "GL_ARB_ES2_compatibility\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glDepthRangef) }, - { "glDepthRangefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glDepthRangefOES) }, - { "glDepthRangex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glDepthRangex) }, - { "glDepthRangexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glDepthRangexOES) }, - { "glDetachObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glDetachObjectARB) }, - { "glDetachShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glDetachShader) }, - { "glDetailTexFuncSGIS", "GL_SGIS_detail_texture\0", offsetof(struct opengl_funcs, p_glDetailTexFuncSGIS) }, - { "glDisableClientStateIndexedEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableClientStateIndexedEXT) }, - { "glDisableClientStateiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableClientStateiEXT) }, - { "glDisableIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glDisableIndexedEXT) }, - { "glDisableVariantClientStateEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glDisableVariantClientStateEXT) }, - { "glDisableVertexArrayAttrib", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttrib) }, - { "glDisableVertexArrayAttribEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttribEXT) }, - { "glDisableVertexArrayEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayEXT) }, - { "glDisableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribAPPLE) }, - { "glDisableVertexAttribArray", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribArray) }, - { "glDisableVertexAttribArrayARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribArrayARB) }, - { "glDisablei", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glDisablei) }, - { "glDispatchCompute", "GL_ARB_compute_shader\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glDispatchCompute) }, - { "glDispatchComputeGroupSizeARB", "GL_ARB_compute_variable_group_size\0", offsetof(struct opengl_funcs, p_glDispatchComputeGroupSizeARB) }, - { "glDispatchComputeIndirect", "GL_ARB_compute_shader\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glDispatchComputeIndirect) }, - { "glDrawArraysEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glDrawArraysEXT) }, - { "glDrawArraysIndirect", "GL_ARB_draw_indirect\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glDrawArraysIndirect) }, - { "glDrawArraysInstanced", "GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glDrawArraysInstanced) }, - { "glDrawArraysInstancedARB", "GL_ARB_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedARB) }, - { "glDrawArraysInstancedBaseInstance", "GL_ARB_base_instance\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedBaseInstance) }, - { "glDrawArraysInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedEXT) }, - { "glDrawBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glDrawBufferRegion) }, - { "glDrawBuffers", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glDrawBuffers) }, - { "glDrawBuffersARB", "GL_ARB_draw_buffers\0", offsetof(struct opengl_funcs, p_glDrawBuffersARB) }, - { "glDrawBuffersATI", "GL_ATI_draw_buffers\0", offsetof(struct opengl_funcs, p_glDrawBuffersATI) }, - { "glDrawCommandsAddressNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsAddressNV) }, - { "glDrawCommandsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsNV) }, - { "glDrawCommandsStatesAddressNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsStatesAddressNV) }, - { "glDrawCommandsStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsStatesNV) }, - { "glDrawElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glDrawElementArrayAPPLE) }, - { "glDrawElementArrayATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glDrawElementArrayATI) }, - { "glDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glDrawElementsBaseVertex) }, - { "glDrawElementsIndirect", "GL_ARB_draw_indirect\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glDrawElementsIndirect) }, - { "glDrawElementsInstanced", "GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glDrawElementsInstanced) }, - { "glDrawElementsInstancedARB", "GL_ARB_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedARB) }, - { "glDrawElementsInstancedBaseInstance", "GL_ARB_base_instance\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseInstance) }, - { "glDrawElementsInstancedBaseVertex", "GL_ARB_draw_elements_base_vertex\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertex) }, - { "glDrawElementsInstancedBaseVertexBaseInstance", "GL_ARB_base_instance\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertexBaseInstance) }, - { "glDrawElementsInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedEXT) }, - { "glDrawMeshArraysSUN", "GL_SUN_mesh_array\0", offsetof(struct opengl_funcs, p_glDrawMeshArraysSUN) }, - { "glDrawMeshTasksEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksEXT) }, - { "glDrawMeshTasksIndirectEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectEXT) }, - { "glDrawMeshTasksIndirectNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectNV) }, - { "glDrawMeshTasksNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksNV) }, - { "glDrawRangeElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayAPPLE) }, - { "glDrawRangeElementArrayATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayATI) }, - { "glDrawRangeElements", "GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glDrawRangeElements) }, - { "glDrawRangeElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glDrawRangeElementsBaseVertex) }, - { "glDrawRangeElementsEXT", "GL_EXT_draw_range_elements\0", offsetof(struct opengl_funcs, p_glDrawRangeElementsEXT) }, - { "glDrawTextureNV", "GL_NV_draw_texture\0", offsetof(struct opengl_funcs, p_glDrawTextureNV) }, - { "glDrawTransformFeedback", "GL_ARB_transform_feedback2\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedback) }, - { "glDrawTransformFeedbackInstanced", "GL_ARB_transform_feedback_instanced\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackInstanced) }, - { "glDrawTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackNV) }, - { "glDrawTransformFeedbackStream", "GL_ARB_transform_feedback3\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStream) }, - { "glDrawTransformFeedbackStreamInstanced", "GL_ARB_transform_feedback_instanced\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStreamInstanced) }, - { "glDrawVkImageNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glDrawVkImageNV) }, - { "glEGLImageTargetTexStorageEXT", "GL_EXT_EGL_image_storage\0", offsetof(struct opengl_funcs, p_glEGLImageTargetTexStorageEXT) }, - { "glEGLImageTargetTextureStorageEXT", "GL_EXT_EGL_image_storage\0", offsetof(struct opengl_funcs, p_glEGLImageTargetTextureStorageEXT) }, - { "glEdgeFlagFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glEdgeFlagFormatNV) }, - { "glEdgeFlagPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glEdgeFlagPointerEXT) }, - { "glEdgeFlagPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glEdgeFlagPointerListIBM) }, - { "glElementPointerAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glElementPointerAPPLE) }, - { "glElementPointerATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glElementPointerATI) }, - { "glEnableClientStateIndexedEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableClientStateIndexedEXT) }, - { "glEnableClientStateiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableClientStateiEXT) }, - { "glEnableIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glEnableIndexedEXT) }, - { "glEnableVariantClientStateEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glEnableVariantClientStateEXT) }, - { "glEnableVertexArrayAttrib", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttrib) }, - { "glEnableVertexArrayAttribEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttribEXT) }, - { "glEnableVertexArrayEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayEXT) }, - { "glEnableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribAPPLE) }, - { "glEnableVertexAttribArray", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribArray) }, - { "glEnableVertexAttribArrayARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribArrayARB) }, - { "glEnablei", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glEnablei) }, - { "glEndConditionalRender", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glEndConditionalRender) }, - { "glEndConditionalRenderNV", "GL_NV_conditional_render\0", offsetof(struct opengl_funcs, p_glEndConditionalRenderNV) }, - { "glEndConditionalRenderNVX", "GL_NVX_conditional_render\0", offsetof(struct opengl_funcs, p_glEndConditionalRenderNVX) }, - { "glEndFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glEndFragmentShaderATI) }, - { "glEndOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glEndOcclusionQueryNV) }, - { "glEndPerfMonitorAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glEndPerfMonitorAMD) }, - { "glEndPerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glEndPerfQueryINTEL) }, - { "glEndQuery", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glEndQuery) }, - { "glEndQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glEndQueryARB) }, - { "glEndQueryIndexed", "GL_ARB_transform_feedback3\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glEndQueryIndexed) }, - { "glEndTransformFeedback", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glEndTransformFeedback) }, - { "glEndTransformFeedbackEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glEndTransformFeedbackEXT) }, - { "glEndTransformFeedbackNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glEndTransformFeedbackNV) }, - { "glEndVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glEndVertexShaderEXT) }, - { "glEndVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glEndVideoCaptureNV) }, - { "glEvalCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord1xOES) }, - { "glEvalCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord1xvOES) }, - { "glEvalCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord2xOES) }, - { "glEvalCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord2xvOES) }, - { "glEvalMapsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glEvalMapsNV) }, - { "glEvaluateDepthValuesARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glEvaluateDepthValuesARB) }, - { "glExecuteProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glExecuteProgramNV) }, - { "glExtractComponentEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glExtractComponentEXT) }, - { "glFeedbackBufferxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFeedbackBufferxOES) }, - { "glFenceSync", "GL_ARB_sync\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glFenceSync) }, - { "glFinalCombinerInputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glFinalCombinerInputNV) }, - { "glFinishAsyncSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glFinishAsyncSGIX) }, - { "glFinishFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glFinishFenceAPPLE) }, - { "glFinishFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glFinishFenceNV) }, - { "glFinishObjectAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glFinishObjectAPPLE) }, - { "glFinishTextureSUNX", "GL_SUNX_constant_data\0", offsetof(struct opengl_funcs, p_glFinishTextureSUNX) }, - { "glFlushMappedBufferRange", "GL_ARB_map_buffer_range\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFlushMappedBufferRange) }, - { "glFlushMappedBufferRangeAPPLE", "GL_APPLE_flush_buffer_range\0", offsetof(struct opengl_funcs, p_glFlushMappedBufferRangeAPPLE) }, - { "glFlushMappedNamedBufferRange", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRange) }, - { "glFlushMappedNamedBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRangeEXT) }, - { "glFlushPixelDataRangeNV", "GL_NV_pixel_data_range\0", offsetof(struct opengl_funcs, p_glFlushPixelDataRangeNV) }, - { "glFlushRasterSGIX", "GL_SGIX_flush_raster\0", offsetof(struct opengl_funcs, p_glFlushRasterSGIX) }, - { "glFlushStaticDataIBM", "GL_IBM_static_data\0", offsetof(struct opengl_funcs, p_glFlushStaticDataIBM) }, - { "glFlushVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeAPPLE) }, - { "glFlushVertexArrayRangeNV", "GL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeNV) }, - { "glFogCoordFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glFogCoordFormatNV) }, - { "glFogCoordPointer", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glFogCoordPointer) }, - { "glFogCoordPointerEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordPointerEXT) }, - { "glFogCoordPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glFogCoordPointerListIBM) }, - { "glFogCoordd", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glFogCoordd) }, - { "glFogCoorddEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoorddEXT) }, - { "glFogCoorddv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glFogCoorddv) }, - { "glFogCoorddvEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoorddvEXT) }, - { "glFogCoordf", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glFogCoordf) }, - { "glFogCoordfEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordfEXT) }, - { "glFogCoordfv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glFogCoordfv) }, - { "glFogCoordfvEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordfvEXT) }, - { "glFogCoordhNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glFogCoordhNV) }, - { "glFogCoordhvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glFogCoordhvNV) }, - { "glFogFuncSGIS", "GL_SGIS_fog_function\0", offsetof(struct opengl_funcs, p_glFogFuncSGIS) }, - { "glFogx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFogx) }, - { "glFogxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFogxOES) }, - { "glFogxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFogxv) }, - { "glFogxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFogxvOES) }, - { "glFragmentColorMaterialSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentColorMaterialSGIX) }, - { "glFragmentCoverageColorNV", "GL_NV_fragment_coverage_to_color\0", offsetof(struct opengl_funcs, p_glFragmentCoverageColorNV) }, - { "glFragmentLightModelfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelfSGIX) }, - { "glFragmentLightModelfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelfvSGIX) }, - { "glFragmentLightModeliSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModeliSGIX) }, - { "glFragmentLightModelivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelivSGIX) }, - { "glFragmentLightfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightfSGIX) }, - { "glFragmentLightfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightfvSGIX) }, - { "glFragmentLightiSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightiSGIX) }, - { "glFragmentLightivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightivSGIX) }, - { "glFragmentMaterialfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialfSGIX) }, - { "glFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialfvSGIX) }, - { "glFragmentMaterialiSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialiSGIX) }, - { "glFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialivSGIX) }, - { "glFrameTerminatorGREMEDY", "GL_GREMEDY_frame_terminator\0", offsetof(struct opengl_funcs, p_glFrameTerminatorGREMEDY) }, - { "glFrameZoomSGIX", "GL_SGIX_framezoom\0", offsetof(struct opengl_funcs, p_glFrameZoomSGIX) }, - { "glFramebufferDrawBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferDrawBufferEXT) }, - { "glFramebufferDrawBuffersEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferDrawBuffersEXT) }, - { "glFramebufferFetchBarrierEXT", "GL_EXT_shader_framebuffer_fetch_non_coherent\0", offsetof(struct opengl_funcs, p_glFramebufferFetchBarrierEXT) }, - { "glFramebufferParameteri", "GL_ARB_framebuffer_no_attachments\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glFramebufferParameteri) }, - { "glFramebufferParameteriMESA", "GL_MESA_framebuffer_flip_y\0", offsetof(struct opengl_funcs, p_glFramebufferParameteriMESA) }, - { "glFramebufferReadBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferReadBufferEXT) }, - { "glFramebufferRenderbuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFramebufferRenderbuffer) }, - { "glFramebufferRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferRenderbufferEXT) }, - { "glFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvARB) }, - { "glFramebufferSampleLocationsfvNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvNV) }, - { "glFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glFramebufferSamplePositionsfvAMD) }, - { "glFramebufferShadingRateEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glFramebufferShadingRateEXT) }, - { "glFramebufferTexture", "GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glFramebufferTexture) }, - { "glFramebufferTexture1D", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFramebufferTexture1D) }, - { "glFramebufferTexture1DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture1DEXT) }, - { "glFramebufferTexture2D", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFramebufferTexture2D) }, - { "glFramebufferTexture2DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture2DEXT) }, - { "glFramebufferTexture3D", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3D) }, - { "glFramebufferTexture3DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3DEXT) }, - { "glFramebufferTextureARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureARB) }, - { "glFramebufferTextureEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureEXT) }, - { "glFramebufferTextureFaceARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceARB) }, - { "glFramebufferTextureFaceEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceEXT) }, - { "glFramebufferTextureLayer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayer) }, - { "glFramebufferTextureLayerARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerARB) }, - { "glFramebufferTextureLayerEXT", "GL_EXT_texture_array\0GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerEXT) }, - { "glFramebufferTextureMultiviewOVR", "GL_OVR_multiview\0", offsetof(struct opengl_funcs, p_glFramebufferTextureMultiviewOVR) }, - { "glFreeObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glFreeObjectBufferATI) }, - { "glFrustumf", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFrustumf) }, - { "glFrustumfOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glFrustumfOES) }, - { "glFrustumx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFrustumx) }, - { "glFrustumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFrustumxOES) }, - { "glGenAsyncMarkersSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glGenAsyncMarkersSGIX) }, - { "glGenBuffers", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGenBuffers) }, - { "glGenBuffersARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGenBuffersARB) }, - { "glGenFencesAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glGenFencesAPPLE) }, - { "glGenFencesNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glGenFencesNV) }, - { "glGenFragmentShadersATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glGenFragmentShadersATI) }, - { "glGenFramebuffers", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGenFramebuffers) }, - { "glGenFramebuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenFramebuffersEXT) }, - { "glGenNamesAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glGenNamesAMD) }, - { "glGenOcclusionQueriesNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGenOcclusionQueriesNV) }, - { "glGenPathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGenPathsNV) }, - { "glGenPerfMonitorsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGenPerfMonitorsAMD) }, - { "glGenProgramPipelines", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGenProgramPipelines) }, - { "glGenProgramsARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGenProgramsARB) }, - { "glGenProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGenProgramsNV) }, - { "glGenQueries", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGenQueries) }, - { "glGenQueriesARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGenQueriesARB) }, - { "glGenQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glGenQueryResourceTagNV) }, - { "glGenRenderbuffers", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGenRenderbuffers) }, - { "glGenRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenRenderbuffersEXT) }, - { "glGenSamplers", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGenSamplers) }, - { "glGenSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGenSemaphoresEXT) }, - { "glGenSymbolsEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGenSymbolsEXT) }, - { "glGenTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glGenTexturesEXT) }, - { "glGenTransformFeedbacks", "GL_ARB_transform_feedback2\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGenTransformFeedbacks) }, - { "glGenTransformFeedbacksNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glGenTransformFeedbacksNV) }, - { "glGenVertexArrays", "GL_ARB_vertex_array_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGenVertexArrays) }, - { "glGenVertexArraysAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGenVertexArraysAPPLE) }, - { "glGenVertexShadersEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGenVertexShadersEXT) }, - { "glGenerateMipmap", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGenerateMipmap) }, - { "glGenerateMipmapEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenerateMipmapEXT) }, - { "glGenerateMultiTexMipmapEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateMultiTexMipmapEXT) }, - { "glGenerateTextureMipmap", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGenerateTextureMipmap) }, - { "glGenerateTextureMipmapEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateTextureMipmapEXT) }, - { "glGetActiveAtomicCounterBufferiv", "GL_ARB_shader_atomic_counters\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glGetActiveAtomicCounterBufferiv) }, - { "glGetActiveAttrib", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetActiveAttrib) }, - { "glGetActiveAttribARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetActiveAttribARB) }, - { "glGetActiveSubroutineName", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineName) }, - { "glGetActiveSubroutineUniformName", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformName) }, - { "glGetActiveSubroutineUniformiv", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformiv) }, - { "glGetActiveUniform", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetActiveUniform) }, - { "glGetActiveUniformARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetActiveUniformARB) }, - { "glGetActiveUniformBlockName", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockName) }, - { "glGetActiveUniformBlockiv", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockiv) }, - { "glGetActiveUniformName", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glGetActiveUniformName) }, - { "glGetActiveUniformsiv", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glGetActiveUniformsiv) }, - { "glGetActiveVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetActiveVaryingNV) }, - { "glGetArrayObjectfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetArrayObjectfvATI) }, - { "glGetArrayObjectivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetArrayObjectivATI) }, - { "glGetAttachedObjectsARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetAttachedObjectsARB) }, - { "glGetAttachedShaders", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetAttachedShaders) }, - { "glGetAttribLocation", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetAttribLocation) }, - { "glGetAttribLocationARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetAttribLocationARB) }, - { "glGetBooleanIndexedvEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glGetBooleanIndexedvEXT) }, - { "glGetBooleani_v", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetBooleani_v) }, - { "glGetBufferParameteri64v", "GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glGetBufferParameteri64v) }, - { "glGetBufferParameteriv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetBufferParameteriv) }, - { "glGetBufferParameterivARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferParameterivARB) }, - { "glGetBufferParameterui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetBufferParameterui64vNV) }, - { "glGetBufferPointerv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetBufferPointerv) }, - { "glGetBufferPointervARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferPointervARB) }, - { "glGetBufferSubData", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetBufferSubData) }, - { "glGetBufferSubDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferSubDataARB) }, - { "glGetClipPlanef", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetClipPlanef) }, - { "glGetClipPlanefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glGetClipPlanefOES) }, - { "glGetClipPlanex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetClipPlanex) }, - { "glGetClipPlanexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetClipPlanexOES) }, - { "glGetColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTable) }, - { "glGetColorTableEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableEXT) }, - { "glGetColorTableParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfv) }, - { "glGetColorTableParameterfvEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvEXT) }, - { "glGetColorTableParameterfvSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvSGI) }, - { "glGetColorTableParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTableParameteriv) }, - { "glGetColorTableParameterivEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterivEXT) }, - { "glGetColorTableParameterivSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterivSGI) }, - { "glGetColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableSGI) }, - { "glGetCombinerInputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterfvNV) }, - { "glGetCombinerInputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterivNV) }, - { "glGetCombinerOutputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterfvNV) }, - { "glGetCombinerOutputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterivNV) }, - { "glGetCombinerStageParameterfvNV", "GL_NV_register_combiners2\0", offsetof(struct opengl_funcs, p_glGetCombinerStageParameterfvNV) }, - { "glGetCommandHeaderNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glGetCommandHeaderNV) }, - { "glGetCompressedMultiTexImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedMultiTexImageEXT) }, - { "glGetCompressedTexImage", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glGetCompressedTexImage) }, - { "glGetCompressedTexImageARB", "GL_ARB_texture_compression\0GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glGetCompressedTexImageARB) }, - { "glGetCompressedTextureImage", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureImage) }, - { "glGetCompressedTextureImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureImageEXT) }, - { "glGetCompressedTextureSubImage", "GL_ARB_get_texture_sub_image\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureSubImage) }, - { "glGetConvolutionFilter", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionFilter) }, - { "glGetConvolutionFilterEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionFilterEXT) }, - { "glGetConvolutionParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfv) }, - { "glGetConvolutionParameterfvEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfvEXT) }, - { "glGetConvolutionParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameteriv) }, - { "glGetConvolutionParameterivEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterivEXT) }, - { "glGetConvolutionParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterxvOES) }, - { "glGetCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glGetCoverageModulationTableNV) }, - { "glGetDebugMessageLog", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLog) }, - { "glGetDebugMessageLogAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLogAMD) }, - { "glGetDebugMessageLogARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLogARB) }, - { "glGetDetailTexFuncSGIS", "GL_SGIS_detail_texture\0", offsetof(struct opengl_funcs, p_glGetDetailTexFuncSGIS) }, - { "glGetDoubleIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetDoubleIndexedvEXT) }, - { "glGetDoublei_v", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGetDoublei_v) }, - { "glGetDoublei_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetDoublei_vEXT) }, - { "glGetFenceivNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glGetFenceivNV) }, - { "glGetFinalCombinerInputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterfvNV) }, - { "glGetFinalCombinerInputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterivNV) }, - { "glGetFirstPerfQueryIdINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetFirstPerfQueryIdINTEL) }, - { "glGetFixedv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetFixedv) }, - { "glGetFixedvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetFixedvOES) }, - { "glGetFloatIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFloatIndexedvEXT) }, - { "glGetFloati_v", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGetFloati_v) }, - { "glGetFloati_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFloati_vEXT) }, - { "glGetFogFuncSGIS", "GL_SGIS_fog_function\0", offsetof(struct opengl_funcs, p_glGetFogFuncSGIS) }, - { "glGetFragDataIndex", "GL_ARB_blend_func_extended\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetFragDataIndex) }, - { "glGetFragDataLocation", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetFragDataLocation) }, - { "glGetFragDataLocationEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glGetFragDataLocationEXT) }, - { "glGetFragmentLightfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentLightfvSGIX) }, - { "glGetFragmentLightivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentLightivSGIX) }, - { "glGetFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentMaterialfvSGIX) }, - { "glGetFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentMaterialivSGIX) }, - { "glGetFragmentShadingRatesEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glGetFragmentShadingRatesEXT) }, - { "glGetFramebufferAttachmentParameteriv", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameteriv) }, - { "glGetFramebufferAttachmentParameterivEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameterivEXT) }, - { "glGetFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterfvAMD) }, - { "glGetFramebufferParameteriv", "GL_ARB_framebuffer_no_attachments\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameteriv) }, - { "glGetFramebufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivEXT) }, - { "glGetFramebufferParameterivMESA", "GL_MESA_framebuffer_flip_y\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivMESA) }, - { "glGetGraphicsResetStatus", "GL_KHR_robustness\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatus) }, - { "glGetGraphicsResetStatusARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatusARB) }, - { "glGetHandleARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetHandleARB) }, - { "glGetHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogram) }, - { "glGetHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramEXT) }, - { "glGetHistogramParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterfv) }, - { "glGetHistogramParameterfvEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterfvEXT) }, - { "glGetHistogramParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogramParameteriv) }, - { "glGetHistogramParameterivEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterivEXT) }, - { "glGetHistogramParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterxvOES) }, - { "glGetImageHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetImageHandleARB) }, - { "glGetImageHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetImageHandleNV) }, - { "glGetImageTransformParameterfvHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glGetImageTransformParameterfvHP) }, - { "glGetImageTransformParameterivHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glGetImageTransformParameterivHP) }, - { "glGetInfoLogARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetInfoLogARB) }, - { "glGetInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glGetInstrumentsSGIX) }, - { "glGetInteger64i_v", "GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glGetInteger64i_v) }, - { "glGetInteger64v", "GL_ARB_sync\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glGetInteger64v) }, - { "glGetIntegerIndexedvEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glGetIntegerIndexedvEXT) }, - { "glGetIntegeri_v", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetIntegeri_v) }, - { "glGetIntegerui64i_vNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glGetIntegerui64i_vNV) }, - { "glGetIntegerui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetIntegerui64vNV) }, - { "glGetInternalformatSampleivNV", "GL_NV_internalformat_sample_query\0", offsetof(struct opengl_funcs, p_glGetInternalformatSampleivNV) }, - { "glGetInternalformati64v", "GL_ARB_internalformat_query2\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetInternalformati64v) }, - { "glGetInternalformativ", "GL_ARB_internalformat_query\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glGetInternalformativ) }, - { "glGetInvariantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantBooleanvEXT) }, - { "glGetInvariantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantFloatvEXT) }, - { "glGetInvariantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantIntegervEXT) }, - { "glGetLightxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetLightxOES) }, - { "glGetLightxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetLightxv) }, - { "glGetListParameterfvSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glGetListParameterfvSGIX) }, - { "glGetListParameterivSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glGetListParameterivSGIX) }, - { "glGetLocalConstantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantBooleanvEXT) }, - { "glGetLocalConstantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantFloatvEXT) }, - { "glGetLocalConstantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantIntegervEXT) }, - { "glGetMapAttribParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapAttribParameterfvNV) }, - { "glGetMapAttribParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapAttribParameterivNV) }, - { "glGetMapControlPointsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapControlPointsNV) }, - { "glGetMapParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapParameterfvNV) }, - { "glGetMapParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapParameterivNV) }, - { "glGetMapxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetMapxvOES) }, - { "glGetMaterialxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetMaterialxOES) }, - { "glGetMaterialxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetMaterialxv) }, - { "glGetMemoryObjectDetachedResourcesuivNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glGetMemoryObjectDetachedResourcesuivNV) }, - { "glGetMemoryObjectParameterivEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glGetMemoryObjectParameterivEXT) }, - { "glGetMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmax) }, - { "glGetMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxEXT) }, - { "glGetMinmaxParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfv) }, - { "glGetMinmaxParameterfvEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfvEXT) }, - { "glGetMinmaxParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameteriv) }, - { "glGetMinmaxParameterivEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterivEXT) }, - { "glGetMultiTexEnvfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexEnvfvEXT) }, - { "glGetMultiTexEnvivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexEnvivEXT) }, - { "glGetMultiTexGendvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGendvEXT) }, - { "glGetMultiTexGenfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGenfvEXT) }, - { "glGetMultiTexGenivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGenivEXT) }, - { "glGetMultiTexImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexImageEXT) }, - { "glGetMultiTexLevelParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterfvEXT) }, - { "glGetMultiTexLevelParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterivEXT) }, - { "glGetMultiTexParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIivEXT) }, - { "glGetMultiTexParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIuivEXT) }, - { "glGetMultiTexParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterfvEXT) }, - { "glGetMultiTexParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterivEXT) }, - { "glGetMultisamplefv", "GL_ARB_texture_multisample\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glGetMultisamplefv) }, - { "glGetMultisamplefvNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glGetMultisamplefvNV) }, - { "glGetNamedBufferParameteri64v", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteri64v) }, - { "glGetNamedBufferParameteriv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteriv) }, - { "glGetNamedBufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterivEXT) }, - { "glGetNamedBufferParameterui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterui64vNV) }, - { "glGetNamedBufferPointerv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetNamedBufferPointerv) }, - { "glGetNamedBufferPointervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferPointervEXT) }, - { "glGetNamedBufferSubData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetNamedBufferSubData) }, - { "glGetNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferSubDataEXT) }, - { "glGetNamedFramebufferAttachmentParameteriv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameteriv) }, - { "glGetNamedFramebufferAttachmentParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameterivEXT) }, - { "glGetNamedFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterfvAMD) }, - { "glGetNamedFramebufferParameteriv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameteriv) }, - { "glGetNamedFramebufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterivEXT) }, - { "glGetNamedProgramLocalParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIivEXT) }, - { "glGetNamedProgramLocalParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIuivEXT) }, - { "glGetNamedProgramLocalParameterdvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterdvEXT) }, - { "glGetNamedProgramLocalParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterfvEXT) }, - { "glGetNamedProgramStringEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramStringEXT) }, - { "glGetNamedProgramivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramivEXT) }, - { "glGetNamedRenderbufferParameteriv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameteriv) }, - { "glGetNamedRenderbufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameterivEXT) }, - { "glGetNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glGetNamedStringARB) }, - { "glGetNamedStringivARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glGetNamedStringivARB) }, - { "glGetNextPerfQueryIdINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetNextPerfQueryIdINTEL) }, - { "glGetObjectBufferfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetObjectBufferfvATI) }, - { "glGetObjectBufferivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetObjectBufferivATI) }, - { "glGetObjectLabel", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetObjectLabel) }, - { "glGetObjectLabelEXT", "GL_EXT_debug_label\0", offsetof(struct opengl_funcs, p_glGetObjectLabelEXT) }, - { "glGetObjectParameterfvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetObjectParameterfvARB) }, - { "glGetObjectParameterivAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glGetObjectParameterivAPPLE) }, - { "glGetObjectParameterivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetObjectParameterivARB) }, - { "glGetObjectPtrLabel", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetObjectPtrLabel) }, - { "glGetOcclusionQueryivNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetOcclusionQueryivNV) }, - { "glGetOcclusionQueryuivNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetOcclusionQueryuivNV) }, - { "glGetPathColorGenfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathColorGenfvNV) }, - { "glGetPathColorGenivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathColorGenivNV) }, - { "glGetPathCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathCommandsNV) }, - { "glGetPathCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathCoordsNV) }, - { "glGetPathDashArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathDashArrayNV) }, - { "glGetPathLengthNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathLengthNV) }, - { "glGetPathMetricRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathMetricRangeNV) }, - { "glGetPathMetricsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathMetricsNV) }, - { "glGetPathParameterfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathParameterfvNV) }, - { "glGetPathParameterivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathParameterivNV) }, - { "glGetPathSpacingNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathSpacingNV) }, - { "glGetPathTexGenfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathTexGenfvNV) }, - { "glGetPathTexGenivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathTexGenivNV) }, - { "glGetPerfCounterInfoINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfCounterInfoINTEL) }, - { "glGetPerfMonitorCounterDataAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterDataAMD) }, - { "glGetPerfMonitorCounterInfoAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterInfoAMD) }, - { "glGetPerfMonitorCounterStringAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterStringAMD) }, - { "glGetPerfMonitorCountersAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCountersAMD) }, - { "glGetPerfMonitorGroupStringAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupStringAMD) }, - { "glGetPerfMonitorGroupsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupsAMD) }, - { "glGetPerfQueryDataINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryDataINTEL) }, - { "glGetPerfQueryIdByNameINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryIdByNameINTEL) }, - { "glGetPerfQueryInfoINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryInfoINTEL) }, - { "glGetPixelMapxv", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetPixelMapxv) }, - { "glGetPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterfvSGIS) }, - { "glGetPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterivSGIS) }, - { "glGetPixelTransformParameterfvEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterfvEXT) }, - { "glGetPixelTransformParameterivEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterivEXT) }, - { "glGetPointerIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetPointerIndexedvEXT) }, - { "glGetPointeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetPointeri_vEXT) }, - { "glGetPointervEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glGetPointervEXT) }, - { "glGetProgramBinary", "GL_ARB_get_program_binary\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGetProgramBinary) }, - { "glGetProgramEnvParameterIivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIivNV) }, - { "glGetProgramEnvParameterIuivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIuivNV) }, - { "glGetProgramEnvParameterdvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterdvARB) }, - { "glGetProgramEnvParameterfvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterfvARB) }, - { "glGetProgramInfoLog", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetProgramInfoLog) }, - { "glGetProgramInterfaceiv", "GL_ARB_program_interface_query\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetProgramInterfaceiv) }, - { "glGetProgramLocalParameterIivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIivNV) }, - { "glGetProgramLocalParameterIuivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIuivNV) }, - { "glGetProgramLocalParameterdvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterdvARB) }, - { "glGetProgramLocalParameterfvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterfvARB) }, - { "glGetProgramNamedParameterdvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterdvNV) }, - { "glGetProgramNamedParameterfvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterfvNV) }, - { "glGetProgramParameterdvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramParameterdvNV) }, - { "glGetProgramParameterfvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramParameterfvNV) }, - { "glGetProgramPipelineInfoLog", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGetProgramPipelineInfoLog) }, - { "glGetProgramPipelineiv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGetProgramPipelineiv) }, - { "glGetProgramResourceIndex", "GL_ARB_program_interface_query\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetProgramResourceIndex) }, - { "glGetProgramResourceLocation", "GL_ARB_program_interface_query\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetProgramResourceLocation) }, - { "glGetProgramResourceLocationIndex", "GL_ARB_program_interface_query\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetProgramResourceLocationIndex) }, - { "glGetProgramResourceName", "GL_ARB_program_interface_query\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetProgramResourceName) }, - { "glGetProgramResourcefvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetProgramResourcefvNV) }, - { "glGetProgramResourceiv", "GL_ARB_program_interface_query\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glGetProgramResourceiv) }, - { "glGetProgramStageiv", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetProgramStageiv) }, - { "glGetProgramStringARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramStringARB) }, - { "glGetProgramStringNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramStringNV) }, - { "glGetProgramSubroutineParameteruivNV", "GL_NV_gpu_program5\0GL_NV_gpu_program_fp64\0", offsetof(struct opengl_funcs, p_glGetProgramSubroutineParameteruivNV) }, - { "glGetProgramiv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetProgramiv) }, - { "glGetProgramivARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramivARB) }, - { "glGetProgramivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramivNV) }, - { "glGetQueryBufferObjecti64v", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjecti64v) }, - { "glGetQueryBufferObjectiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectiv) }, - { "glGetQueryBufferObjectui64v", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectui64v) }, - { "glGetQueryBufferObjectuiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectuiv) }, - { "glGetQueryIndexediv", "GL_ARB_transform_feedback3\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetQueryIndexediv) }, - { "glGetQueryObjecti64v", "GL_ARB_timer_query\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64v) }, - { "glGetQueryObjecti64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64vEXT) }, - { "glGetQueryObjectiv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetQueryObjectiv) }, - { "glGetQueryObjectivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectivARB) }, - { "glGetQueryObjectui64v", "GL_ARB_timer_query\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64v) }, - { "glGetQueryObjectui64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64vEXT) }, - { "glGetQueryObjectuiv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuiv) }, - { "glGetQueryObjectuivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuivARB) }, - { "glGetQueryiv", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glGetQueryiv) }, - { "glGetQueryivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryivARB) }, - { "glGetRenderbufferParameteriv", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetRenderbufferParameteriv) }, - { "glGetRenderbufferParameterivEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetRenderbufferParameterivEXT) }, - { "glGetSamplerParameterIiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIiv) }, - { "glGetSamplerParameterIuiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIuiv) }, - { "glGetSamplerParameterfv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterfv) }, - { "glGetSamplerParameteriv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glGetSamplerParameteriv) }, - { "glGetSemaphoreParameterivNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterivNV) }, - { "glGetSemaphoreParameterui64vEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterui64vEXT) }, - { "glGetSeparableFilter", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetSeparableFilter) }, - { "glGetSeparableFilterEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetSeparableFilterEXT) }, - { "glGetShaderInfoLog", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetShaderInfoLog) }, - { "glGetShaderPrecisionFormat", "GL_ARB_ES2_compatibility\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGetShaderPrecisionFormat) }, - { "glGetShaderSource", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetShaderSource) }, - { "glGetShaderSourceARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetShaderSourceARB) }, - { "glGetShaderiv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetShaderiv) }, - { "glGetShadingRateImagePaletteNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glGetShadingRateImagePaletteNV) }, - { "glGetShadingRateSampleLocationivNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glGetShadingRateSampleLocationivNV) }, - { "glGetSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture\0", offsetof(struct opengl_funcs, p_glGetSharpenTexFuncSGIS) }, - { "glGetStageIndexNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glGetStageIndexNV) }, - { "glGetStringi", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetStringi) }, - { "glGetSubroutineIndex", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetSubroutineIndex) }, - { "glGetSubroutineUniformLocation", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetSubroutineUniformLocation) }, - { "glGetSynciv", "GL_ARB_sync\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glGetSynciv) }, - { "glGetTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glGetTexBumpParameterfvATI) }, - { "glGetTexBumpParameterivATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glGetTexBumpParameterivATI) }, - { "glGetTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexEnvxv) }, - { "glGetTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexEnvxvOES) }, - { "glGetTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glGetTexFilterFuncSGIS) }, - { "glGetTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexGenxvOES) }, - { "glGetTexLevelParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexLevelParameterxvOES) }, - { "glGetTexParameterIiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetTexParameterIiv) }, - { "glGetTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIivEXT) }, - { "glGetTexParameterIuiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuiv) }, - { "glGetTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuivEXT) }, - { "glGetTexParameterPointervAPPLE", "GL_APPLE_texture_range\0", offsetof(struct opengl_funcs, p_glGetTexParameterPointervAPPLE) }, - { "glGetTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexParameterxv) }, - { "glGetTexParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexParameterxvOES) }, - { "glGetTextureHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureHandleARB) }, - { "glGetTextureHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureHandleNV) }, - { "glGetTextureImage", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureImage) }, - { "glGetTextureImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureImageEXT) }, - { "glGetTextureLevelParameterfv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfv) }, - { "glGetTextureLevelParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfvEXT) }, - { "glGetTextureLevelParameteriv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameteriv) }, - { "glGetTextureLevelParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterivEXT) }, - { "glGetTextureParameterIiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIiv) }, - { "glGetTextureParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIivEXT) }, - { "glGetTextureParameterIuiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIuiv) }, - { "glGetTextureParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIuivEXT) }, - { "glGetTextureParameterfv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureParameterfv) }, - { "glGetTextureParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterfvEXT) }, - { "glGetTextureParameteriv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureParameteriv) }, - { "glGetTextureParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterivEXT) }, - { "glGetTextureSamplerHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleARB) }, - { "glGetTextureSamplerHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleNV) }, - { "glGetTextureSubImage", "GL_ARB_get_texture_sub_image\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTextureSubImage) }, - { "glGetTrackMatrixivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetTrackMatrixivNV) }, - { "glGetTransformFeedbackVarying", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVarying) }, - { "glGetTransformFeedbackVaryingEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingEXT) }, - { "glGetTransformFeedbackVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingNV) }, - { "glGetTransformFeedbacki64_v", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki64_v) }, - { "glGetTransformFeedbacki_v", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki_v) }, - { "glGetTransformFeedbackiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackiv) }, - { "glGetUniformBlockIndex", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glGetUniformBlockIndex) }, - { "glGetUniformBufferSizeEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glGetUniformBufferSizeEXT) }, - { "glGetUniformIndices", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glGetUniformIndices) }, - { "glGetUniformLocation", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetUniformLocation) }, - { "glGetUniformLocationARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformLocationARB) }, - { "glGetUniformOffsetEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glGetUniformOffsetEXT) }, - { "glGetUniformSubroutineuiv", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetUniformSubroutineuiv) }, - { "glGetUniformdv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glGetUniformdv) }, - { "glGetUniformfv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetUniformfv) }, - { "glGetUniformfvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformfvARB) }, - { "glGetUniformi64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetUniformi64vARB) }, - { "glGetUniformi64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glGetUniformi64vNV) }, - { "glGetUniformiv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetUniformiv) }, - { "glGetUniformivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformivARB) }, - { "glGetUniformui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetUniformui64vARB) }, - { "glGetUniformui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetUniformui64vNV) }, - { "glGetUniformuiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetUniformuiv) }, - { "glGetUniformuivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glGetUniformuivEXT) }, - { "glGetUnsignedBytei_vEXT", "GL_EXT_memory_object\0GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetUnsignedBytei_vEXT) }, - { "glGetUnsignedBytevEXT", "GL_EXT_memory_object\0GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetUnsignedBytevEXT) }, - { "glGetVariantArrayObjectfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectfvATI) }, - { "glGetVariantArrayObjectivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectivATI) }, - { "glGetVariantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantBooleanvEXT) }, - { "glGetVariantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantFloatvEXT) }, - { "glGetVariantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantIntegervEXT) }, - { "glGetVariantPointervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantPointervEXT) }, - { "glGetVaryingLocationNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetVaryingLocationNV) }, - { "glGetVertexArrayIndexed64iv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexed64iv) }, - { "glGetVertexArrayIndexediv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexediv) }, - { "glGetVertexArrayIntegeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegeri_vEXT) }, - { "glGetVertexArrayIntegervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegervEXT) }, - { "glGetVertexArrayPointeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayPointeri_vEXT) }, - { "glGetVertexArrayPointervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayPointervEXT) }, - { "glGetVertexArrayiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetVertexArrayiv) }, - { "glGetVertexAttribArrayObjectfvATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectfvATI) }, - { "glGetVertexAttribArrayObjectivATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectivATI) }, - { "glGetVertexAttribIiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIiv) }, - { "glGetVertexAttribIivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIivEXT) }, - { "glGetVertexAttribIuiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIuiv) }, - { "glGetVertexAttribIuivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIuivEXT) }, - { "glGetVertexAttribLdv", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLdv) }, - { "glGetVertexAttribLdvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLdvEXT) }, - { "glGetVertexAttribLi64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLi64vNV) }, - { "glGetVertexAttribLui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vARB) }, - { "glGetVertexAttribLui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vNV) }, - { "glGetVertexAttribPointerv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointerv) }, - { "glGetVertexAttribPointervARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervARB) }, - { "glGetVertexAttribPointervNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervNV) }, - { "glGetVertexAttribdv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdv) }, - { "glGetVertexAttribdvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdvARB) }, - { "glGetVertexAttribdvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdvNV) }, - { "glGetVertexAttribfv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfv) }, - { "glGetVertexAttribfvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfvARB) }, - { "glGetVertexAttribfvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfvNV) }, - { "glGetVertexAttribiv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glGetVertexAttribiv) }, - { "glGetVertexAttribivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribivARB) }, - { "glGetVertexAttribivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribivNV) }, - { "glGetVideoCaptureStreamdvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamdvNV) }, - { "glGetVideoCaptureStreamfvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamfvNV) }, - { "glGetVideoCaptureStreamivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamivNV) }, - { "glGetVideoCaptureivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureivNV) }, - { "glGetVideoi64vNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoi64vNV) }, - { "glGetVideoivNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoivNV) }, - { "glGetVideoui64vNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoui64vNV) }, - { "glGetVideouivNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideouivNV) }, - { "glGetVkProcAddrNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glGetVkProcAddrNV) }, - { "glGetnColorTable", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnColorTable) }, - { "glGetnColorTableARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnColorTableARB) }, - { "glGetnCompressedTexImage", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnCompressedTexImage) }, - { "glGetnCompressedTexImageARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnCompressedTexImageARB) }, - { "glGetnConvolutionFilter", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnConvolutionFilter) }, - { "glGetnConvolutionFilterARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnConvolutionFilterARB) }, - { "glGetnHistogram", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnHistogram) }, - { "glGetnHistogramARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnHistogramARB) }, - { "glGetnMapdv", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnMapdv) }, - { "glGetnMapdvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapdvARB) }, - { "glGetnMapfv", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnMapfv) }, - { "glGetnMapfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapfvARB) }, - { "glGetnMapiv", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnMapiv) }, - { "glGetnMapivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapivARB) }, - { "glGetnMinmax", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnMinmax) }, - { "glGetnMinmaxARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMinmaxARB) }, - { "glGetnPixelMapfv", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnPixelMapfv) }, - { "glGetnPixelMapfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapfvARB) }, - { "glGetnPixelMapuiv", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnPixelMapuiv) }, - { "glGetnPixelMapuivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapuivARB) }, - { "glGetnPixelMapusv", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnPixelMapusv) }, - { "glGetnPixelMapusvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapusvARB) }, - { "glGetnPolygonStipple", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnPolygonStipple) }, - { "glGetnPolygonStippleARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPolygonStippleARB) }, - { "glGetnSeparableFilter", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnSeparableFilter) }, - { "glGetnSeparableFilterARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnSeparableFilterARB) }, - { "glGetnTexImage", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnTexImage) }, - { "glGetnTexImageARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnTexImageARB) }, - { "glGetnUniformdv", "GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnUniformdv) }, - { "glGetnUniformdvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformdvARB) }, - { "glGetnUniformfv", "GL_KHR_robustness\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnUniformfv) }, - { "glGetnUniformfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformfvARB) }, - { "glGetnUniformi64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetnUniformi64vARB) }, - { "glGetnUniformiv", "GL_KHR_robustness\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnUniformiv) }, - { "glGetnUniformivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformivARB) }, - { "glGetnUniformui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetnUniformui64vARB) }, - { "glGetnUniformuiv", "GL_KHR_robustness\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glGetnUniformuiv) }, - { "glGetnUniformuivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformuivARB) }, - { "glGlobalAlphaFactorbSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorbSUN) }, - { "glGlobalAlphaFactordSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactordSUN) }, - { "glGlobalAlphaFactorfSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorfSUN) }, - { "glGlobalAlphaFactoriSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoriSUN) }, - { "glGlobalAlphaFactorsSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorsSUN) }, - { "glGlobalAlphaFactorubSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorubSUN) }, - { "glGlobalAlphaFactoruiSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoruiSUN) }, - { "glGlobalAlphaFactorusSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorusSUN) }, - { "glHintPGI", "GL_PGI_misc_hints\0", offsetof(struct opengl_funcs, p_glHintPGI) }, - { "glHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glHistogram) }, - { "glHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glHistogramEXT) }, - { "glIglooInterfaceSGIX", "GL_SGIX_igloo_interface\0", offsetof(struct opengl_funcs, p_glIglooInterfaceSGIX) }, - { "glImageTransformParameterfHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterfHP) }, - { "glImageTransformParameterfvHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterfvHP) }, - { "glImageTransformParameteriHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameteriHP) }, - { "glImageTransformParameterivHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterivHP) }, - { "glImportMemoryWin32HandleEXT", "GL_EXT_memory_object_win32\0", offsetof(struct opengl_funcs, p_glImportMemoryWin32HandleEXT) }, - { "glImportMemoryWin32NameEXT", "GL_EXT_memory_object_win32\0", offsetof(struct opengl_funcs, p_glImportMemoryWin32NameEXT) }, - { "glImportSemaphoreWin32HandleEXT", "GL_EXT_semaphore_win32\0", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32HandleEXT) }, - { "glImportSemaphoreWin32NameEXT", "GL_EXT_semaphore_win32\0", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32NameEXT) }, - { "glImportSyncEXT", "GL_EXT_x11_sync_object\0", offsetof(struct opengl_funcs, p_glImportSyncEXT) }, - { "glIndexFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glIndexFormatNV) }, - { "glIndexFuncEXT", "GL_EXT_index_func\0", offsetof(struct opengl_funcs, p_glIndexFuncEXT) }, - { "glIndexMaterialEXT", "GL_EXT_index_material\0", offsetof(struct opengl_funcs, p_glIndexMaterialEXT) }, - { "glIndexPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glIndexPointerEXT) }, - { "glIndexPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glIndexPointerListIBM) }, - { "glIndexxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glIndexxOES) }, - { "glIndexxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glIndexxvOES) }, - { "glInsertComponentEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glInsertComponentEXT) }, - { "glInsertEventMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glInsertEventMarkerEXT) }, - { "glInstrumentsBufferSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glInstrumentsBufferSGIX) }, - { "glInterpolatePathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glInterpolatePathsNV) }, - { "glInvalidateBufferData", "GL_ARB_invalidate_subdata\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glInvalidateBufferData) }, - { "glInvalidateBufferSubData", "GL_ARB_invalidate_subdata\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glInvalidateBufferSubData) }, - { "glInvalidateFramebuffer", "GL_ARB_invalidate_subdata\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glInvalidateFramebuffer) }, - { "glInvalidateNamedFramebufferData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferData) }, - { "glInvalidateNamedFramebufferSubData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferSubData) }, - { "glInvalidateSubFramebuffer", "GL_ARB_invalidate_subdata\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glInvalidateSubFramebuffer) }, - { "glInvalidateTexImage", "GL_ARB_invalidate_subdata\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glInvalidateTexImage) }, - { "glInvalidateTexSubImage", "GL_ARB_invalidate_subdata\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glInvalidateTexSubImage) }, - { "glIsAsyncMarkerSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glIsAsyncMarkerSGIX) }, - { "glIsBuffer", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glIsBuffer) }, - { "glIsBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glIsBufferARB) }, - { "glIsBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glIsBufferResidentNV) }, - { "glIsCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glIsCommandListNV) }, - { "glIsEnabledIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glIsEnabledIndexedEXT) }, - { "glIsEnabledi", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glIsEnabledi) }, - { "glIsFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glIsFenceAPPLE) }, - { "glIsFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glIsFenceNV) }, - { "glIsFramebuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glIsFramebuffer) }, - { "glIsFramebufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsFramebufferEXT) }, - { "glIsImageHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsImageHandleResidentARB) }, - { "glIsImageHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsImageHandleResidentNV) }, - { "glIsMemoryObjectEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glIsMemoryObjectEXT) }, - { "glIsNameAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glIsNameAMD) }, - { "glIsNamedBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glIsNamedBufferResidentNV) }, - { "glIsNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glIsNamedStringARB) }, - { "glIsObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsObjectBufferATI) }, - { "glIsOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glIsOcclusionQueryNV) }, - { "glIsPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPathNV) }, - { "glIsPointInFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPointInFillPathNV) }, - { "glIsPointInStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPointInStrokePathNV) }, - { "glIsProgram", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glIsProgram) }, - { "glIsProgramARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glIsProgramARB) }, - { "glIsProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glIsProgramNV) }, - { "glIsProgramPipeline", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glIsProgramPipeline) }, - { "glIsQuery", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glIsQuery) }, - { "glIsQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glIsQueryARB) }, - { "glIsRenderbuffer", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glIsRenderbuffer) }, - { "glIsRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsRenderbufferEXT) }, - { "glIsSampler", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glIsSampler) }, - { "glIsSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glIsSemaphoreEXT) }, - { "glIsShader", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glIsShader) }, - { "glIsStateNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glIsStateNV) }, - { "glIsSync", "GL_ARB_sync\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glIsSync) }, - { "glIsTextureEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glIsTextureEXT) }, - { "glIsTextureHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentARB) }, - { "glIsTextureHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentNV) }, - { "glIsTransformFeedback", "GL_ARB_transform_feedback2\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glIsTransformFeedback) }, - { "glIsTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glIsTransformFeedbackNV) }, - { "glIsVariantEnabledEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glIsVariantEnabledEXT) }, - { "glIsVertexArray", "GL_ARB_vertex_array_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glIsVertexArray) }, - { "glIsVertexArrayAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsVertexArrayAPPLE) }, - { "glIsVertexAttribEnabledAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glIsVertexAttribEnabledAPPLE) }, - { "glLGPUCopyImageSubDataNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUCopyImageSubDataNVX) }, - { "glLGPUInterlockNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUInterlockNVX) }, - { "glLGPUNamedBufferSubDataNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUNamedBufferSubDataNVX) }, - { "glLabelObjectEXT", "GL_EXT_debug_label\0", offsetof(struct opengl_funcs, p_glLabelObjectEXT) }, - { "glLightEnviSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glLightEnviSGIX) }, - { "glLightModelx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightModelx) }, - { "glLightModelxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightModelxOES) }, - { "glLightModelxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightModelxv) }, - { "glLightModelxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightModelxvOES) }, - { "glLightx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightx) }, - { "glLightxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightxOES) }, - { "glLightxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightxv) }, - { "glLightxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightxvOES) }, - { "glLineWidthx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLineWidthx) }, - { "glLineWidthxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLineWidthxOES) }, - { "glLinkProgram", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glLinkProgram) }, - { "glLinkProgramARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glLinkProgramARB) }, - { "glListDrawCommandsStatesClientNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glListDrawCommandsStatesClientNV) }, - { "glListParameterfSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterfSGIX) }, - { "glListParameterfvSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterfvSGIX) }, - { "glListParameteriSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameteriSGIX) }, - { "glListParameterivSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterivSGIX) }, - { "glLoadIdentityDeformationMapSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glLoadIdentityDeformationMapSGIX) }, - { "glLoadMatrixx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLoadMatrixx) }, - { "glLoadMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLoadMatrixxOES) }, - { "glLoadProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glLoadProgramNV) }, - { "glLoadTransposeMatrixd", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixd) }, - { "glLoadTransposeMatrixdARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixdARB) }, - { "glLoadTransposeMatrixf", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixf) }, - { "glLoadTransposeMatrixfARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixfARB) }, - { "glLoadTransposeMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixxOES) }, - { "glLockArraysEXT", "GL_EXT_compiled_vertex_array\0", offsetof(struct opengl_funcs, p_glLockArraysEXT) }, - { "glMTexCoord2fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMTexCoord2fSGIS) }, - { "glMTexCoord2fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMTexCoord2fvSGIS) }, - { "glMakeBufferNonResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeBufferNonResidentNV) }, - { "glMakeBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeBufferResidentNV) }, - { "glMakeImageHandleNonResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentARB) }, - { "glMakeImageHandleNonResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentNV) }, - { "glMakeImageHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentARB) }, - { "glMakeImageHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentNV) }, - { "glMakeNamedBufferNonResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeNamedBufferNonResidentNV) }, - { "glMakeNamedBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeNamedBufferResidentNV) }, - { "glMakeTextureHandleNonResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentARB) }, - { "glMakeTextureHandleNonResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentNV) }, - { "glMakeTextureHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentARB) }, - { "glMakeTextureHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentNV) }, - { "glMap1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMap1xOES) }, - { "glMap2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMap2xOES) }, - { "glMapBuffer", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glMapBuffer) }, - { "glMapBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glMapBufferARB) }, - { "glMapBufferRange", "GL_ARB_map_buffer_range\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glMapBufferRange) }, - { "glMapControlPointsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapControlPointsNV) }, - { "glMapGrid1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMapGrid1xOES) }, - { "glMapGrid2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMapGrid2xOES) }, - { "glMapNamedBuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glMapNamedBuffer) }, - { "glMapNamedBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferEXT) }, - { "glMapNamedBufferRange", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glMapNamedBufferRange) }, - { "glMapNamedBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferRangeEXT) }, - { "glMapObjectBufferATI", "GL_ATI_map_object_buffer\0", offsetof(struct opengl_funcs, p_glMapObjectBufferATI) }, - { "glMapParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapParameterfvNV) }, - { "glMapParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapParameterivNV) }, - { "glMapTexture2DINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glMapTexture2DINTEL) }, - { "glMapVertexAttrib1dAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib1dAPPLE) }, - { "glMapVertexAttrib1fAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib1fAPPLE) }, - { "glMapVertexAttrib2dAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib2dAPPLE) }, - { "glMapVertexAttrib2fAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib2fAPPLE) }, - { "glMaterialx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMaterialx) }, - { "glMaterialxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMaterialxOES) }, - { "glMaterialxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMaterialxv) }, - { "glMaterialxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMaterialxvOES) }, - { "glMatrixFrustumEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixFrustumEXT) }, - { "glMatrixIndexPointerARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexPointerARB) }, - { "glMatrixIndexubvARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexubvARB) }, - { "glMatrixIndexuivARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexuivARB) }, - { "glMatrixIndexusvARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexusvARB) }, - { "glMatrixLoad3x2fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoad3x2fNV) }, - { "glMatrixLoad3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoad3x3fNV) }, - { "glMatrixLoadIdentityEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadIdentityEXT) }, - { "glMatrixLoadTranspose3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTranspose3x3fNV) }, - { "glMatrixLoadTransposedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTransposedEXT) }, - { "glMatrixLoadTransposefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTransposefEXT) }, - { "glMatrixLoaddEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoaddEXT) }, - { "glMatrixLoadfEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadfEXT) }, - { "glMatrixMult3x2fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMult3x2fNV) }, - { "glMatrixMult3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMult3x3fNV) }, - { "glMatrixMultTranspose3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTranspose3x3fNV) }, - { "glMatrixMultTransposedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTransposedEXT) }, - { "glMatrixMultTransposefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTransposefEXT) }, - { "glMatrixMultdEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultdEXT) }, - { "glMatrixMultfEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultfEXT) }, - { "glMatrixOrthoEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixOrthoEXT) }, - { "glMatrixPopEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixPopEXT) }, - { "glMatrixPushEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixPushEXT) }, - { "glMatrixRotatedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixRotatedEXT) }, - { "glMatrixRotatefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixRotatefEXT) }, - { "glMatrixScaledEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixScaledEXT) }, - { "glMatrixScalefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixScalefEXT) }, - { "glMatrixTranslatedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixTranslatedEXT) }, - { "glMatrixTranslatefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixTranslatefEXT) }, - { "glMaxShaderCompilerThreadsARB", "GL_ARB_parallel_shader_compile\0", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsARB) }, - { "glMaxShaderCompilerThreadsKHR", "GL_KHR_parallel_shader_compile\0", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsKHR) }, - { "glMemoryBarrier", "GL_ARB_shader_image_load_store\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glMemoryBarrier) }, - { "glMemoryBarrierByRegion", "GL_ARB_ES3_1_compatibility\0GL_NV_ES3_1_compatibility\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glMemoryBarrierByRegion) }, - { "glMemoryBarrierEXT", "GL_EXT_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glMemoryBarrierEXT) }, - { "glMemoryObjectParameterivEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glMemoryObjectParameterivEXT) }, - { "glMinSampleShading", "GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glMinSampleShading) }, - { "glMinSampleShadingARB", "GL_ARB_sample_shading\0", offsetof(struct opengl_funcs, p_glMinSampleShadingARB) }, - { "glMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glMinmax) }, - { "glMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glMinmaxEXT) }, - { "glMultMatrixx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMultMatrixx) }, - { "glMultMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultMatrixxOES) }, - { "glMultTransposeMatrixd", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixd) }, - { "glMultTransposeMatrixdARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixdARB) }, - { "glMultTransposeMatrixf", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixf) }, - { "glMultTransposeMatrixfARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixfARB) }, - { "glMultTransposeMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixxOES) }, - { "glMultiDrawArrays", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glMultiDrawArrays) }, - { "glMultiDrawArraysEXT", "GL_EXT_multi_draw_arrays\0GL_SUN_multi_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysEXT) }, - { "glMultiDrawArraysIndirect", "GL_ARB_multi_draw_indirect\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirect) }, - { "glMultiDrawArraysIndirectAMD", "GL_AMD_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectAMD) }, - { "glMultiDrawArraysIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessCountNV) }, - { "glMultiDrawArraysIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessNV) }, - { "glMultiDrawArraysIndirectCount", "GL_VERSION_4_6\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCount) }, - { "glMultiDrawArraysIndirectCountARB", "GL_ARB_indirect_parameters\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCountARB) }, - { "glMultiDrawElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glMultiDrawElementArrayAPPLE) }, - { "glMultiDrawElements", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glMultiDrawElements) }, - { "glMultiDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsBaseVertex) }, - { "glMultiDrawElementsEXT", "GL_EXT_multi_draw_arrays\0GL_SUN_multi_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsEXT) }, - { "glMultiDrawElementsIndirect", "GL_ARB_multi_draw_indirect\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirect) }, - { "glMultiDrawElementsIndirectAMD", "GL_AMD_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectAMD) }, - { "glMultiDrawElementsIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessCountNV) }, - { "glMultiDrawElementsIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessNV) }, - { "glMultiDrawElementsIndirectCount", "GL_VERSION_4_6\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCount) }, - { "glMultiDrawElementsIndirectCountARB", "GL_ARB_indirect_parameters\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCountARB) }, - { "glMultiDrawMeshTasksIndirectCountEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountEXT) }, - { "glMultiDrawMeshTasksIndirectCountNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountNV) }, - { "glMultiDrawMeshTasksIndirectEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectEXT) }, - { "glMultiDrawMeshTasksIndirectNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectNV) }, - { "glMultiDrawRangeElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glMultiDrawRangeElementArrayAPPLE) }, - { "glMultiModeDrawArraysIBM", "GL_IBM_multimode_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiModeDrawArraysIBM) }, - { "glMultiModeDrawElementsIBM", "GL_IBM_multimode_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiModeDrawElementsIBM) }, - { "glMultiTexBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexBufferEXT) }, - { "glMultiTexCoord1bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1bOES) }, - { "glMultiTexCoord1bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1bvOES) }, - { "glMultiTexCoord1d", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1d) }, - { "glMultiTexCoord1dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dARB) }, - { "glMultiTexCoord1dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dSGIS) }, - { "glMultiTexCoord1dv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dv) }, - { "glMultiTexCoord1dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvARB) }, - { "glMultiTexCoord1dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvSGIS) }, - { "glMultiTexCoord1f", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1f) }, - { "glMultiTexCoord1fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fARB) }, - { "glMultiTexCoord1fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fSGIS) }, - { "glMultiTexCoord1fv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fv) }, - { "glMultiTexCoord1fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvARB) }, - { "glMultiTexCoord1fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvSGIS) }, - { "glMultiTexCoord1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1hNV) }, - { "glMultiTexCoord1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1hvNV) }, - { "glMultiTexCoord1i", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1i) }, - { "glMultiTexCoord1iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iARB) }, - { "glMultiTexCoord1iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iSGIS) }, - { "glMultiTexCoord1iv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iv) }, - { "glMultiTexCoord1ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivARB) }, - { "glMultiTexCoord1ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivSGIS) }, - { "glMultiTexCoord1s", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1s) }, - { "glMultiTexCoord1sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sARB) }, - { "glMultiTexCoord1sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sSGIS) }, - { "glMultiTexCoord1sv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sv) }, - { "glMultiTexCoord1svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1svARB) }, - { "glMultiTexCoord1svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1svSGIS) }, - { "glMultiTexCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1xOES) }, - { "glMultiTexCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1xvOES) }, - { "glMultiTexCoord2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2bOES) }, - { "glMultiTexCoord2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2bvOES) }, - { "glMultiTexCoord2d", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2d) }, - { "glMultiTexCoord2dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dARB) }, - { "glMultiTexCoord2dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dSGIS) }, - { "glMultiTexCoord2dv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dv) }, - { "glMultiTexCoord2dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvARB) }, - { "glMultiTexCoord2dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvSGIS) }, - { "glMultiTexCoord2f", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2f) }, - { "glMultiTexCoord2fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fARB) }, - { "glMultiTexCoord2fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fSGIS) }, - { "glMultiTexCoord2fv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fv) }, - { "glMultiTexCoord2fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvARB) }, - { "glMultiTexCoord2fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvSGIS) }, - { "glMultiTexCoord2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2hNV) }, - { "glMultiTexCoord2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2hvNV) }, - { "glMultiTexCoord2i", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2i) }, - { "glMultiTexCoord2iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iARB) }, - { "glMultiTexCoord2iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iSGIS) }, - { "glMultiTexCoord2iv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iv) }, - { "glMultiTexCoord2ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivARB) }, - { "glMultiTexCoord2ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivSGIS) }, - { "glMultiTexCoord2s", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2s) }, - { "glMultiTexCoord2sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sARB) }, - { "glMultiTexCoord2sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sSGIS) }, - { "glMultiTexCoord2sv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sv) }, - { "glMultiTexCoord2svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2svARB) }, - { "glMultiTexCoord2svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2svSGIS) }, - { "glMultiTexCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2xOES) }, - { "glMultiTexCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2xvOES) }, - { "glMultiTexCoord3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3bOES) }, - { "glMultiTexCoord3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3bvOES) }, - { "glMultiTexCoord3d", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3d) }, - { "glMultiTexCoord3dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dARB) }, - { "glMultiTexCoord3dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dSGIS) }, - { "glMultiTexCoord3dv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dv) }, - { "glMultiTexCoord3dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvARB) }, - { "glMultiTexCoord3dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvSGIS) }, - { "glMultiTexCoord3f", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3f) }, - { "glMultiTexCoord3fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fARB) }, - { "glMultiTexCoord3fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fSGIS) }, - { "glMultiTexCoord3fv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fv) }, - { "glMultiTexCoord3fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvARB) }, - { "glMultiTexCoord3fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvSGIS) }, - { "glMultiTexCoord3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3hNV) }, - { "glMultiTexCoord3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3hvNV) }, - { "glMultiTexCoord3i", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3i) }, - { "glMultiTexCoord3iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iARB) }, - { "glMultiTexCoord3iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iSGIS) }, - { "glMultiTexCoord3iv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iv) }, - { "glMultiTexCoord3ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivARB) }, - { "glMultiTexCoord3ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivSGIS) }, - { "glMultiTexCoord3s", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3s) }, - { "glMultiTexCoord3sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sARB) }, - { "glMultiTexCoord3sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sSGIS) }, - { "glMultiTexCoord3sv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sv) }, - { "glMultiTexCoord3svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3svARB) }, - { "glMultiTexCoord3svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3svSGIS) }, - { "glMultiTexCoord3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3xOES) }, - { "glMultiTexCoord3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3xvOES) }, - { "glMultiTexCoord4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4bOES) }, - { "glMultiTexCoord4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4bvOES) }, - { "glMultiTexCoord4d", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4d) }, - { "glMultiTexCoord4dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dARB) }, - { "glMultiTexCoord4dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dSGIS) }, - { "glMultiTexCoord4dv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dv) }, - { "glMultiTexCoord4dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvARB) }, - { "glMultiTexCoord4dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvSGIS) }, - { "glMultiTexCoord4f", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4f) }, - { "glMultiTexCoord4fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fARB) }, - { "glMultiTexCoord4fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fSGIS) }, - { "glMultiTexCoord4fv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fv) }, - { "glMultiTexCoord4fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvARB) }, - { "glMultiTexCoord4fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvSGIS) }, - { "glMultiTexCoord4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4hNV) }, - { "glMultiTexCoord4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4hvNV) }, - { "glMultiTexCoord4i", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4i) }, - { "glMultiTexCoord4iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iARB) }, - { "glMultiTexCoord4iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iSGIS) }, - { "glMultiTexCoord4iv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iv) }, - { "glMultiTexCoord4ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivARB) }, - { "glMultiTexCoord4ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivSGIS) }, - { "glMultiTexCoord4s", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4s) }, - { "glMultiTexCoord4sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sARB) }, - { "glMultiTexCoord4sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sSGIS) }, - { "glMultiTexCoord4sv", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sv) }, - { "glMultiTexCoord4svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4svARB) }, - { "glMultiTexCoord4svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4svSGIS) }, - { "glMultiTexCoord4x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4x) }, - { "glMultiTexCoord4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4xOES) }, - { "glMultiTexCoord4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4xvOES) }, - { "glMultiTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP1ui) }, - { "glMultiTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP1uiv) }, - { "glMultiTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP2ui) }, - { "glMultiTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP2uiv) }, - { "glMultiTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP3ui) }, - { "glMultiTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP3uiv) }, - { "glMultiTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP4ui) }, - { "glMultiTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP4uiv) }, - { "glMultiTexCoordPointerEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerEXT) }, - { "glMultiTexCoordPointerSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerSGIS) }, - { "glMultiTexEnvfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvfEXT) }, - { "glMultiTexEnvfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvfvEXT) }, - { "glMultiTexEnviEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnviEXT) }, - { "glMultiTexEnvivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvivEXT) }, - { "glMultiTexGendEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGendEXT) }, - { "glMultiTexGendvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGendvEXT) }, - { "glMultiTexGenfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenfEXT) }, - { "glMultiTexGenfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenfvEXT) }, - { "glMultiTexGeniEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGeniEXT) }, - { "glMultiTexGenivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenivEXT) }, - { "glMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage1DEXT) }, - { "glMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage2DEXT) }, - { "glMultiTexImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage3DEXT) }, - { "glMultiTexParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterIivEXT) }, - { "glMultiTexParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterIuivEXT) }, - { "glMultiTexParameterfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterfEXT) }, - { "glMultiTexParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterfvEXT) }, - { "glMultiTexParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameteriEXT) }, - { "glMultiTexParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterivEXT) }, - { "glMultiTexRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexRenderbufferEXT) }, - { "glMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage1DEXT) }, - { "glMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage2DEXT) }, - { "glMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage3DEXT) }, - { "glMulticastBarrierNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBarrierNV) }, - { "glMulticastBlitFramebufferNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBlitFramebufferNV) }, - { "glMulticastBufferSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBufferSubDataNV) }, - { "glMulticastCopyBufferSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastCopyBufferSubDataNV) }, - { "glMulticastCopyImageSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastCopyImageSubDataNV) }, - { "glMulticastFramebufferSampleLocationsfvNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastFramebufferSampleLocationsfvNV) }, - { "glMulticastGetQueryObjecti64vNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjecti64vNV) }, - { "glMulticastGetQueryObjectivNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectivNV) }, - { "glMulticastGetQueryObjectui64vNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectui64vNV) }, - { "glMulticastGetQueryObjectuivNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectuivNV) }, - { "glMulticastScissorArrayvNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastScissorArrayvNVX) }, - { "glMulticastViewportArrayvNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastViewportArrayvNVX) }, - { "glMulticastViewportPositionWScaleNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastViewportPositionWScaleNVX) }, - { "glMulticastWaitSyncNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastWaitSyncNV) }, - { "glNamedBufferAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glNamedBufferAttachMemoryNV) }, - { "glNamedBufferData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedBufferData) }, - { "glNamedBufferDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferDataEXT) }, - { "glNamedBufferPageCommitmentARB", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentARB) }, - { "glNamedBufferPageCommitmentEXT", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentEXT) }, - { "glNamedBufferPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentMemNV) }, - { "glNamedBufferStorage", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedBufferStorage) }, - { "glNamedBufferStorageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageEXT) }, - { "glNamedBufferStorageExternalEXT", "GL_EXT_external_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageExternalEXT) }, - { "glNamedBufferStorageMemEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageMemEXT) }, - { "glNamedBufferSubData", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedBufferSubData) }, - { "glNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferSubDataEXT) }, - { "glNamedCopyBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedCopyBufferSubDataEXT) }, - { "glNamedFramebufferDrawBuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffer) }, - { "glNamedFramebufferDrawBuffers", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffers) }, - { "glNamedFramebufferParameteri", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteri) }, - { "glNamedFramebufferParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteriEXT) }, - { "glNamedFramebufferReadBuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedFramebufferReadBuffer) }, - { "glNamedFramebufferRenderbuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbuffer) }, - { "glNamedFramebufferRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbufferEXT) }, - { "glNamedFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvARB) }, - { "glNamedFramebufferSampleLocationsfvNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvNV) }, - { "glNamedFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSamplePositionsfvAMD) }, - { "glNamedFramebufferTexture", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture) }, - { "glNamedFramebufferTexture1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture1DEXT) }, - { "glNamedFramebufferTexture2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture2DEXT) }, - { "glNamedFramebufferTexture3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture3DEXT) }, - { "glNamedFramebufferTextureEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureEXT) }, - { "glNamedFramebufferTextureFaceEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureFaceEXT) }, - { "glNamedFramebufferTextureLayer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayer) }, - { "glNamedFramebufferTextureLayerEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayerEXT) }, - { "glNamedFramebufferTextureMultiviewOVR", "GL_OVR_multiview\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureMultiviewOVR) }, - { "glNamedProgramLocalParameter4dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dEXT) }, - { "glNamedProgramLocalParameter4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dvEXT) }, - { "glNamedProgramLocalParameter4fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fEXT) }, - { "glNamedProgramLocalParameter4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fvEXT) }, - { "glNamedProgramLocalParameterI4iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4iEXT) }, - { "glNamedProgramLocalParameterI4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4ivEXT) }, - { "glNamedProgramLocalParameterI4uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uiEXT) }, - { "glNamedProgramLocalParameterI4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uivEXT) }, - { "glNamedProgramLocalParameters4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameters4fvEXT) }, - { "glNamedProgramLocalParametersI4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4ivEXT) }, - { "glNamedProgramLocalParametersI4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4uivEXT) }, - { "glNamedProgramStringEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramStringEXT) }, - { "glNamedRenderbufferStorage", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorage) }, - { "glNamedRenderbufferStorageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageEXT) }, - { "glNamedRenderbufferStorageMultisample", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisample) }, - { "glNamedRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleAdvancedAMD) }, - { "glNamedRenderbufferStorageMultisampleCoverageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleCoverageEXT) }, - { "glNamedRenderbufferStorageMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleEXT) }, - { "glNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glNamedStringARB) }, - { "glNewBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glNewBufferRegion) }, - { "glNewObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glNewObjectBufferATI) }, - { "glNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glNormal3fVertex3fSUN) }, - { "glNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glNormal3fVertex3fvSUN) }, - { "glNormal3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glNormal3hNV) }, - { "glNormal3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glNormal3hvNV) }, - { "glNormal3x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glNormal3x) }, - { "glNormal3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glNormal3xOES) }, - { "glNormal3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glNormal3xvOES) }, - { "glNormalFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glNormalFormatNV) }, - { "glNormalP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glNormalP3ui) }, - { "glNormalP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glNormalP3uiv) }, - { "glNormalPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glNormalPointerEXT) }, - { "glNormalPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glNormalPointerListIBM) }, - { "glNormalPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glNormalPointervINTEL) }, - { "glNormalStream3bATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3bATI) }, - { "glNormalStream3bvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3bvATI) }, - { "glNormalStream3dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3dATI) }, - { "glNormalStream3dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3dvATI) }, - { "glNormalStream3fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3fATI) }, - { "glNormalStream3fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3fvATI) }, - { "glNormalStream3iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3iATI) }, - { "glNormalStream3ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3ivATI) }, - { "glNormalStream3sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3sATI) }, - { "glNormalStream3svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3svATI) }, - { "glObjectLabel", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glObjectLabel) }, - { "glObjectPtrLabel", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glObjectPtrLabel) }, - { "glObjectPurgeableAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glObjectPurgeableAPPLE) }, - { "glObjectUnpurgeableAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glObjectUnpurgeableAPPLE) }, - { "glOrthof", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glOrthof) }, - { "glOrthofOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glOrthofOES) }, - { "glOrthox", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glOrthox) }, - { "glOrthoxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glOrthoxOES) }, - { "glPNTrianglesfATI", "GL_ATI_pn_triangles\0", offsetof(struct opengl_funcs, p_glPNTrianglesfATI) }, - { "glPNTrianglesiATI", "GL_ATI_pn_triangles\0", offsetof(struct opengl_funcs, p_glPNTrianglesiATI) }, - { "glPassTexCoordATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glPassTexCoordATI) }, - { "glPassThroughxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPassThroughxOES) }, - { "glPatchParameterfv", "GL_ARB_tessellation_shader\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glPatchParameterfv) }, - { "glPatchParameteri", "GL_ARB_tessellation_shader\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glPatchParameteri) }, - { "glPathColorGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathColorGenNV) }, - { "glPathCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCommandsNV) }, - { "glPathCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCoordsNV) }, - { "glPathCoverDepthFuncNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCoverDepthFuncNV) }, - { "glPathDashArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathDashArrayNV) }, - { "glPathFogGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathFogGenNV) }, - { "glPathGlyphIndexArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphIndexArrayNV) }, - { "glPathGlyphIndexRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphIndexRangeNV) }, - { "glPathGlyphRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphRangeNV) }, - { "glPathGlyphsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphsNV) }, - { "glPathMemoryGlyphIndexArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathMemoryGlyphIndexArrayNV) }, - { "glPathParameterfNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterfNV) }, - { "glPathParameterfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterfvNV) }, - { "glPathParameteriNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameteriNV) }, - { "glPathParameterivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterivNV) }, - { "glPathStencilDepthOffsetNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStencilDepthOffsetNV) }, - { "glPathStencilFuncNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStencilFuncNV) }, - { "glPathStringNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStringNV) }, - { "glPathSubCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathSubCommandsNV) }, - { "glPathSubCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathSubCoordsNV) }, - { "glPathTexGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathTexGenNV) }, - { "glPauseTransformFeedback", "GL_ARB_transform_feedback2\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glPauseTransformFeedback) }, - { "glPauseTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glPauseTransformFeedbackNV) }, - { "glPixelDataRangeNV", "GL_NV_pixel_data_range\0", offsetof(struct opengl_funcs, p_glPixelDataRangeNV) }, - { "glPixelMapx", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelMapx) }, - { "glPixelStorex", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelStorex) }, - { "glPixelTexGenParameterfSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfSGIS) }, - { "glPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfvSGIS) }, - { "glPixelTexGenParameteriSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameteriSGIS) }, - { "glPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterivSGIS) }, - { "glPixelTexGenSGIX", "GL_SGIX_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenSGIX) }, - { "glPixelTransferxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelTransferxOES) }, - { "glPixelTransformParameterfEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterfEXT) }, - { "glPixelTransformParameterfvEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterfvEXT) }, - { "glPixelTransformParameteriEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameteriEXT) }, - { "glPixelTransformParameterivEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterivEXT) }, - { "glPixelZoomxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelZoomxOES) }, - { "glPointAlongPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPointAlongPathNV) }, - { "glPointParameterf", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glPointParameterf) }, - { "glPointParameterfARB", "GL_ARB_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfARB) }, - { "glPointParameterfEXT", "GL_EXT_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfEXT) }, - { "glPointParameterfSGIS", "GL_SGIS_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfSGIS) }, - { "glPointParameterfv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glPointParameterfv) }, - { "glPointParameterfvARB", "GL_ARB_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvARB) }, - { "glPointParameterfvEXT", "GL_EXT_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvEXT) }, - { "glPointParameterfvSGIS", "GL_SGIS_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvSGIS) }, - { "glPointParameteri", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glPointParameteri) }, - { "glPointParameteriNV", "GL_NV_point_sprite\0", offsetof(struct opengl_funcs, p_glPointParameteriNV) }, - { "glPointParameteriv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glPointParameteriv) }, - { "glPointParameterivNV", "GL_NV_point_sprite\0", offsetof(struct opengl_funcs, p_glPointParameterivNV) }, - { "glPointParameterx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointParameterx) }, - { "glPointParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointParameterxv) }, - { "glPointParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPointParameterxvOES) }, - { "glPointSizex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointSizex) }, - { "glPointSizexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPointSizexOES) }, - { "glPollAsyncSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glPollAsyncSGIX) }, - { "glPollInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glPollInstrumentsSGIX) }, - { "glPolygonOffsetClamp", "GL_ARB_polygon_offset_clamp\0GL_VERSION_4_6\0", offsetof(struct opengl_funcs, p_glPolygonOffsetClamp) }, - { "glPolygonOffsetClampEXT", "GL_EXT_polygon_offset_clamp\0", offsetof(struct opengl_funcs, p_glPolygonOffsetClampEXT) }, - { "glPolygonOffsetEXT", "GL_EXT_polygon_offset\0", offsetof(struct opengl_funcs, p_glPolygonOffsetEXT) }, - { "glPolygonOffsetx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPolygonOffsetx) }, - { "glPolygonOffsetxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPolygonOffsetxOES) }, - { "glPopDebugGroup", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glPopDebugGroup) }, - { "glPopGroupMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glPopGroupMarkerEXT) }, - { "glPresentFrameDualFillNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glPresentFrameDualFillNV) }, - { "glPresentFrameKeyedNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glPresentFrameKeyedNV) }, - { "glPrimitiveBoundingBox", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBox) }, - { "glPrimitiveBoundingBoxARB", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBoxARB) }, - { "glPrimitiveRestartIndex", "GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndex) }, - { "glPrimitiveRestartIndexNV", "GL_NV_primitive_restart\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndexNV) }, - { "glPrimitiveRestartNV", "GL_NV_primitive_restart\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartNV) }, - { "glPrioritizeTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glPrioritizeTexturesEXT) }, - { "glPrioritizeTexturesxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPrioritizeTexturesxOES) }, - { "glProgramBinary", "GL_ARB_get_program_binary\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramBinary) }, - { "glProgramBufferParametersIivNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersIivNV) }, - { "glProgramBufferParametersIuivNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersIuivNV) }, - { "glProgramBufferParametersfvNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersfvNV) }, - { "glProgramEnvParameter4dARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dARB) }, - { "glProgramEnvParameter4dvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dvARB) }, - { "glProgramEnvParameter4fARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fARB) }, - { "glProgramEnvParameter4fvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fvARB) }, - { "glProgramEnvParameterI4iNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4iNV) }, - { "glProgramEnvParameterI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4ivNV) }, - { "glProgramEnvParameterI4uiNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uiNV) }, - { "glProgramEnvParameterI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uivNV) }, - { "glProgramEnvParameters4fvEXT", "GL_EXT_gpu_program_parameters\0", offsetof(struct opengl_funcs, p_glProgramEnvParameters4fvEXT) }, - { "glProgramEnvParametersI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4ivNV) }, - { "glProgramEnvParametersI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4uivNV) }, - { "glProgramLocalParameter4dARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dARB) }, - { "glProgramLocalParameter4dvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dvARB) }, - { "glProgramLocalParameter4fARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fARB) }, - { "glProgramLocalParameter4fvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fvARB) }, - { "glProgramLocalParameterI4iNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4iNV) }, - { "glProgramLocalParameterI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4ivNV) }, - { "glProgramLocalParameterI4uiNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uiNV) }, - { "glProgramLocalParameterI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uivNV) }, - { "glProgramLocalParameters4fvEXT", "GL_EXT_gpu_program_parameters\0", offsetof(struct opengl_funcs, p_glProgramLocalParameters4fvEXT) }, - { "glProgramLocalParametersI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4ivNV) }, - { "glProgramLocalParametersI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4uivNV) }, - { "glProgramNamedParameter4dNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dNV) }, - { "glProgramNamedParameter4dvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dvNV) }, - { "glProgramNamedParameter4fNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fNV) }, - { "glProgramNamedParameter4fvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fvNV) }, - { "glProgramParameter4dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4dNV) }, - { "glProgramParameter4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4dvNV) }, - { "glProgramParameter4fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4fNV) }, - { "glProgramParameter4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4fvNV) }, - { "glProgramParameteri", "GL_ARB_get_program_binary\0GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramParameteri) }, - { "glProgramParameteriARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glProgramParameteriARB) }, - { "glProgramParameteriEXT", "GL_EXT_geometry_shader4\0", offsetof(struct opengl_funcs, p_glProgramParameteriEXT) }, - { "glProgramParameters4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameters4dvNV) }, - { "glProgramParameters4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameters4fvNV) }, - { "glProgramPathFragmentInputGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glProgramPathFragmentInputGenNV) }, - { "glProgramStringARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramStringARB) }, - { "glProgramSubroutineParametersuivNV", "GL_NV_gpu_program5\0GL_NV_gpu_program_fp64\0", offsetof(struct opengl_funcs, p_glProgramSubroutineParametersuivNV) }, - { "glProgramUniform1d", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1d) }, - { "glProgramUniform1dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1dEXT) }, - { "glProgramUniform1dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1dv) }, - { "glProgramUniform1dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1dvEXT) }, - { "glProgramUniform1f", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1f) }, - { "glProgramUniform1fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1fEXT) }, - { "glProgramUniform1fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1fv) }, - { "glProgramUniform1fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1fvEXT) }, - { "glProgramUniform1i", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1i) }, - { "glProgramUniform1i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64ARB) }, - { "glProgramUniform1i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64NV) }, - { "glProgramUniform1i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64vARB) }, - { "glProgramUniform1i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64vNV) }, - { "glProgramUniform1iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1iEXT) }, - { "glProgramUniform1iv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1iv) }, - { "glProgramUniform1ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1ivEXT) }, - { "glProgramUniform1ui", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui) }, - { "glProgramUniform1ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64ARB) }, - { "glProgramUniform1ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64NV) }, - { "glProgramUniform1ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vARB) }, - { "glProgramUniform1ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vNV) }, - { "glProgramUniform1uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1uiEXT) }, - { "glProgramUniform1uiv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform1uiv) }, - { "glProgramUniform1uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1uivEXT) }, - { "glProgramUniform2d", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2d) }, - { "glProgramUniform2dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2dEXT) }, - { "glProgramUniform2dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2dv) }, - { "glProgramUniform2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2dvEXT) }, - { "glProgramUniform2f", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2f) }, - { "glProgramUniform2fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2fEXT) }, - { "glProgramUniform2fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2fv) }, - { "glProgramUniform2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2fvEXT) }, - { "glProgramUniform2i", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2i) }, - { "glProgramUniform2i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64ARB) }, - { "glProgramUniform2i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64NV) }, - { "glProgramUniform2i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64vARB) }, - { "glProgramUniform2i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64vNV) }, - { "glProgramUniform2iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2iEXT) }, - { "glProgramUniform2iv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2iv) }, - { "glProgramUniform2ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2ivEXT) }, - { "glProgramUniform2ui", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui) }, - { "glProgramUniform2ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64ARB) }, - { "glProgramUniform2ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64NV) }, - { "glProgramUniform2ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vARB) }, - { "glProgramUniform2ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vNV) }, - { "glProgramUniform2uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2uiEXT) }, - { "glProgramUniform2uiv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform2uiv) }, - { "glProgramUniform2uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2uivEXT) }, - { "glProgramUniform3d", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3d) }, - { "glProgramUniform3dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3dEXT) }, - { "glProgramUniform3dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3dv) }, - { "glProgramUniform3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3dvEXT) }, - { "glProgramUniform3f", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3f) }, - { "glProgramUniform3fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3fEXT) }, - { "glProgramUniform3fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3fv) }, - { "glProgramUniform3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3fvEXT) }, - { "glProgramUniform3i", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3i) }, - { "glProgramUniform3i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64ARB) }, - { "glProgramUniform3i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64NV) }, - { "glProgramUniform3i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64vARB) }, - { "glProgramUniform3i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64vNV) }, - { "glProgramUniform3iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3iEXT) }, - { "glProgramUniform3iv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3iv) }, - { "glProgramUniform3ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3ivEXT) }, - { "glProgramUniform3ui", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui) }, - { "glProgramUniform3ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64ARB) }, - { "glProgramUniform3ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64NV) }, - { "glProgramUniform3ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vARB) }, - { "glProgramUniform3ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vNV) }, - { "glProgramUniform3uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3uiEXT) }, - { "glProgramUniform3uiv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform3uiv) }, - { "glProgramUniform3uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3uivEXT) }, - { "glProgramUniform4d", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4d) }, - { "glProgramUniform4dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4dEXT) }, - { "glProgramUniform4dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4dv) }, - { "glProgramUniform4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4dvEXT) }, - { "glProgramUniform4f", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4f) }, - { "glProgramUniform4fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4fEXT) }, - { "glProgramUniform4fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4fv) }, - { "glProgramUniform4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4fvEXT) }, - { "glProgramUniform4i", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4i) }, - { "glProgramUniform4i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64ARB) }, - { "glProgramUniform4i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64NV) }, - { "glProgramUniform4i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64vARB) }, - { "glProgramUniform4i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64vNV) }, - { "glProgramUniform4iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4iEXT) }, - { "glProgramUniform4iv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4iv) }, - { "glProgramUniform4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4ivEXT) }, - { "glProgramUniform4ui", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui) }, - { "glProgramUniform4ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64ARB) }, - { "glProgramUniform4ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64NV) }, - { "glProgramUniform4ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vARB) }, - { "glProgramUniform4ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vNV) }, - { "glProgramUniform4uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4uiEXT) }, - { "glProgramUniform4uiv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniform4uiv) }, - { "glProgramUniform4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4uivEXT) }, - { "glProgramUniformHandleui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64ARB) }, - { "glProgramUniformHandleui64NV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64NV) }, - { "glProgramUniformHandleui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vARB) }, - { "glProgramUniformHandleui64vNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vNV) }, - { "glProgramUniformMatrix2dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dv) }, - { "glProgramUniformMatrix2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dvEXT) }, - { "glProgramUniformMatrix2fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fv) }, - { "glProgramUniformMatrix2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fvEXT) }, - { "glProgramUniformMatrix2x3dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dv) }, - { "glProgramUniformMatrix2x3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dvEXT) }, - { "glProgramUniformMatrix2x3fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fv) }, - { "glProgramUniformMatrix2x3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fvEXT) }, - { "glProgramUniformMatrix2x4dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dv) }, - { "glProgramUniformMatrix2x4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dvEXT) }, - { "glProgramUniformMatrix2x4fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fv) }, - { "glProgramUniformMatrix2x4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fvEXT) }, - { "glProgramUniformMatrix3dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dv) }, - { "glProgramUniformMatrix3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dvEXT) }, - { "glProgramUniformMatrix3fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fv) }, - { "glProgramUniformMatrix3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fvEXT) }, - { "glProgramUniformMatrix3x2dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dv) }, - { "glProgramUniformMatrix3x2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dvEXT) }, - { "glProgramUniformMatrix3x2fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fv) }, - { "glProgramUniformMatrix3x2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fvEXT) }, - { "glProgramUniformMatrix3x4dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dv) }, - { "glProgramUniformMatrix3x4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dvEXT) }, - { "glProgramUniformMatrix3x4fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fv) }, - { "glProgramUniformMatrix3x4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fvEXT) }, - { "glProgramUniformMatrix4dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dv) }, - { "glProgramUniformMatrix4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dvEXT) }, - { "glProgramUniformMatrix4fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fv) }, - { "glProgramUniformMatrix4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fvEXT) }, - { "glProgramUniformMatrix4x2dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dv) }, - { "glProgramUniformMatrix4x2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dvEXT) }, - { "glProgramUniformMatrix4x2fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fv) }, - { "glProgramUniformMatrix4x2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fvEXT) }, - { "glProgramUniformMatrix4x3dv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dv) }, - { "glProgramUniformMatrix4x3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dvEXT) }, - { "glProgramUniformMatrix4x3fv", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fv) }, - { "glProgramUniformMatrix4x3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fvEXT) }, - { "glProgramUniformui64NV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glProgramUniformui64NV) }, - { "glProgramUniformui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glProgramUniformui64vNV) }, - { "glProgramVertexLimitNV", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glProgramVertexLimitNV) }, - { "glProvokingVertex", "GL_ARB_provoking_vertex\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glProvokingVertex) }, - { "glProvokingVertexEXT", "GL_EXT_provoking_vertex\0", offsetof(struct opengl_funcs, p_glProvokingVertexEXT) }, - { "glPushClientAttribDefaultEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glPushClientAttribDefaultEXT) }, - { "glPushDebugGroup", "GL_KHR_debug\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glPushDebugGroup) }, - { "glPushGroupMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glPushGroupMarkerEXT) }, - { "glQueryCounter", "GL_ARB_timer_query\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glQueryCounter) }, - { "glQueryMatrixxOES", "GL_OES_query_matrix\0", offsetof(struct opengl_funcs, p_glQueryMatrixxOES) }, - { "glQueryObjectParameteruiAMD", "GL_AMD_occlusion_query_event\0", offsetof(struct opengl_funcs, p_glQueryObjectParameteruiAMD) }, - { "glQueryResourceNV", "GL_NV_query_resource\0", offsetof(struct opengl_funcs, p_glQueryResourceNV) }, - { "glQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glQueryResourceTagNV) }, - { "glRasterPos2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos2xOES) }, - { "glRasterPos2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos2xvOES) }, - { "glRasterPos3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos3xOES) }, - { "glRasterPos3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos3xvOES) }, - { "glRasterPos4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos4xOES) }, - { "glRasterPos4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos4xvOES) }, - { "glRasterSamplesEXT", "GL_EXT_raster_multisample\0GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glRasterSamplesEXT) }, - { "glReadBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glReadBufferRegion) }, - { "glReadInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glReadInstrumentsSGIX) }, - { "glReadnPixels", "GL_KHR_robustness\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glReadnPixels) }, - { "glReadnPixelsARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glReadnPixelsARB) }, - { "glRectxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRectxOES) }, - { "glRectxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRectxvOES) }, - { "glReferencePlaneSGIX", "GL_SGIX_reference_plane\0", offsetof(struct opengl_funcs, p_glReferencePlaneSGIX) }, - { "glReleaseKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex\0", offsetof(struct opengl_funcs, p_glReleaseKeyedMutexWin32EXT) }, - { "glReleaseShaderCompiler", "GL_ARB_ES2_compatibility\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glReleaseShaderCompiler) }, - { "glRenderGpuMaskNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glRenderGpuMaskNV) }, - { "glRenderbufferStorage", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glRenderbufferStorage) }, - { "glRenderbufferStorageEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageEXT) }, - { "glRenderbufferStorageMultisample", "GL_ARB_framebuffer_object\0GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisample) }, - { "glRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleAdvancedAMD) }, - { "glRenderbufferStorageMultisampleCoverageNV", "GL_NV_framebuffer_multisample_coverage\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleCoverageNV) }, - { "glRenderbufferStorageMultisampleEXT", "GL_EXT_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleEXT) }, - { "glReplacementCodePointerSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodePointerSUN) }, - { "glReplacementCodeubSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubSUN) }, - { "glReplacementCodeubvSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubvSUN) }, - { "glReplacementCodeuiColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fSUN) }, - { "glReplacementCodeuiColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fvSUN) }, - { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fSUN) }, - { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fvSUN) }, - { "glReplacementCodeuiColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fSUN) }, - { "glReplacementCodeuiColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fvSUN) }, - { "glReplacementCodeuiNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fSUN) }, - { "glReplacementCodeuiNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fvSUN) }, - { "glReplacementCodeuiSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiSUN) }, - { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) }, - { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) }, - { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) }, - { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) }, - { "glReplacementCodeuiTexCoord2fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fSUN) }, - { "glReplacementCodeuiTexCoord2fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fvSUN) }, - { "glReplacementCodeuiVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fSUN) }, - { "glReplacementCodeuiVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fvSUN) }, - { "glReplacementCodeuivSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeuivSUN) }, - { "glReplacementCodeusSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeusSUN) }, - { "glReplacementCodeusvSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeusvSUN) }, - { "glRequestResidentProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glRequestResidentProgramsNV) }, - { "glResetHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glResetHistogram) }, - { "glResetHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glResetHistogramEXT) }, - { "glResetMemoryObjectParameterNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glResetMemoryObjectParameterNV) }, - { "glResetMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glResetMinmax) }, - { "glResetMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glResetMinmaxEXT) }, - { "glResizeBuffersMESA", "GL_MESA_resize_buffers\0", offsetof(struct opengl_funcs, p_glResizeBuffersMESA) }, - { "glResolveDepthValuesNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glResolveDepthValuesNV) }, - { "glResumeTransformFeedback", "GL_ARB_transform_feedback2\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glResumeTransformFeedback) }, - { "glResumeTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glResumeTransformFeedbackNV) }, - { "glRotatex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glRotatex) }, - { "glRotatexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRotatexOES) }, - { "glSampleCoverage", "GL_VERSION_1_3\0", offsetof(struct opengl_funcs, p_glSampleCoverage) }, - { "glSampleCoverageARB", "GL_ARB_multisample\0", offsetof(struct opengl_funcs, p_glSampleCoverageARB) }, - { "glSampleCoveragex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glSampleCoveragex) }, - { "glSampleMapATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glSampleMapATI) }, - { "glSampleMaskEXT", "GL_EXT_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskEXT) }, - { "glSampleMaskIndexedNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskIndexedNV) }, - { "glSampleMaskSGIS", "GL_SGIS_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskSGIS) }, - { "glSampleMaski", "GL_ARB_texture_multisample\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glSampleMaski) }, - { "glSamplePatternEXT", "GL_EXT_multisample\0", offsetof(struct opengl_funcs, p_glSamplePatternEXT) }, - { "glSamplePatternSGIS", "GL_SGIS_multisample\0", offsetof(struct opengl_funcs, p_glSamplePatternSGIS) }, - { "glSamplerParameterIiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterIiv) }, - { "glSamplerParameterIuiv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterIuiv) }, - { "glSamplerParameterf", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterf) }, - { "glSamplerParameterfv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameterfv) }, - { "glSamplerParameteri", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameteri) }, - { "glSamplerParameteriv", "GL_ARB_sampler_objects\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSamplerParameteriv) }, - { "glScalex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glScalex) }, - { "glScalexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glScalexOES) }, - { "glScissorArrayv", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glScissorArrayv) }, - { "glScissorExclusiveArrayvNV", "GL_NV_scissor_exclusive\0", offsetof(struct opengl_funcs, p_glScissorExclusiveArrayvNV) }, - { "glScissorExclusiveNV", "GL_NV_scissor_exclusive\0", offsetof(struct opengl_funcs, p_glScissorExclusiveNV) }, - { "glScissorIndexed", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glScissorIndexed) }, - { "glScissorIndexedv", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glScissorIndexedv) }, - { "glSecondaryColor3b", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3b) }, - { "glSecondaryColor3bEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bEXT) }, - { "glSecondaryColor3bv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bv) }, - { "glSecondaryColor3bvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bvEXT) }, - { "glSecondaryColor3d", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3d) }, - { "glSecondaryColor3dEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dEXT) }, - { "glSecondaryColor3dv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dv) }, - { "glSecondaryColor3dvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dvEXT) }, - { "glSecondaryColor3f", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3f) }, - { "glSecondaryColor3fEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fEXT) }, - { "glSecondaryColor3fv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fv) }, - { "glSecondaryColor3fvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fvEXT) }, - { "glSecondaryColor3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glSecondaryColor3hNV) }, - { "glSecondaryColor3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glSecondaryColor3hvNV) }, - { "glSecondaryColor3i", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3i) }, - { "glSecondaryColor3iEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3iEXT) }, - { "glSecondaryColor3iv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3iv) }, - { "glSecondaryColor3ivEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ivEXT) }, - { "glSecondaryColor3s", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3s) }, - { "glSecondaryColor3sEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3sEXT) }, - { "glSecondaryColor3sv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3sv) }, - { "glSecondaryColor3svEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3svEXT) }, - { "glSecondaryColor3ub", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ub) }, - { "glSecondaryColor3ubEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubEXT) }, - { "glSecondaryColor3ubv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubv) }, - { "glSecondaryColor3ubvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubvEXT) }, - { "glSecondaryColor3ui", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ui) }, - { "glSecondaryColor3uiEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uiEXT) }, - { "glSecondaryColor3uiv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uiv) }, - { "glSecondaryColor3uivEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uivEXT) }, - { "glSecondaryColor3us", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3us) }, - { "glSecondaryColor3usEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usEXT) }, - { "glSecondaryColor3usv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usv) }, - { "glSecondaryColor3usvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usvEXT) }, - { "glSecondaryColorFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glSecondaryColorFormatNV) }, - { "glSecondaryColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSecondaryColorP3ui) }, - { "glSecondaryColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glSecondaryColorP3uiv) }, - { "glSecondaryColorPointer", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointer) }, - { "glSecondaryColorPointerEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointerEXT) }, - { "glSecondaryColorPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointerListIBM) }, - { "glSelectPerfMonitorCountersAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glSelectPerfMonitorCountersAMD) }, - { "glSelectTextureCoordSetSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glSelectTextureCoordSetSGIS) }, - { "glSelectTextureSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glSelectTextureSGIS) }, - { "glSemaphoreParameterivNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glSemaphoreParameterivNV) }, - { "glSemaphoreParameterui64vEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glSemaphoreParameterui64vEXT) }, - { "glSeparableFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glSeparableFilter2D) }, - { "glSeparableFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glSeparableFilter2DEXT) }, - { "glSetFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glSetFenceAPPLE) }, - { "glSetFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glSetFenceNV) }, - { "glSetFragmentShaderConstantATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glSetFragmentShaderConstantATI) }, - { "glSetInvariantEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSetInvariantEXT) }, - { "glSetLocalConstantEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSetLocalConstantEXT) }, - { "glSetMultisamplefvAMD", "GL_AMD_sample_positions\0", offsetof(struct opengl_funcs, p_glSetMultisamplefvAMD) }, - { "glShaderBinary", "GL_ARB_ES2_compatibility\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glShaderBinary) }, - { "glShaderOp1EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp1EXT) }, - { "glShaderOp2EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp2EXT) }, - { "glShaderOp3EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp3EXT) }, - { "glShaderSource", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glShaderSource) }, - { "glShaderSourceARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glShaderSourceARB) }, - { "glShaderStorageBlockBinding", "GL_ARB_shader_storage_buffer_object\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glShaderStorageBlockBinding) }, - { "glShadingRateCombinerOpsEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glShadingRateCombinerOpsEXT) }, - { "glShadingRateEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glShadingRateEXT) }, - { "glShadingRateImageBarrierNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateImageBarrierNV) }, - { "glShadingRateImagePaletteNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateImagePaletteNV) }, - { "glShadingRateSampleOrderCustomNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderCustomNV) }, - { "glShadingRateSampleOrderNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderNV) }, - { "glSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture\0", offsetof(struct opengl_funcs, p_glSharpenTexFuncSGIS) }, - { "glSignalSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glSignalSemaphoreEXT) }, - { "glSignalSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glSignalSemaphoreui64NVX) }, - { "glSignalVkFenceNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glSignalVkFenceNV) }, - { "glSignalVkSemaphoreNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glSignalVkSemaphoreNV) }, - { "glSpecializeShader", "GL_VERSION_4_6\0", offsetof(struct opengl_funcs, p_glSpecializeShader) }, - { "glSpecializeShaderARB", "GL_ARB_gl_spirv\0", offsetof(struct opengl_funcs, p_glSpecializeShaderARB) }, - { "glSpriteParameterfSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterfSGIX) }, - { "glSpriteParameterfvSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterfvSGIX) }, - { "glSpriteParameteriSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameteriSGIX) }, - { "glSpriteParameterivSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterivSGIX) }, - { "glStartInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glStartInstrumentsSGIX) }, - { "glStateCaptureNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glStateCaptureNV) }, - { "glStencilClearTagEXT", "GL_EXT_stencil_clear_tag\0", offsetof(struct opengl_funcs, p_glStencilClearTagEXT) }, - { "glStencilFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilFillPathInstancedNV) }, - { "glStencilFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilFillPathNV) }, - { "glStencilFuncSeparate", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glStencilFuncSeparate) }, - { "glStencilFuncSeparateATI", "GL_ATI_separate_stencil\0", offsetof(struct opengl_funcs, p_glStencilFuncSeparateATI) }, - { "glStencilMaskSeparate", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glStencilMaskSeparate) }, - { "glStencilOpSeparate", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glStencilOpSeparate) }, - { "glStencilOpSeparateATI", "GL_ATI_separate_stencil\0", offsetof(struct opengl_funcs, p_glStencilOpSeparateATI) }, - { "glStencilOpValueAMD", "GL_AMD_stencil_operation_extended\0", offsetof(struct opengl_funcs, p_glStencilOpValueAMD) }, - { "glStencilStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilStrokePathInstancedNV) }, - { "glStencilStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilStrokePathNV) }, - { "glStencilThenCoverFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathInstancedNV) }, - { "glStencilThenCoverFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathNV) }, - { "glStencilThenCoverStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathInstancedNV) }, - { "glStencilThenCoverStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathNV) }, - { "glStopInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glStopInstrumentsSGIX) }, - { "glStringMarkerGREMEDY", "GL_GREMEDY_string_marker\0", offsetof(struct opengl_funcs, p_glStringMarkerGREMEDY) }, - { "glSubpixelPrecisionBiasNV", "GL_NV_conservative_raster\0", offsetof(struct opengl_funcs, p_glSubpixelPrecisionBiasNV) }, - { "glSwizzleEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSwizzleEXT) }, - { "glSyncTextureINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glSyncTextureINTEL) }, - { "glTagSampleBufferSGIX", "GL_SGIX_tag_sample_buffer\0", offsetof(struct opengl_funcs, p_glTagSampleBufferSGIX) }, - { "glTangent3bEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3bEXT) }, - { "glTangent3bvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3bvEXT) }, - { "glTangent3dEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3dEXT) }, - { "glTangent3dvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3dvEXT) }, - { "glTangent3fEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3fEXT) }, - { "glTangent3fvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3fvEXT) }, - { "glTangent3iEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3iEXT) }, - { "glTangent3ivEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3ivEXT) }, - { "glTangent3sEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3sEXT) }, - { "glTangent3svEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3svEXT) }, - { "glTangentPointerEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangentPointerEXT) }, - { "glTbufferMask3DFX", "GL_3DFX_tbuffer\0", offsetof(struct opengl_funcs, p_glTbufferMask3DFX) }, - { "glTessellationFactorAMD", "GL_AMD_vertex_shader_tessellator\0", offsetof(struct opengl_funcs, p_glTessellationFactorAMD) }, - { "glTessellationModeAMD", "GL_AMD_vertex_shader_tessellator\0", offsetof(struct opengl_funcs, p_glTessellationModeAMD) }, - { "glTestFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glTestFenceAPPLE) }, - { "glTestFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glTestFenceNV) }, - { "glTestObjectAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glTestObjectAPPLE) }, - { "glTexAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glTexAttachMemoryNV) }, - { "glTexBuffer", "GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glTexBuffer) }, - { "glTexBufferARB", "GL_ARB_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferARB) }, - { "glTexBufferEXT", "GL_EXT_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferEXT) }, - { "glTexBufferRange", "GL_ARB_texture_buffer_range\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glTexBufferRange) }, - { "glTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterfvATI) }, - { "glTexBumpParameterivATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterivATI) }, - { "glTexCoord1bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord1bOES) }, - { "glTexCoord1bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord1bvOES) }, - { "glTexCoord1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord1hNV) }, - { "glTexCoord1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord1hvNV) }, - { "glTexCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord1xOES) }, - { "glTexCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord1xvOES) }, - { "glTexCoord2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord2bOES) }, - { "glTexCoord2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord2bvOES) }, - { "glTexCoord2fColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fSUN) }, - { "glTexCoord2fColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fvSUN) }, - { "glTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fSUN) }, - { "glTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fvSUN) }, - { "glTexCoord2fColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fSUN) }, - { "glTexCoord2fColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fvSUN) }, - { "glTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fSUN) }, - { "glTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fvSUN) }, - { "glTexCoord2fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fSUN) }, - { "glTexCoord2fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fvSUN) }, - { "glTexCoord2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord2hNV) }, - { "glTexCoord2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord2hvNV) }, - { "glTexCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord2xOES) }, - { "glTexCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord2xvOES) }, - { "glTexCoord3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord3bOES) }, - { "glTexCoord3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord3bvOES) }, - { "glTexCoord3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord3hNV) }, - { "glTexCoord3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord3hvNV) }, - { "glTexCoord3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord3xOES) }, - { "glTexCoord3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord3xvOES) }, - { "glTexCoord4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord4bOES) }, - { "glTexCoord4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord4bvOES) }, - { "glTexCoord4fColor4fNormal3fVertex4fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fSUN) }, - { "glTexCoord4fColor4fNormal3fVertex4fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fvSUN) }, - { "glTexCoord4fVertex4fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fSUN) }, - { "glTexCoord4fVertex4fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fvSUN) }, - { "glTexCoord4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord4hNV) }, - { "glTexCoord4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord4hvNV) }, - { "glTexCoord4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord4xOES) }, - { "glTexCoord4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord4xvOES) }, - { "glTexCoordFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glTexCoordFormatNV) }, - { "glTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP1ui) }, - { "glTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP1uiv) }, - { "glTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP2ui) }, - { "glTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP2uiv) }, - { "glTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP3ui) }, - { "glTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP3uiv) }, - { "glTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP4ui) }, - { "glTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glTexCoordP4uiv) }, - { "glTexCoordPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glTexCoordPointerEXT) }, - { "glTexCoordPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glTexCoordPointerListIBM) }, - { "glTexCoordPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glTexCoordPointervINTEL) }, - { "glTexEnvx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexEnvx) }, - { "glTexEnvxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexEnvxOES) }, - { "glTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexEnvxv) }, - { "glTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexEnvxvOES) }, - { "glTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glTexFilterFuncSGIS) }, - { "glTexGenxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxOES) }, - { "glTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxvOES) }, - { "glTexImage2DMultisample", "GL_ARB_texture_multisample\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisample) }, - { "glTexImage2DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisampleCoverageNV) }, - { "glTexImage3D", "GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glTexImage3D) }, - { "glTexImage3DEXT", "GL_EXT_texture3D\0", offsetof(struct opengl_funcs, p_glTexImage3DEXT) }, - { "glTexImage3DMultisample", "GL_ARB_texture_multisample\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glTexImage3DMultisample) }, - { "glTexImage3DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage3DMultisampleCoverageNV) }, - { "glTexImage4DSGIS", "GL_SGIS_texture4D\0", offsetof(struct opengl_funcs, p_glTexImage4DSGIS) }, - { "glTexPageCommitmentARB", "GL_ARB_sparse_texture\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentARB) }, - { "glTexPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentMemNV) }, - { "glTexParameterIiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glTexParameterIiv) }, - { "glTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIivEXT) }, - { "glTexParameterIuiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glTexParameterIuiv) }, - { "glTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIuivEXT) }, - { "glTexParameterx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterx) }, - { "glTexParameterxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexParameterxOES) }, - { "glTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterxv) }, - { "glTexParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexParameterxvOES) }, - { "glTexRenderbufferNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glTexRenderbufferNV) }, - { "glTexStorage1D", "GL_ARB_texture_storage\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glTexStorage1D) }, - { "glTexStorage1DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage1DEXT) }, - { "glTexStorage2D", "GL_ARB_texture_storage\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glTexStorage2D) }, - { "glTexStorage2DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage2DEXT) }, - { "glTexStorage2DMultisample", "GL_ARB_texture_storage_multisample\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glTexStorage2DMultisample) }, - { "glTexStorage3D", "GL_ARB_texture_storage\0GL_VERSION_4_2\0", offsetof(struct opengl_funcs, p_glTexStorage3D) }, - { "glTexStorage3DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage3DEXT) }, - { "glTexStorage3DMultisample", "GL_ARB_texture_storage_multisample\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glTexStorage3DMultisample) }, - { "glTexStorageMem1DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem1DEXT) }, - { "glTexStorageMem2DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem2DEXT) }, - { "glTexStorageMem2DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem2DMultisampleEXT) }, - { "glTexStorageMem3DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem3DEXT) }, - { "glTexStorageMem3DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem3DMultisampleEXT) }, - { "glTexStorageSparseAMD", "GL_AMD_sparse_texture\0", offsetof(struct opengl_funcs, p_glTexStorageSparseAMD) }, - { "glTexSubImage1DEXT", "GL_EXT_subtexture\0", offsetof(struct opengl_funcs, p_glTexSubImage1DEXT) }, - { "glTexSubImage2DEXT", "GL_EXT_subtexture\0", offsetof(struct opengl_funcs, p_glTexSubImage2DEXT) }, - { "glTexSubImage3D", "GL_VERSION_1_2\0", offsetof(struct opengl_funcs, p_glTexSubImage3D) }, - { "glTexSubImage3DEXT", "GL_EXT_texture3D\0", offsetof(struct opengl_funcs, p_glTexSubImage3DEXT) }, - { "glTexSubImage4DSGIS", "GL_SGIS_texture4D\0", offsetof(struct opengl_funcs, p_glTexSubImage4DSGIS) }, - { "glTextureAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glTextureAttachMemoryNV) }, - { "glTextureBarrier", "GL_ARB_texture_barrier\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureBarrier) }, - { "glTextureBarrierNV", "GL_NV_texture_barrier\0", offsetof(struct opengl_funcs, p_glTextureBarrierNV) }, - { "glTextureBuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureBuffer) }, - { "glTextureBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferEXT) }, - { "glTextureBufferRange", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureBufferRange) }, - { "glTextureBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferRangeEXT) }, - { "glTextureColorMaskSGIS", "GL_SGIS_texture_color_mask\0", offsetof(struct opengl_funcs, p_glTextureColorMaskSGIS) }, - { "glTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage1DEXT) }, - { "glTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage2DEXT) }, - { "glTextureImage2DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleCoverageNV) }, - { "glTextureImage2DMultisampleNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleNV) }, - { "glTextureImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage3DEXT) }, - { "glTextureImage3DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleCoverageNV) }, - { "glTextureImage3DMultisampleNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleNV) }, - { "glTextureLightEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glTextureLightEXT) }, - { "glTextureMaterialEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glTextureMaterialEXT) }, - { "glTextureNormalEXT", "GL_EXT_texture_perturb_normal\0", offsetof(struct opengl_funcs, p_glTextureNormalEXT) }, - { "glTexturePageCommitmentEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTexturePageCommitmentEXT) }, - { "glTexturePageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glTexturePageCommitmentMemNV) }, - { "glTextureParameterIiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureParameterIiv) }, - { "glTextureParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIivEXT) }, - { "glTextureParameterIuiv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureParameterIuiv) }, - { "glTextureParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIuivEXT) }, - { "glTextureParameterf", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureParameterf) }, - { "glTextureParameterfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfEXT) }, - { "glTextureParameterfv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureParameterfv) }, - { "glTextureParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfvEXT) }, - { "glTextureParameteri", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureParameteri) }, - { "glTextureParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameteriEXT) }, - { "glTextureParameteriv", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureParameteriv) }, - { "glTextureParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterivEXT) }, - { "glTextureRangeAPPLE", "GL_APPLE_texture_range\0", offsetof(struct opengl_funcs, p_glTextureRangeAPPLE) }, - { "glTextureRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureRenderbufferEXT) }, - { "glTextureStorage1D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureStorage1D) }, - { "glTextureStorage1DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage1DEXT) }, - { "glTextureStorage2D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureStorage2D) }, - { "glTextureStorage2DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage2DEXT) }, - { "glTextureStorage2DMultisample", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisample) }, - { "glTextureStorage2DMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisampleEXT) }, - { "glTextureStorage3D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureStorage3D) }, - { "glTextureStorage3DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage3DEXT) }, - { "glTextureStorage3DMultisample", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisample) }, - { "glTextureStorage3DMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisampleEXT) }, - { "glTextureStorageMem1DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem1DEXT) }, - { "glTextureStorageMem2DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem2DEXT) }, - { "glTextureStorageMem2DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem2DMultisampleEXT) }, - { "glTextureStorageMem3DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem3DEXT) }, - { "glTextureStorageMem3DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem3DMultisampleEXT) }, - { "glTextureStorageSparseAMD", "GL_AMD_sparse_texture\0", offsetof(struct opengl_funcs, p_glTextureStorageSparseAMD) }, - { "glTextureSubImage1D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureSubImage1D) }, - { "glTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage1DEXT) }, - { "glTextureSubImage2D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureSubImage2D) }, - { "glTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage2DEXT) }, - { "glTextureSubImage3D", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTextureSubImage3D) }, - { "glTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage3DEXT) }, - { "glTextureView", "GL_ARB_texture_view\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glTextureView) }, - { "glTrackMatrixNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glTrackMatrixNV) }, - { "glTransformFeedbackAttribsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackAttribsNV) }, - { "glTransformFeedbackBufferBase", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferBase) }, - { "glTransformFeedbackBufferRange", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferRange) }, - { "glTransformFeedbackStreamAttribsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackStreamAttribsNV) }, - { "glTransformFeedbackVaryings", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryings) }, - { "glTransformFeedbackVaryingsEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsEXT) }, - { "glTransformFeedbackVaryingsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsNV) }, - { "glTransformPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glTransformPathNV) }, - { "glTranslatex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTranslatex) }, - { "glTranslatexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTranslatexOES) }, - { "glUniform1d", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform1d) }, - { "glUniform1dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform1dv) }, - { "glUniform1f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform1f) }, - { "glUniform1fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1fARB) }, - { "glUniform1fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform1fv) }, - { "glUniform1fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1fvARB) }, - { "glUniform1i", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform1i) }, - { "glUniform1i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1i64ARB) }, - { "glUniform1i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1i64NV) }, - { "glUniform1i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1i64vARB) }, - { "glUniform1i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1i64vNV) }, - { "glUniform1iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1iARB) }, - { "glUniform1iv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform1iv) }, - { "glUniform1ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1ivARB) }, - { "glUniform1ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform1ui) }, - { "glUniform1ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1ui64ARB) }, - { "glUniform1ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1ui64NV) }, - { "glUniform1ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1ui64vARB) }, - { "glUniform1ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1ui64vNV) }, - { "glUniform1uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform1uiEXT) }, - { "glUniform1uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform1uiv) }, - { "glUniform1uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform1uivEXT) }, - { "glUniform2d", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform2d) }, - { "glUniform2dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform2dv) }, - { "glUniform2f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform2f) }, - { "glUniform2fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2fARB) }, - { "glUniform2fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform2fv) }, - { "glUniform2fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2fvARB) }, - { "glUniform2i", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform2i) }, - { "glUniform2i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2i64ARB) }, - { "glUniform2i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2i64NV) }, - { "glUniform2i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2i64vARB) }, - { "glUniform2i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2i64vNV) }, - { "glUniform2iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2iARB) }, - { "glUniform2iv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform2iv) }, - { "glUniform2ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2ivARB) }, - { "glUniform2ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform2ui) }, - { "glUniform2ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2ui64ARB) }, - { "glUniform2ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2ui64NV) }, - { "glUniform2ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2ui64vARB) }, - { "glUniform2ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2ui64vNV) }, - { "glUniform2uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform2uiEXT) }, - { "glUniform2uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform2uiv) }, - { "glUniform2uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform2uivEXT) }, - { "glUniform3d", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform3d) }, - { "glUniform3dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform3dv) }, - { "glUniform3f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform3f) }, - { "glUniform3fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3fARB) }, - { "glUniform3fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform3fv) }, - { "glUniform3fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3fvARB) }, - { "glUniform3i", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform3i) }, - { "glUniform3i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3i64ARB) }, - { "glUniform3i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3i64NV) }, - { "glUniform3i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3i64vARB) }, - { "glUniform3i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3i64vNV) }, - { "glUniform3iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3iARB) }, - { "glUniform3iv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform3iv) }, - { "glUniform3ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3ivARB) }, - { "glUniform3ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform3ui) }, - { "glUniform3ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3ui64ARB) }, - { "glUniform3ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3ui64NV) }, - { "glUniform3ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3ui64vARB) }, - { "glUniform3ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3ui64vNV) }, - { "glUniform3uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform3uiEXT) }, - { "glUniform3uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform3uiv) }, - { "glUniform3uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform3uivEXT) }, - { "glUniform4d", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform4d) }, - { "glUniform4dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniform4dv) }, - { "glUniform4f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform4f) }, - { "glUniform4fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4fARB) }, - { "glUniform4fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform4fv) }, - { "glUniform4fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4fvARB) }, - { "glUniform4i", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform4i) }, - { "glUniform4i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4i64ARB) }, - { "glUniform4i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4i64NV) }, - { "glUniform4i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4i64vARB) }, - { "glUniform4i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4i64vNV) }, - { "glUniform4iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4iARB) }, - { "glUniform4iv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniform4iv) }, - { "glUniform4ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4ivARB) }, - { "glUniform4ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform4ui) }, - { "glUniform4ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4ui64ARB) }, - { "glUniform4ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4ui64NV) }, - { "glUniform4ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4ui64vARB) }, - { "glUniform4ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4ui64vNV) }, - { "glUniform4uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform4uiEXT) }, - { "glUniform4uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glUniform4uiv) }, - { "glUniform4uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform4uivEXT) }, - { "glUniformBlockBinding", "GL_ARB_uniform_buffer_object\0GL_VERSION_3_1\0", offsetof(struct opengl_funcs, p_glUniformBlockBinding) }, - { "glUniformBufferEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glUniformBufferEXT) }, - { "glUniformHandleui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64ARB) }, - { "glUniformHandleui64NV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64NV) }, - { "glUniformHandleui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64vARB) }, - { "glUniformHandleui64vNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64vNV) }, - { "glUniformMatrix2dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix2dv) }, - { "glUniformMatrix2fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix2fv) }, - { "glUniformMatrix2fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix2fvARB) }, - { "glUniformMatrix2x3dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x3dv) }, - { "glUniformMatrix2x3fv", "GL_VERSION_2_1\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x3fv) }, - { "glUniformMatrix2x4dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x4dv) }, - { "glUniformMatrix2x4fv", "GL_VERSION_2_1\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x4fv) }, - { "glUniformMatrix3dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix3dv) }, - { "glUniformMatrix3fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix3fv) }, - { "glUniformMatrix3fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix3fvARB) }, - { "glUniformMatrix3x2dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x2dv) }, - { "glUniformMatrix3x2fv", "GL_VERSION_2_1\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x2fv) }, - { "glUniformMatrix3x4dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x4dv) }, - { "glUniformMatrix3x4fv", "GL_VERSION_2_1\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x4fv) }, - { "glUniformMatrix4dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix4dv) }, - { "glUniformMatrix4fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix4fv) }, - { "glUniformMatrix4fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix4fvARB) }, - { "glUniformMatrix4x2dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x2dv) }, - { "glUniformMatrix4x2fv", "GL_VERSION_2_1\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x2fv) }, - { "glUniformMatrix4x3dv", "GL_ARB_gpu_shader_fp64\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x3dv) }, - { "glUniformMatrix4x3fv", "GL_VERSION_2_1\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x3fv) }, - { "glUniformSubroutinesuiv", "GL_ARB_shader_subroutine\0GL_VERSION_4_0\0", offsetof(struct opengl_funcs, p_glUniformSubroutinesuiv) }, - { "glUniformui64NV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glUniformui64NV) }, - { "glUniformui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glUniformui64vNV) }, - { "glUnlockArraysEXT", "GL_EXT_compiled_vertex_array\0", offsetof(struct opengl_funcs, p_glUnlockArraysEXT) }, - { "glUnmapBuffer", "GL_VERSION_1_5\0", offsetof(struct opengl_funcs, p_glUnmapBuffer) }, - { "glUnmapBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glUnmapBufferARB) }, - { "glUnmapNamedBuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glUnmapNamedBuffer) }, - { "glUnmapNamedBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glUnmapNamedBufferEXT) }, - { "glUnmapObjectBufferATI", "GL_ATI_map_object_buffer\0", offsetof(struct opengl_funcs, p_glUnmapObjectBufferATI) }, - { "glUnmapTexture2DINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glUnmapTexture2DINTEL) }, - { "glUpdateObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glUpdateObjectBufferATI) }, - { "glUploadGpuMaskNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glUploadGpuMaskNVX) }, - { "glUseProgram", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glUseProgram) }, - { "glUseProgramObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUseProgramObjectARB) }, - { "glUseProgramStages", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glUseProgramStages) }, - { "glUseShaderProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glUseShaderProgramEXT) }, - { "glVDPAUFiniNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUFiniNV) }, - { "glVDPAUGetSurfaceivNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUGetSurfaceivNV) }, - { "glVDPAUInitNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUInitNV) }, - { "glVDPAUIsSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUIsSurfaceNV) }, - { "glVDPAUMapSurfacesNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUMapSurfacesNV) }, - { "glVDPAURegisterOutputSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAURegisterOutputSurfaceNV) }, - { "glVDPAURegisterVideoSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceNV) }, - { "glVDPAURegisterVideoSurfaceWithPictureStructureNV", "GL_NV_vdpau_interop2\0", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceWithPictureStructureNV) }, - { "glVDPAUSurfaceAccessNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUSurfaceAccessNV) }, - { "glVDPAUUnmapSurfacesNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUUnmapSurfacesNV) }, - { "glVDPAUUnregisterSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUUnregisterSurfaceNV) }, - { "glValidateProgram", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glValidateProgram) }, - { "glValidateProgramARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glValidateProgramARB) }, - { "glValidateProgramPipeline", "GL_ARB_separate_shader_objects\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glValidateProgramPipeline) }, - { "glVariantArrayObjectATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glVariantArrayObjectATI) }, - { "glVariantPointerEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantPointerEXT) }, - { "glVariantbvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantbvEXT) }, - { "glVariantdvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantdvEXT) }, - { "glVariantfvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantfvEXT) }, - { "glVariantivEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantivEXT) }, - { "glVariantsvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantsvEXT) }, - { "glVariantubvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantubvEXT) }, - { "glVariantuivEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantuivEXT) }, - { "glVariantusvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantusvEXT) }, - { "glVertex2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex2bOES) }, - { "glVertex2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex2bvOES) }, - { "glVertex2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex2hNV) }, - { "glVertex2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex2hvNV) }, - { "glVertex2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex2xOES) }, - { "glVertex2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex2xvOES) }, - { "glVertex3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex3bOES) }, - { "glVertex3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex3bvOES) }, - { "glVertex3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex3hNV) }, - { "glVertex3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex3hvNV) }, - { "glVertex3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex3xOES) }, - { "glVertex3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex3xvOES) }, - { "glVertex4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex4bOES) }, - { "glVertex4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex4bvOES) }, - { "glVertex4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex4hNV) }, - { "glVertex4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex4hvNV) }, - { "glVertex4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex4xOES) }, - { "glVertex4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex4xvOES) }, - { "glVertexArrayAttribBinding", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribBinding) }, - { "glVertexArrayAttribFormat", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribFormat) }, - { "glVertexArrayAttribIFormat", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribIFormat) }, - { "glVertexArrayAttribLFormat", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribLFormat) }, - { "glVertexArrayBindVertexBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayBindVertexBufferEXT) }, - { "glVertexArrayBindingDivisor", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayBindingDivisor) }, - { "glVertexArrayColorOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayColorOffsetEXT) }, - { "glVertexArrayEdgeFlagOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayEdgeFlagOffsetEXT) }, - { "glVertexArrayElementBuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayElementBuffer) }, - { "glVertexArrayFogCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayFogCoordOffsetEXT) }, - { "glVertexArrayIndexOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayIndexOffsetEXT) }, - { "glVertexArrayMultiTexCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayMultiTexCoordOffsetEXT) }, - { "glVertexArrayNormalOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayNormalOffsetEXT) }, - { "glVertexArrayParameteriAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayParameteriAPPLE) }, - { "glVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayRangeAPPLE) }, - { "glVertexArrayRangeNV", "GL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayRangeNV) }, - { "glVertexArraySecondaryColorOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArraySecondaryColorOffsetEXT) }, - { "glVertexArrayTexCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayTexCoordOffsetEXT) }, - { "glVertexArrayVertexAttribBindingEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribBindingEXT) }, - { "glVertexArrayVertexAttribDivisorEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribDivisorEXT) }, - { "glVertexArrayVertexAttribFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribFormatEXT) }, - { "glVertexArrayVertexAttribIFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIFormatEXT) }, - { "glVertexArrayVertexAttribIOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIOffsetEXT) }, - { "glVertexArrayVertexAttribLFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLFormatEXT) }, - { "glVertexArrayVertexAttribLOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLOffsetEXT) }, - { "glVertexArrayVertexAttribOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribOffsetEXT) }, - { "glVertexArrayVertexBindingDivisorEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBindingDivisorEXT) }, - { "glVertexArrayVertexBuffer", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffer) }, - { "glVertexArrayVertexBuffers", "GL_ARB_direct_state_access\0GL_VERSION_4_5\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffers) }, - { "glVertexArrayVertexOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexOffsetEXT) }, - { "glVertexAttrib1d", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib1d) }, - { "glVertexAttrib1dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dARB) }, - { "glVertexAttrib1dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dNV) }, - { "glVertexAttrib1dv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dv) }, - { "glVertexAttrib1dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dvARB) }, - { "glVertexAttrib1dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dvNV) }, - { "glVertexAttrib1f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib1f) }, - { "glVertexAttrib1fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fARB) }, - { "glVertexAttrib1fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fNV) }, - { "glVertexAttrib1fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fv) }, - { "glVertexAttrib1fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fvARB) }, - { "glVertexAttrib1fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fvNV) }, - { "glVertexAttrib1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib1hNV) }, - { "glVertexAttrib1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib1hvNV) }, - { "glVertexAttrib1s", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib1s) }, - { "glVertexAttrib1sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sARB) }, - { "glVertexAttrib1sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sNV) }, - { "glVertexAttrib1sv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sv) }, - { "glVertexAttrib1svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1svARB) }, - { "glVertexAttrib1svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1svNV) }, - { "glVertexAttrib2d", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib2d) }, - { "glVertexAttrib2dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dARB) }, - { "glVertexAttrib2dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dNV) }, - { "glVertexAttrib2dv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dv) }, - { "glVertexAttrib2dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dvARB) }, - { "glVertexAttrib2dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dvNV) }, - { "glVertexAttrib2f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib2f) }, - { "glVertexAttrib2fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fARB) }, - { "glVertexAttrib2fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fNV) }, - { "glVertexAttrib2fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fv) }, - { "glVertexAttrib2fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fvARB) }, - { "glVertexAttrib2fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fvNV) }, - { "glVertexAttrib2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib2hNV) }, - { "glVertexAttrib2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib2hvNV) }, - { "glVertexAttrib2s", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib2s) }, - { "glVertexAttrib2sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sARB) }, - { "glVertexAttrib2sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sNV) }, - { "glVertexAttrib2sv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sv) }, - { "glVertexAttrib2svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2svARB) }, - { "glVertexAttrib2svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2svNV) }, - { "glVertexAttrib3d", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib3d) }, - { "glVertexAttrib3dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dARB) }, - { "glVertexAttrib3dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dNV) }, - { "glVertexAttrib3dv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dv) }, - { "glVertexAttrib3dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dvARB) }, - { "glVertexAttrib3dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dvNV) }, - { "glVertexAttrib3f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib3f) }, - { "glVertexAttrib3fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fARB) }, - { "glVertexAttrib3fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fNV) }, - { "glVertexAttrib3fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fv) }, - { "glVertexAttrib3fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fvARB) }, - { "glVertexAttrib3fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fvNV) }, - { "glVertexAttrib3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib3hNV) }, - { "glVertexAttrib3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib3hvNV) }, - { "glVertexAttrib3s", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib3s) }, - { "glVertexAttrib3sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sARB) }, - { "glVertexAttrib3sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sNV) }, - { "glVertexAttrib3sv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sv) }, - { "glVertexAttrib3svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3svARB) }, - { "glVertexAttrib3svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3svNV) }, - { "glVertexAttrib4Nbv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nbv) }, - { "glVertexAttrib4NbvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NbvARB) }, - { "glVertexAttrib4Niv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Niv) }, - { "glVertexAttrib4NivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NivARB) }, - { "glVertexAttrib4Nsv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nsv) }, - { "glVertexAttrib4NsvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NsvARB) }, - { "glVertexAttrib4Nub", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nub) }, - { "glVertexAttrib4NubARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NubARB) }, - { "glVertexAttrib4Nubv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nubv) }, - { "glVertexAttrib4NubvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NubvARB) }, - { "glVertexAttrib4Nuiv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nuiv) }, - { "glVertexAttrib4NuivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NuivARB) }, - { "glVertexAttrib4Nusv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nusv) }, - { "glVertexAttrib4NusvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NusvARB) }, - { "glVertexAttrib4bv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4bv) }, - { "glVertexAttrib4bvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4bvARB) }, - { "glVertexAttrib4d", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4d) }, - { "glVertexAttrib4dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dARB) }, - { "glVertexAttrib4dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dNV) }, - { "glVertexAttrib4dv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dv) }, - { "glVertexAttrib4dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dvARB) }, - { "glVertexAttrib4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dvNV) }, - { "glVertexAttrib4f", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4f) }, - { "glVertexAttrib4fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fARB) }, - { "glVertexAttrib4fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fNV) }, - { "glVertexAttrib4fv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fv) }, - { "glVertexAttrib4fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fvARB) }, - { "glVertexAttrib4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fvNV) }, - { "glVertexAttrib4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib4hNV) }, - { "glVertexAttrib4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib4hvNV) }, - { "glVertexAttrib4iv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4iv) }, - { "glVertexAttrib4ivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ivARB) }, - { "glVertexAttrib4s", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4s) }, - { "glVertexAttrib4sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sARB) }, - { "glVertexAttrib4sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sNV) }, - { "glVertexAttrib4sv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sv) }, - { "glVertexAttrib4svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4svARB) }, - { "glVertexAttrib4svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4svNV) }, - { "glVertexAttrib4ubNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubNV) }, - { "glVertexAttrib4ubv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubv) }, - { "glVertexAttrib4ubvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvARB) }, - { "glVertexAttrib4ubvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvNV) }, - { "glVertexAttrib4uiv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4uiv) }, - { "glVertexAttrib4uivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4uivARB) }, - { "glVertexAttrib4usv", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttrib4usv) }, - { "glVertexAttrib4usvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4usvARB) }, - { "glVertexAttribArrayObjectATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glVertexAttribArrayObjectATI) }, - { "glVertexAttribBinding", "GL_ARB_vertex_attrib_binding\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glVertexAttribBinding) }, - { "glVertexAttribDivisor", "GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisor) }, - { "glVertexAttribDivisorARB", "GL_ARB_instanced_arrays\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisorARB) }, - { "glVertexAttribFormat", "GL_ARB_vertex_attrib_binding\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glVertexAttribFormat) }, - { "glVertexAttribFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexAttribFormatNV) }, - { "glVertexAttribI1i", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI1i) }, - { "glVertexAttribI1iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1iEXT) }, - { "glVertexAttribI1iv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI1iv) }, - { "glVertexAttribI1ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1ivEXT) }, - { "glVertexAttribI1ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI1ui) }, - { "glVertexAttribI1uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uiEXT) }, - { "glVertexAttribI1uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uiv) }, - { "glVertexAttribI1uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uivEXT) }, - { "glVertexAttribI2i", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI2i) }, - { "glVertexAttribI2iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2iEXT) }, - { "glVertexAttribI2iv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI2iv) }, - { "glVertexAttribI2ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2ivEXT) }, - { "glVertexAttribI2ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI2ui) }, - { "glVertexAttribI2uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uiEXT) }, - { "glVertexAttribI2uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uiv) }, - { "glVertexAttribI2uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uivEXT) }, - { "glVertexAttribI3i", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI3i) }, - { "glVertexAttribI3iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3iEXT) }, - { "glVertexAttribI3iv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI3iv) }, - { "glVertexAttribI3ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3ivEXT) }, - { "glVertexAttribI3ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI3ui) }, - { "glVertexAttribI3uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uiEXT) }, - { "glVertexAttribI3uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uiv) }, - { "glVertexAttribI3uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uivEXT) }, - { "glVertexAttribI4bv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4bv) }, - { "glVertexAttribI4bvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4bvEXT) }, - { "glVertexAttribI4i", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4i) }, - { "glVertexAttribI4iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4iEXT) }, - { "glVertexAttribI4iv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4iv) }, - { "glVertexAttribI4ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ivEXT) }, - { "glVertexAttribI4sv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4sv) }, - { "glVertexAttribI4svEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4svEXT) }, - { "glVertexAttribI4ubv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ubv) }, - { "glVertexAttribI4ubvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ubvEXT) }, - { "glVertexAttribI4ui", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ui) }, - { "glVertexAttribI4uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uiEXT) }, - { "glVertexAttribI4uiv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uiv) }, - { "glVertexAttribI4uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uivEXT) }, - { "glVertexAttribI4usv", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribI4usv) }, - { "glVertexAttribI4usvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4usvEXT) }, - { "glVertexAttribIFormat", "GL_ARB_vertex_attrib_binding\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glVertexAttribIFormat) }, - { "glVertexAttribIFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexAttribIFormatNV) }, - { "glVertexAttribIPointer", "GL_VERSION_3_0\0", offsetof(struct opengl_funcs, p_glVertexAttribIPointer) }, - { "glVertexAttribIPointerEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribIPointerEXT) }, - { "glVertexAttribL1d", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL1d) }, - { "glVertexAttribL1dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dEXT) }, - { "glVertexAttribL1dv", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dv) }, - { "glVertexAttribL1dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dvEXT) }, - { "glVertexAttribL1i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1i64NV) }, - { "glVertexAttribL1i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1i64vNV) }, - { "glVertexAttribL1ui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64ARB) }, - { "glVertexAttribL1ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64NV) }, - { "glVertexAttribL1ui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vARB) }, - { "glVertexAttribL1ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vNV) }, - { "glVertexAttribL2d", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL2d) }, - { "glVertexAttribL2dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dEXT) }, - { "glVertexAttribL2dv", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dv) }, - { "glVertexAttribL2dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dvEXT) }, - { "glVertexAttribL2i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2i64NV) }, - { "glVertexAttribL2i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2i64vNV) }, - { "glVertexAttribL2ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64NV) }, - { "glVertexAttribL2ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64vNV) }, - { "glVertexAttribL3d", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL3d) }, - { "glVertexAttribL3dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dEXT) }, - { "glVertexAttribL3dv", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dv) }, - { "glVertexAttribL3dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dvEXT) }, - { "glVertexAttribL3i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3i64NV) }, - { "glVertexAttribL3i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3i64vNV) }, - { "glVertexAttribL3ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64NV) }, - { "glVertexAttribL3ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64vNV) }, - { "glVertexAttribL4d", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL4d) }, - { "glVertexAttribL4dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dEXT) }, - { "glVertexAttribL4dv", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dv) }, - { "glVertexAttribL4dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dvEXT) }, - { "glVertexAttribL4i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4i64NV) }, - { "glVertexAttribL4i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4i64vNV) }, - { "glVertexAttribL4ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64NV) }, - { "glVertexAttribL4ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64vNV) }, - { "glVertexAttribLFormat", "GL_ARB_vertex_attrib_binding\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glVertexAttribLFormat) }, - { "glVertexAttribLFormatNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLFormatNV) }, - { "glVertexAttribLPointer", "GL_ARB_vertex_attrib_64bit\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glVertexAttribLPointer) }, - { "glVertexAttribLPointerEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLPointerEXT) }, - { "glVertexAttribP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP1ui) }, - { "glVertexAttribP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP1uiv) }, - { "glVertexAttribP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP2ui) }, - { "glVertexAttribP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP2uiv) }, - { "glVertexAttribP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP3ui) }, - { "glVertexAttribP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP3uiv) }, - { "glVertexAttribP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP4ui) }, - { "glVertexAttribP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexAttribP4uiv) }, - { "glVertexAttribParameteriAMD", "GL_AMD_interleaved_elements\0", offsetof(struct opengl_funcs, p_glVertexAttribParameteriAMD) }, - { "glVertexAttribPointer", "GL_VERSION_2_0\0", offsetof(struct opengl_funcs, p_glVertexAttribPointer) }, - { "glVertexAttribPointerARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttribPointerARB) }, - { "glVertexAttribPointerNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribPointerNV) }, - { "glVertexAttribs1dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1dvNV) }, - { "glVertexAttribs1fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1fvNV) }, - { "glVertexAttribs1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs1hvNV) }, - { "glVertexAttribs1svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1svNV) }, - { "glVertexAttribs2dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2dvNV) }, - { "glVertexAttribs2fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2fvNV) }, - { "glVertexAttribs2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs2hvNV) }, - { "glVertexAttribs2svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2svNV) }, - { "glVertexAttribs3dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3dvNV) }, - { "glVertexAttribs3fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3fvNV) }, - { "glVertexAttribs3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs3hvNV) }, - { "glVertexAttribs3svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3svNV) }, - { "glVertexAttribs4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4dvNV) }, - { "glVertexAttribs4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4fvNV) }, - { "glVertexAttribs4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs4hvNV) }, - { "glVertexAttribs4svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4svNV) }, - { "glVertexAttribs4ubvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4ubvNV) }, - { "glVertexBindingDivisor", "GL_ARB_vertex_attrib_binding\0GL_VERSION_4_3\0", offsetof(struct opengl_funcs, p_glVertexBindingDivisor) }, - { "glVertexBlendARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glVertexBlendARB) }, - { "glVertexBlendEnvfATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexBlendEnvfATI) }, - { "glVertexBlendEnviATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexBlendEnviATI) }, - { "glVertexFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexFormatNV) }, - { "glVertexP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexP2ui) }, - { "glVertexP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexP2uiv) }, - { "glVertexP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexP3ui) }, - { "glVertexP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexP3uiv) }, - { "glVertexP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexP4ui) }, - { "glVertexP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0GL_VERSION_3_3\0", offsetof(struct opengl_funcs, p_glVertexP4uiv) }, - { "glVertexPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glVertexPointerEXT) }, - { "glVertexPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glVertexPointerListIBM) }, - { "glVertexPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glVertexPointervINTEL) }, - { "glVertexStream1dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1dATI) }, - { "glVertexStream1dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1dvATI) }, - { "glVertexStream1fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1fATI) }, - { "glVertexStream1fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1fvATI) }, - { "glVertexStream1iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1iATI) }, - { "glVertexStream1ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1ivATI) }, - { "glVertexStream1sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1sATI) }, - { "glVertexStream1svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1svATI) }, - { "glVertexStream2dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2dATI) }, - { "glVertexStream2dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2dvATI) }, - { "glVertexStream2fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2fATI) }, - { "glVertexStream2fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2fvATI) }, - { "glVertexStream2iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2iATI) }, - { "glVertexStream2ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2ivATI) }, - { "glVertexStream2sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2sATI) }, - { "glVertexStream2svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2svATI) }, - { "glVertexStream3dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3dATI) }, - { "glVertexStream3dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3dvATI) }, - { "glVertexStream3fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3fATI) }, - { "glVertexStream3fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3fvATI) }, - { "glVertexStream3iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3iATI) }, - { "glVertexStream3ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3ivATI) }, - { "glVertexStream3sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3sATI) }, - { "glVertexStream3svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3svATI) }, - { "glVertexStream4dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4dATI) }, - { "glVertexStream4dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4dvATI) }, - { "glVertexStream4fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4fATI) }, - { "glVertexStream4fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4fvATI) }, - { "glVertexStream4iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4iATI) }, - { "glVertexStream4ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4ivATI) }, - { "glVertexStream4sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4sATI) }, - { "glVertexStream4svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4svATI) }, - { "glVertexWeightPointerEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightPointerEXT) }, - { "glVertexWeightfEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightfEXT) }, - { "glVertexWeightfvEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightfvEXT) }, - { "glVertexWeighthNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexWeighthNV) }, - { "glVertexWeighthvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexWeighthvNV) }, - { "glVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureNV) }, - { "glVideoCaptureStreamParameterdvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterdvNV) }, - { "glVideoCaptureStreamParameterfvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterfvNV) }, - { "glVideoCaptureStreamParameterivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterivNV) }, - { "glViewportArrayv", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glViewportArrayv) }, - { "glViewportIndexedf", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glViewportIndexedf) }, - { "glViewportIndexedfv", "GL_ARB_viewport_array\0GL_VERSION_4_1\0", offsetof(struct opengl_funcs, p_glViewportIndexedfv) }, - { "glViewportPositionWScaleNV", "GL_NV_clip_space_w_scaling\0", offsetof(struct opengl_funcs, p_glViewportPositionWScaleNV) }, - { "glViewportSwizzleNV", "GL_NV_viewport_swizzle\0", offsetof(struct opengl_funcs, p_glViewportSwizzleNV) }, - { "glWaitSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glWaitSemaphoreEXT) }, - { "glWaitSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glWaitSemaphoreui64NVX) }, - { "glWaitSync", "GL_ARB_sync\0GL_VERSION_3_2\0", offsetof(struct opengl_funcs, p_glWaitSync) }, - { "glWaitVkSemaphoreNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glWaitVkSemaphoreNV) }, - { "glWeightPathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glWeightPathsNV) }, - { "glWeightPointerARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightPointerARB) }, - { "glWeightbvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightbvARB) }, - { "glWeightdvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightdvARB) }, - { "glWeightfvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightfvARB) }, - { "glWeightivARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightivARB) }, - { "glWeightsvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightsvARB) }, - { "glWeightubvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightubvARB) }, - { "glWeightuivARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightuivARB) }, - { "glWeightusvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightusvARB) }, - { "glWindowPos2d", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2d) }, - { "glWindowPos2dARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dARB) }, - { "glWindowPos2dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dMESA) }, - { "glWindowPos2dv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2dv) }, - { "glWindowPos2dvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dvARB) }, - { "glWindowPos2dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dvMESA) }, - { "glWindowPos2f", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2f) }, - { "glWindowPos2fARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fARB) }, - { "glWindowPos2fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fMESA) }, - { "glWindowPos2fv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2fv) }, - { "glWindowPos2fvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fvARB) }, - { "glWindowPos2fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fvMESA) }, - { "glWindowPos2i", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2i) }, - { "glWindowPos2iARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2iARB) }, - { "glWindowPos2iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2iMESA) }, - { "glWindowPos2iv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2iv) }, - { "glWindowPos2ivARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2ivARB) }, - { "glWindowPos2ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2ivMESA) }, - { "glWindowPos2s", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2s) }, - { "glWindowPos2sARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2sARB) }, - { "glWindowPos2sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2sMESA) }, - { "glWindowPos2sv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos2sv) }, - { "glWindowPos2svARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2svARB) }, - { "glWindowPos2svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2svMESA) }, - { "glWindowPos3d", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3d) }, - { "glWindowPos3dARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dARB) }, - { "glWindowPos3dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dMESA) }, - { "glWindowPos3dv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3dv) }, - { "glWindowPos3dvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dvARB) }, - { "glWindowPos3dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dvMESA) }, - { "glWindowPos3f", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3f) }, - { "glWindowPos3fARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fARB) }, - { "glWindowPos3fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fMESA) }, - { "glWindowPos3fv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3fv) }, - { "glWindowPos3fvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fvARB) }, - { "glWindowPos3fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fvMESA) }, - { "glWindowPos3i", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3i) }, - { "glWindowPos3iARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3iARB) }, - { "glWindowPos3iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3iMESA) }, - { "glWindowPos3iv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3iv) }, - { "glWindowPos3ivARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3ivARB) }, - { "glWindowPos3ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3ivMESA) }, - { "glWindowPos3s", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3s) }, - { "glWindowPos3sARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3sARB) }, - { "glWindowPos3sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3sMESA) }, - { "glWindowPos3sv", "GL_VERSION_1_4\0", offsetof(struct opengl_funcs, p_glWindowPos3sv) }, - { "glWindowPos3svARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3svARB) }, - { "glWindowPos3svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3svMESA) }, - { "glWindowPos4dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4dMESA) }, - { "glWindowPos4dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4dvMESA) }, - { "glWindowPos4fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4fMESA) }, - { "glWindowPos4fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4fvMESA) }, - { "glWindowPos4iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4iMESA) }, - { "glWindowPos4ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4ivMESA) }, - { "glWindowPos4sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4sMESA) }, - { "glWindowPos4svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4svMESA) }, - { "glWindowRectanglesEXT", "GL_EXT_window_rectangles\0", offsetof(struct opengl_funcs, p_glWindowRectanglesEXT) }, - { "glWriteMaskEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glWriteMaskEXT) }, - { "wglAllocateMemoryNV", "WGL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_wglAllocateMemoryNV) }, - { "wglBindTexImageARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglBindTexImageARB) }, - { "wglChoosePixelFormatARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglChoosePixelFormatARB) }, - { "wglCreateContextAttribsARB", "WGL_ARB_create_context\0", offsetof(struct opengl_funcs, p_wglCreateContextAttribsARB) }, - { "wglCreatePbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglCreatePbufferARB) }, - { "wglDestroyPbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglDestroyPbufferARB) }, - { "wglFreeMemoryNV", "WGL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_wglFreeMemoryNV) }, - { "wglGetCurrentReadDCARB", "WGL_ARB_make_current_read\0", offsetof(struct opengl_funcs, p_wglGetCurrentReadDCARB) }, - { "wglGetExtensionsStringARB", "WGL_ARB_extensions_string\0", offsetof(struct opengl_funcs, p_wglGetExtensionsStringARB) }, - { "wglGetExtensionsStringEXT", "WGL_EXT_extensions_string\0", offsetof(struct opengl_funcs, p_wglGetExtensionsStringEXT) }, - { "wglGetPbufferDCARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglGetPbufferDCARB) }, - { "wglGetPixelFormatAttribfvARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribfvARB) }, - { "wglGetPixelFormatAttribivARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribivARB) }, - { "wglGetSwapIntervalEXT", "WGL_EXT_swap_control\0", offsetof(struct opengl_funcs, p_wglGetSwapIntervalEXT) }, - { "wglMakeContextCurrentARB", "WGL_ARB_make_current_read\0", offsetof(struct opengl_funcs, p_wglMakeContextCurrentARB) }, - { "wglQueryCurrentRendererIntegerWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererIntegerWINE) }, - { "wglQueryCurrentRendererStringWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererStringWINE) }, - { "wglQueryPbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglQueryPbufferARB) }, - { "wglQueryRendererIntegerWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryRendererIntegerWINE) }, - { "wglQueryRendererStringWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryRendererStringWINE) }, - { "wglReleasePbufferDCARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglReleasePbufferDCARB) }, - { "wglReleaseTexImageARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglReleaseTexImageARB) }, - { "wglSetPbufferAttribARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglSetPbufferAttribARB) }, - { "wglSetPixelFormatWINE", "WGL_WINE_pixel_format_passthrough\0", offsetof(struct opengl_funcs, p_wglSetPixelFormatWINE) }, - { "wglSwapIntervalEXT", "WGL_EXT_swap_control\0", offsetof(struct opengl_funcs, p_wglSwapIntervalEXT) }, + { "glAccumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glAccumxOES), 0, 0 }, + { "glAcquireKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex\0", offsetof(struct opengl_funcs, p_glAcquireKeyedMutexWin32EXT), 0, 0 }, + { "glActiveProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glActiveProgramEXT), 0, 0 }, + { "glActiveShaderProgram", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glActiveShaderProgram), 4, 1 }, + { "glActiveStencilFaceEXT", "GL_EXT_stencil_two_side\0", offsetof(struct opengl_funcs, p_glActiveStencilFaceEXT), 0, 0 }, + { "glActiveTexture", "\0", offsetof(struct opengl_funcs, p_glActiveTexture), 1, 3 }, + { "glActiveTextureARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glActiveTextureARB), 0, 0 }, + { "glActiveVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glActiveVaryingNV), 0, 0 }, + { "glAlphaFragmentOp1ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp1ATI), 0, 0 }, + { "glAlphaFragmentOp2ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp2ATI), 0, 0 }, + { "glAlphaFragmentOp3ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp3ATI), 0, 0 }, + { "glAlphaFuncx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glAlphaFuncx), 0, 0 }, + { "glAlphaFuncxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glAlphaFuncxOES), 0, 0 }, + { "glAlphaToCoverageDitherControlNV", "GL_NV_alpha_to_coverage_dither_control\0", offsetof(struct opengl_funcs, p_glAlphaToCoverageDitherControlNV), 0, 0 }, + { "glApplyFramebufferAttachmentCMAAINTEL", "GL_INTEL_framebuffer_CMAA\0", offsetof(struct opengl_funcs, p_glApplyFramebufferAttachmentCMAAINTEL), 0, 0 }, + { "glApplyTextureEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glApplyTextureEXT), 0, 0 }, + { "glAreProgramsResidentNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glAreProgramsResidentNV), 0, 0 }, + { "glAreTexturesResidentEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glAreTexturesResidentEXT), 0, 0 }, + { "glArrayElementEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glArrayElementEXT), 0, 0 }, + { "glArrayObjectATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glArrayObjectATI), 0, 0 }, + { "glAsyncCopyBufferSubDataNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glAsyncCopyBufferSubDataNVX), 0, 0 }, + { "glAsyncCopyImageSubDataNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glAsyncCopyImageSubDataNVX), 0, 0 }, + { "glAsyncMarkerSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glAsyncMarkerSGIX), 0, 0 }, + { "glAttachObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glAttachObjectARB), 0, 0 }, + { "glAttachShader", "\0", offsetof(struct opengl_funcs, p_glAttachShader), 2, 0 }, + { "glBeginConditionalRender", "\0", offsetof(struct opengl_funcs, p_glBeginConditionalRender), 3, 0 }, + { "glBeginConditionalRenderNV", "GL_NV_conditional_render\0", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNV), 0, 0 }, + { "glBeginConditionalRenderNVX", "GL_NVX_conditional_render\0", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNVX), 0, 0 }, + { "glBeginFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glBeginFragmentShaderATI), 0, 0 }, + { "glBeginOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glBeginOcclusionQueryNV), 0, 0 }, + { "glBeginPerfMonitorAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glBeginPerfMonitorAMD), 0, 0 }, + { "glBeginPerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glBeginPerfQueryINTEL), 0, 0 }, + { "glBeginQuery", "\0", offsetof(struct opengl_funcs, p_glBeginQuery), 1, 5 }, + { "glBeginQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glBeginQueryARB), 0, 0 }, + { "glBeginQueryIndexed", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glBeginQueryIndexed), 4, 0 }, + { "glBeginTransformFeedback", "\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedback), 3, 0 }, + { "glBeginTransformFeedbackEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackEXT), 0, 0 }, + { "glBeginTransformFeedbackNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackNV), 0, 0 }, + { "glBeginVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBeginVertexShaderEXT), 0, 0 }, + { "glBeginVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBeginVideoCaptureNV), 0, 0 }, + { "glBindAttribLocation", "\0", offsetof(struct opengl_funcs, p_glBindAttribLocation), 2, 0 }, + { "glBindAttribLocationARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindAttribLocationARB), 0, 0 }, + { "glBindBuffer", "\0", offsetof(struct opengl_funcs, p_glBindBuffer), 1, 5 }, + { "glBindBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBindBufferARB), 0, 0 }, + { "glBindBufferBase", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glBindBufferBase), 3, 0 }, + { "glBindBufferBaseEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferBaseEXT), 0, 0 }, + { "glBindBufferBaseNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferBaseNV), 0, 0 }, + { "glBindBufferOffsetEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferOffsetEXT), 0, 0 }, + { "glBindBufferOffsetNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferOffsetNV), 0, 0 }, + { "glBindBufferRange", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glBindBufferRange), 3, 0 }, + { "glBindBufferRangeEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferRangeEXT), 0, 0 }, + { "glBindBufferRangeNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferRangeNV), 0, 0 }, + { "glBindBuffersBase", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindBuffersBase), 4, 4 }, + { "glBindBuffersRange", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindBuffersRange), 4, 4 }, + { "glBindFragDataLocation", "\0", offsetof(struct opengl_funcs, p_glBindFragDataLocation), 3, 0 }, + { "glBindFragDataLocationEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationEXT), 0, 0 }, + { "glBindFragDataLocationIndexed", "GL_ARB_blend_func_extended\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationIndexed), 3, 3 }, + { "glBindFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glBindFragmentShaderATI), 0, 0 }, + { "glBindFramebuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindFramebuffer), 3, 0 }, + { "glBindFramebufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindFramebufferEXT), 0, 0 }, + { "glBindImageTexture", "GL_ARB_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glBindImageTexture), 4, 2 }, + { "glBindImageTextureEXT", "GL_EXT_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glBindImageTextureEXT), 0, 0 }, + { "glBindImageTextures", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindImageTextures), 4, 4 }, + { "glBindLightParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindLightParameterEXT), 0, 0 }, + { "glBindMaterialParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindMaterialParameterEXT), 0, 0 }, + { "glBindMultiTextureEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glBindMultiTextureEXT), 0, 0 }, + { "glBindParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindParameterEXT), 0, 0 }, + { "glBindProgramARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glBindProgramARB), 0, 0 }, + { "glBindProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glBindProgramNV), 0, 0 }, + { "glBindProgramPipeline", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glBindProgramPipeline), 4, 1 }, + { "glBindRenderbuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindRenderbuffer), 3, 0 }, + { "glBindRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindRenderbufferEXT), 0, 0 }, + { "glBindSampler", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glBindSampler), 3, 3 }, + { "glBindSamplers", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindSamplers), 4, 4 }, + { "glBindShadingRateImageNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glBindShadingRateImageNV), 0, 0 }, + { "glBindTexGenParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindTexGenParameterEXT), 0, 0 }, + { "glBindTextureEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glBindTextureEXT), 0, 0 }, + { "glBindTextureUnit", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glBindTextureUnit), 4, 5 }, + { "glBindTextureUnitParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindTextureUnitParameterEXT), 0, 0 }, + { "glBindTextures", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindTextures), 4, 4 }, + { "glBindTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glBindTransformFeedback), 4, 0 }, + { "glBindTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glBindTransformFeedbackNV), 0, 0 }, + { "glBindVertexArray", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glBindVertexArray), 3, 0 }, + { "glBindVertexArrayAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glBindVertexArrayAPPLE), 0, 0 }, + { "glBindVertexBuffer", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glBindVertexBuffer), 4, 3 }, + { "glBindVertexBuffers", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindVertexBuffers), 4, 4 }, + { "glBindVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindVertexShaderEXT), 0, 0 }, + { "glBindVideoCaptureStreamBufferNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamBufferNV), 0, 0 }, + { "glBindVideoCaptureStreamTextureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamTextureNV), 0, 0 }, + { "glBinormal3bEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3bEXT), 0, 0 }, + { "glBinormal3bvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3bvEXT), 0, 0 }, + { "glBinormal3dEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3dEXT), 0, 0 }, + { "glBinormal3dvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3dvEXT), 0, 0 }, + { "glBinormal3fEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3fEXT), 0, 0 }, + { "glBinormal3fvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3fvEXT), 0, 0 }, + { "glBinormal3iEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3iEXT), 0, 0 }, + { "glBinormal3ivEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3ivEXT), 0, 0 }, + { "glBinormal3sEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3sEXT), 0, 0 }, + { "glBinormal3svEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3svEXT), 0, 0 }, + { "glBinormalPointerEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormalPointerEXT), 0, 0 }, + { "glBitmapxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glBitmapxOES), 0, 0 }, + { "glBlendBarrier", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glBlendBarrier), 0, 0 }, + { "glBlendBarrierKHR", "GL_KHR_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendBarrierKHR), 0, 0 }, + { "glBlendBarrierNV", "GL_NV_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendBarrierNV), 0, 0 }, + { "glBlendColor", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glBlendColor), 1, 4 }, + { "glBlendColorEXT", "GL_EXT_blend_color\0", offsetof(struct opengl_funcs, p_glBlendColorEXT), 0, 0 }, + { "glBlendColorxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glBlendColorxOES), 0, 0 }, + { "glBlendEquation", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glBlendEquation), 1, 4 }, + { "glBlendEquationEXT", "GL_EXT_blend_minmax\0", offsetof(struct opengl_funcs, p_glBlendEquationEXT), 0, 0 }, + { "glBlendEquationIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationIndexedAMD), 0, 0 }, + { "glBlendEquationSeparate", "\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparate), 2, 0 }, + { "glBlendEquationSeparateEXT", "GL_ATI_blend_equation_separate\0GL_EXT_blend_equation_separate\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateEXT), 0, 0 }, + { "glBlendEquationSeparateIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateIndexedAMD), 0, 0 }, + { "glBlendEquationSeparatei", "\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparatei), 4, 0 }, + { "glBlendEquationSeparateiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateiARB), 0, 0 }, + { "glBlendEquationi", "\0", offsetof(struct opengl_funcs, p_glBlendEquationi), 4, 0 }, + { "glBlendEquationiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationiARB), 0, 0 }, + { "glBlendFuncIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncIndexedAMD), 0, 0 }, + { "glBlendFuncSeparate", "\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparate), 1, 4 }, + { "glBlendFuncSeparateEXT", "GL_EXT_blend_func_separate\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateEXT), 0, 0 }, + { "glBlendFuncSeparateINGR", "GL_INGR_blend_func_separate\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateINGR), 0, 0 }, + { "glBlendFuncSeparateIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateIndexedAMD), 0, 0 }, + { "glBlendFuncSeparatei", "\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparatei), 4, 0 }, + { "glBlendFuncSeparateiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateiARB), 0, 0 }, + { "glBlendFunci", "\0", offsetof(struct opengl_funcs, p_glBlendFunci), 4, 0 }, + { "glBlendFunciARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFunciARB), 0, 0 }, + { "glBlendParameteriNV", "GL_NV_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendParameteriNV), 0, 0 }, + { "glBlitFramebuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBlitFramebuffer), 3, 0 }, + { "glBlitFramebufferEXT", "GL_EXT_framebuffer_blit\0", offsetof(struct opengl_funcs, p_glBlitFramebufferEXT), 0, 0 }, + { "glBlitFramebufferLayerEXT", "GL_EXT_framebuffer_blit_layers\0", offsetof(struct opengl_funcs, p_glBlitFramebufferLayerEXT), 0, 0 }, + { "glBlitFramebufferLayersEXT", "GL_EXT_framebuffer_blit_layers\0", offsetof(struct opengl_funcs, p_glBlitFramebufferLayersEXT), 0, 0 }, + { "glBlitNamedFramebuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glBlitNamedFramebuffer), 4, 5 }, + { "glBufferAddressRangeNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glBufferAddressRangeNV), 0, 0 }, + { "glBufferAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glBufferAttachMemoryNV), 0, 0 }, + { "glBufferData", "\0", offsetof(struct opengl_funcs, p_glBufferData), 1, 5 }, + { "glBufferDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBufferDataARB), 0, 0 }, + { "glBufferPageCommitmentARB", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glBufferPageCommitmentARB), 0, 0 }, + { "glBufferPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glBufferPageCommitmentMemNV), 0, 0 }, + { "glBufferParameteriAPPLE", "GL_APPLE_flush_buffer_range\0", offsetof(struct opengl_funcs, p_glBufferParameteriAPPLE), 0, 0 }, + { "glBufferRegionEnabled", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glBufferRegionEnabled), 0, 0 }, + { "glBufferStorage", "GL_ARB_buffer_storage\0", offsetof(struct opengl_funcs, p_glBufferStorage), 4, 4 }, + { "glBufferStorageExternalEXT", "GL_EXT_external_buffer\0", offsetof(struct opengl_funcs, p_glBufferStorageExternalEXT), 0, 0 }, + { "glBufferStorageMemEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glBufferStorageMemEXT), 0, 0 }, + { "glBufferSubData", "\0", offsetof(struct opengl_funcs, p_glBufferSubData), 1, 5 }, + { "glBufferSubDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBufferSubDataARB), 0, 0 }, + { "glCallCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCallCommandListNV), 0, 0 }, + { "glCheckFramebufferStatus", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glCheckFramebufferStatus), 3, 0 }, + { "glCheckFramebufferStatusEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glCheckFramebufferStatusEXT), 0, 0 }, + { "glCheckNamedFramebufferStatus", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatus), 4, 5 }, + { "glCheckNamedFramebufferStatusEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatusEXT), 0, 0 }, + { "glClampColor", "\0", offsetof(struct opengl_funcs, p_glClampColor), 3, 0 }, + { "glClampColorARB", "GL_ARB_color_buffer_float\0", offsetof(struct opengl_funcs, p_glClampColorARB), 0, 0 }, + { "glClearAccumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearAccumxOES), 0, 0 }, + { "glClearBufferData", "GL_ARB_clear_buffer_object\0", offsetof(struct opengl_funcs, p_glClearBufferData), 4, 3 }, + { "glClearBufferSubData", "GL_ARB_clear_buffer_object\0", offsetof(struct opengl_funcs, p_glClearBufferSubData), 4, 3 }, + { "glClearBufferfi", "\0", offsetof(struct opengl_funcs, p_glClearBufferfi), 3, 0 }, + { "glClearBufferfv", "\0", offsetof(struct opengl_funcs, p_glClearBufferfv), 3, 0 }, + { "glClearBufferiv", "\0", offsetof(struct opengl_funcs, p_glClearBufferiv), 3, 0 }, + { "glClearBufferuiv", "\0", offsetof(struct opengl_funcs, p_glClearBufferuiv), 3, 0 }, + { "glClearColorIiEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glClearColorIiEXT), 0, 0 }, + { "glClearColorIuiEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glClearColorIuiEXT), 0, 0 }, + { "glClearColorx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClearColorx), 0, 0 }, + { "glClearColorxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearColorxOES), 0, 0 }, + { "glClearDepthdNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glClearDepthdNV), 0, 0 }, + { "glClearDepthf", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glClearDepthf), 4, 1 }, + { "glClearDepthfOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glClearDepthfOES), 0, 0 }, + { "glClearDepthx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClearDepthx), 0, 0 }, + { "glClearDepthxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearDepthxOES), 0, 0 }, + { "glClearNamedBufferData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferData), 4, 5 }, + { "glClearNamedBufferDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferDataEXT), 0, 0 }, + { "glClearNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferSubData), 4, 5 }, + { "glClearNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferSubDataEXT), 0, 0 }, + { "glClearNamedFramebufferfi", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfi), 4, 5 }, + { "glClearNamedFramebufferfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfv), 4, 5 }, + { "glClearNamedFramebufferiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferiv), 4, 5 }, + { "glClearNamedFramebufferuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferuiv), 4, 5 }, + { "glClearTexImage", "GL_ARB_clear_texture\0", offsetof(struct opengl_funcs, p_glClearTexImage), 4, 4 }, + { "glClearTexSubImage", "GL_ARB_clear_texture\0", offsetof(struct opengl_funcs, p_glClearTexSubImage), 4, 4 }, + { "glClientActiveTexture", "\0", offsetof(struct opengl_funcs, p_glClientActiveTexture), 1, 3 }, + { "glClientActiveTextureARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glClientActiveTextureARB), 0, 0 }, + { "glClientActiveVertexStreamATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glClientActiveVertexStreamATI), 0, 0 }, + { "glClientAttribDefaultEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClientAttribDefaultEXT), 0, 0 }, + { "glClientWaitSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glClientWaitSemaphoreui64NVX), 0, 0 }, + { "glClientWaitSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glClientWaitSync), 3, 2 }, + { "glClipControl", "GL_ARB_clip_control\0", offsetof(struct opengl_funcs, p_glClipControl), 4, 5 }, + { "glClipPlanef", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClipPlanef), 0, 0 }, + { "glClipPlanefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glClipPlanefOES), 0, 0 }, + { "glClipPlanex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClipPlanex), 0, 0 }, + { "glClipPlanexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClipPlanexOES), 0, 0 }, + { "glColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor3fVertex3fSUN), 0, 0 }, + { "glColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor3fVertex3fvSUN), 0, 0 }, + { "glColor3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor3hNV), 0, 0 }, + { "glColor3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor3hvNV), 0, 0 }, + { "glColor3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor3xOES), 0, 0 }, + { "glColor3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor3xvOES), 0, 0 }, + { "glColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fSUN), 0, 0 }, + { "glColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fvSUN), 0, 0 }, + { "glColor4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor4hNV), 0, 0 }, + { "glColor4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor4hvNV), 0, 0 }, + { "glColor4ubVertex2fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex2fSUN), 0, 0 }, + { "glColor4ubVertex2fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex2fvSUN), 0, 0 }, + { "glColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex3fSUN), 0, 0 }, + { "glColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex3fvSUN), 0, 0 }, + { "glColor4x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glColor4x), 0, 0 }, + { "glColor4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor4xOES), 0, 0 }, + { "glColor4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor4xvOES), 0, 0 }, + { "glColorFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glColorFormatNV), 0, 0 }, + { "glColorFragmentOp1ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp1ATI), 0, 0 }, + { "glColorFragmentOp2ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp2ATI), 0, 0 }, + { "glColorFragmentOp3ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp3ATI), 0, 0 }, + { "glColorMaskIndexedEXT", "GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glColorMaskIndexedEXT), 0, 0 }, + { "glColorMaski", "\0", offsetof(struct opengl_funcs, p_glColorMaski), 3, 0 }, + { "glColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP3ui), 3, 3 }, + { "glColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP3uiv), 3, 3 }, + { "glColorP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP4ui), 3, 3 }, + { "glColorP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP4uiv), 3, 3 }, + { "glColorPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glColorPointerEXT), 0, 0 }, + { "glColorPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glColorPointerListIBM), 0, 0 }, + { "glColorPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glColorPointervINTEL), 0, 0 }, + { "glColorSubTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorSubTable), 0, 0 }, + { "glColorSubTableEXT", "GL_EXT_color_subtable\0", offsetof(struct opengl_funcs, p_glColorSubTableEXT), 0, 0 }, + { "glColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTable), 0, 0 }, + { "glColorTableEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glColorTableEXT), 0, 0 }, + { "glColorTableParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTableParameterfv), 0, 0 }, + { "glColorTableParameterfvSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableParameterfvSGI), 0, 0 }, + { "glColorTableParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTableParameteriv), 0, 0 }, + { "glColorTableParameterivSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableParameterivSGI), 0, 0 }, + { "glColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableSGI), 0, 0 }, + { "glCombinerInputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerInputNV), 0, 0 }, + { "glCombinerOutputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerOutputNV), 0, 0 }, + { "glCombinerParameterfNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterfNV), 0, 0 }, + { "glCombinerParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterfvNV), 0, 0 }, + { "glCombinerParameteriNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameteriNV), 0, 0 }, + { "glCombinerParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterivNV), 0, 0 }, + { "glCombinerStageParameterfvNV", "GL_NV_register_combiners2\0", offsetof(struct opengl_funcs, p_glCombinerStageParameterfvNV), 0, 0 }, + { "glCommandListSegmentsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCommandListSegmentsNV), 0, 0 }, + { "glCompileCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCompileCommandListNV), 0, 0 }, + { "glCompileShader", "\0", offsetof(struct opengl_funcs, p_glCompileShader), 2, 0 }, + { "glCompileShaderARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCompileShaderARB), 0, 0 }, + { "glCompileShaderIncludeARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glCompileShaderIncludeARB), 0, 0 }, + { "glCompressedMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage1DEXT), 0, 0 }, + { "glCompressedMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage2DEXT), 0, 0 }, + { "glCompressedMultiTexImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage3DEXT), 0, 0 }, + { "glCompressedMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage1DEXT), 0, 0 }, + { "glCompressedMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage2DEXT), 0, 0 }, + { "glCompressedMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage3DEXT), 0, 0 }, + { "glCompressedTexImage1D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexImage1D), 1, 3 }, + { "glCompressedTexImage1DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexImage1DARB), 1, 3 }, + { "glCompressedTexImage2D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexImage2D), 1, 3 }, + { "glCompressedTexImage2DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexImage2DARB), 1, 3 }, + { "glCompressedTexImage3D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexImage3D), 1, 3 }, + { "glCompressedTexImage3DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexImage3DARB), 1, 3 }, + { "glCompressedTexSubImage1D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1D), 1, 3 }, + { "glCompressedTexSubImage1DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1DARB), 1, 3 }, + { "glCompressedTexSubImage2D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2D), 1, 3 }, + { "glCompressedTexSubImage2DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2DARB), 1, 3 }, + { "glCompressedTexSubImage3D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3D), 1, 3 }, + { "glCompressedTexSubImage3DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3DARB), 1, 3 }, + { "glCompressedTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage1DEXT), 0, 0 }, + { "glCompressedTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage2DEXT), 0, 0 }, + { "glCompressedTextureImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage3DEXT), 0, 0 }, + { "glCompressedTextureSubImage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1D), 4, 5 }, + { "glCompressedTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1DEXT), 0, 0 }, + { "glCompressedTextureSubImage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2D), 4, 5 }, + { "glCompressedTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2DEXT), 0, 0 }, + { "glCompressedTextureSubImage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3D), 4, 5 }, + { "glCompressedTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3DEXT), 0, 0 }, + { "glConservativeRasterParameterfNV", "GL_NV_conservative_raster_dilate\0", offsetof(struct opengl_funcs, p_glConservativeRasterParameterfNV), 0, 0 }, + { "glConservativeRasterParameteriNV", "GL_NV_conservative_raster_pre_snap_triangles\0", offsetof(struct opengl_funcs, p_glConservativeRasterParameteriNV), 0, 0 }, + { "glConvolutionFilter1D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionFilter1D), 0, 0 }, + { "glConvolutionFilter1DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionFilter1DEXT), 0, 0 }, + { "glConvolutionFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionFilter2D), 0, 0 }, + { "glConvolutionFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionFilter2DEXT), 0, 0 }, + { "glConvolutionParameterf", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameterf), 0, 0 }, + { "glConvolutionParameterfEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfEXT), 0, 0 }, + { "glConvolutionParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfv), 0, 0 }, + { "glConvolutionParameterfvEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfvEXT), 0, 0 }, + { "glConvolutionParameteri", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameteri), 0, 0 }, + { "glConvolutionParameteriEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameteriEXT), 0, 0 }, + { "glConvolutionParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameteriv), 0, 0 }, + { "glConvolutionParameterivEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterivEXT), 0, 0 }, + { "glConvolutionParameterxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glConvolutionParameterxOES), 0, 0 }, + { "glConvolutionParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glConvolutionParameterxvOES), 0, 0 }, + { "glCopyBufferSubData", "GL_ARB_copy_buffer\0GL_EXT_copy_buffer\0", offsetof(struct opengl_funcs, p_glCopyBufferSubData), 3, 1 }, + { "glCopyColorSubTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyColorSubTable), 0, 0 }, + { "glCopyColorSubTableEXT", "GL_EXT_color_subtable\0", offsetof(struct opengl_funcs, p_glCopyColorSubTableEXT), 0, 0 }, + { "glCopyColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyColorTable), 0, 0 }, + { "glCopyColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glCopyColorTableSGI), 0, 0 }, + { "glCopyConvolutionFilter1D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1D), 0, 0 }, + { "glCopyConvolutionFilter1DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1DEXT), 0, 0 }, + { "glCopyConvolutionFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2D), 0, 0 }, + { "glCopyConvolutionFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2DEXT), 0, 0 }, + { "glCopyImageSubData", "GL_ARB_copy_image\0", offsetof(struct opengl_funcs, p_glCopyImageSubData), 4, 3 }, + { "glCopyImageSubDataNV", "GL_NV_copy_image\0", offsetof(struct opengl_funcs, p_glCopyImageSubDataNV), 0, 0 }, + { "glCopyMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexImage1DEXT), 0, 0 }, + { "glCopyMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexImage2DEXT), 0, 0 }, + { "glCopyMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage1DEXT), 0, 0 }, + { "glCopyMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage2DEXT), 0, 0 }, + { "glCopyMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage3DEXT), 0, 0 }, + { "glCopyNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyNamedBufferSubData), 4, 5 }, + { "glCopyPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCopyPathNV), 0, 0 }, + { "glCopyTexImage1DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexImage1DEXT), 1, 2 }, + { "glCopyTexImage2DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexImage2DEXT), 1, 2 }, + { "glCopyTexSubImage1DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage1DEXT), 1, 2 }, + { "glCopyTexSubImage2DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage2DEXT), 1, 2 }, + { "glCopyTexSubImage3D", "\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage3D), 1, 2 }, + { "glCopyTexSubImage3DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage3DEXT), 1, 2 }, + { "glCopyTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureImage1DEXT), 0, 0 }, + { "glCopyTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureImage2DEXT), 0, 0 }, + { "glCopyTextureSubImage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1D), 4, 5 }, + { "glCopyTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1DEXT), 0, 0 }, + { "glCopyTextureSubImage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2D), 4, 5 }, + { "glCopyTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2DEXT), 0, 0 }, + { "glCopyTextureSubImage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3D), 4, 5 }, + { "glCopyTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3DEXT), 0, 0 }, + { "glCoverFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverFillPathInstancedNV), 0, 0 }, + { "glCoverFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverFillPathNV), 0, 0 }, + { "glCoverStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverStrokePathInstancedNV), 0, 0 }, + { "glCoverStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverStrokePathNV), 0, 0 }, + { "glCoverageModulationNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glCoverageModulationNV), 0, 0 }, + { "glCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glCoverageModulationTableNV), 0, 0 }, + { "glCreateBuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateBuffers), 4, 5 }, + { "glCreateCommandListsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCreateCommandListsNV), 0, 0 }, + { "glCreateFramebuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateFramebuffers), 4, 5 }, + { "glCreateMemoryObjectsEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glCreateMemoryObjectsEXT), 0, 0 }, + { "glCreatePerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glCreatePerfQueryINTEL), 0, 0 }, + { "glCreateProgram", "\0", offsetof(struct opengl_funcs, p_glCreateProgram), 2, 0 }, + { "glCreateProgramObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateProgramObjectARB), 0, 0 }, + { "glCreateProgramPipelines", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateProgramPipelines), 4, 5 }, + { "glCreateProgressFenceNVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glCreateProgressFenceNVX), 0, 0 }, + { "glCreateQueries", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateQueries), 4, 5 }, + { "glCreateRenderbuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateRenderbuffers), 4, 5 }, + { "glCreateSamplers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateSamplers), 4, 5 }, + { "glCreateSemaphoresNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glCreateSemaphoresNV), 0, 0 }, + { "glCreateShader", "\0", offsetof(struct opengl_funcs, p_glCreateShader), 2, 0 }, + { "glCreateShaderObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderObjectARB), 0, 0 }, + { "glCreateShaderProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderProgramEXT), 0, 0 }, + { "glCreateShaderProgramv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderProgramv), 4, 1 }, + { "glCreateStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCreateStatesNV), 0, 0 }, + { "glCreateSyncFromCLeventARB", "GL_ARB_cl_event\0", offsetof(struct opengl_funcs, p_glCreateSyncFromCLeventARB), 0, 0 }, + { "glCreateTextures", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateTextures), 4, 5 }, + { "glCreateTransformFeedbacks", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateTransformFeedbacks), 4, 5 }, + { "glCreateVertexArrays", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateVertexArrays), 4, 5 }, + { "glCullParameterdvEXT", "GL_EXT_cull_vertex\0", offsetof(struct opengl_funcs, p_glCullParameterdvEXT), 0, 0 }, + { "glCullParameterfvEXT", "GL_EXT_cull_vertex\0", offsetof(struct opengl_funcs, p_glCullParameterfvEXT), 0, 0 }, + { "glCurrentPaletteMatrixARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glCurrentPaletteMatrixARB), 0, 0 }, + { "glDebugMessageCallback", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glDebugMessageCallback), 4, 3 }, + { "glDebugMessageCallbackAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageCallbackAMD), 0, 0 }, + { "glDebugMessageCallbackARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageCallbackARB), 0, 0 }, + { "glDebugMessageControl", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glDebugMessageControl), 4, 3 }, + { "glDebugMessageControlARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageControlARB), 0, 0 }, + { "glDebugMessageEnableAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageEnableAMD), 0, 0 }, + { "glDebugMessageInsert", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glDebugMessageInsert), 4, 3 }, + { "glDebugMessageInsertAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageInsertAMD), 0, 0 }, + { "glDebugMessageInsertARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageInsertARB), 0, 0 }, + { "glDeformSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformSGIX), 0, 0 }, + { "glDeformationMap3dSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformationMap3dSGIX), 0, 0 }, + { "glDeformationMap3fSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformationMap3fSGIX), 0, 0 }, + { "glDeleteAsyncMarkersSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glDeleteAsyncMarkersSGIX), 0, 0 }, + { "glDeleteBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glDeleteBufferRegion), 0, 0 }, + { "glDeleteBuffers", "\0", offsetof(struct opengl_funcs, p_glDeleteBuffers), 1, 5 }, + { "glDeleteBuffersARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glDeleteBuffersARB), 0, 0 }, + { "glDeleteCommandListsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDeleteCommandListsNV), 0, 0 }, + { "glDeleteFencesAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glDeleteFencesAPPLE), 0, 0 }, + { "glDeleteFencesNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glDeleteFencesNV), 0, 0 }, + { "glDeleteFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glDeleteFragmentShaderATI), 0, 0 }, + { "glDeleteFramebuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteFramebuffers), 3, 0 }, + { "glDeleteFramebuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteFramebuffersEXT), 0, 0 }, + { "glDeleteMemoryObjectsEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glDeleteMemoryObjectsEXT), 0, 0 }, + { "glDeleteNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glDeleteNamedStringARB), 0, 0 }, + { "glDeleteNamesAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glDeleteNamesAMD), 0, 0 }, + { "glDeleteObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glDeleteObjectARB), 0, 0 }, + { "glDeleteObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteObjectBufferATI), 0, 0 }, + { "glDeleteOcclusionQueriesNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glDeleteOcclusionQueriesNV), 0, 0 }, + { "glDeletePathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glDeletePathsNV), 0, 0 }, + { "glDeletePerfMonitorsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glDeletePerfMonitorsAMD), 0, 0 }, + { "glDeletePerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glDeletePerfQueryINTEL), 0, 0 }, + { "glDeleteProgram", "\0", offsetof(struct opengl_funcs, p_glDeleteProgram), 2, 0 }, + { "glDeleteProgramPipelines", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glDeleteProgramPipelines), 4, 1 }, + { "glDeleteProgramsARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glDeleteProgramsARB), 0, 0 }, + { "glDeleteProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glDeleteProgramsNV), 0, 0 }, + { "glDeleteQueries", "\0", offsetof(struct opengl_funcs, p_glDeleteQueries), 1, 5 }, + { "glDeleteQueriesARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glDeleteQueriesARB), 0, 0 }, + { "glDeleteQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glDeleteQueryResourceTagNV), 0, 0 }, + { "glDeleteRenderbuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffers), 3, 0 }, + { "glDeleteRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffersEXT), 0, 0 }, + { "glDeleteSamplers", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glDeleteSamplers), 3, 3 }, + { "glDeleteSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glDeleteSemaphoresEXT), 0, 0 }, + { "glDeleteShader", "\0", offsetof(struct opengl_funcs, p_glDeleteShader), 2, 0 }, + { "glDeleteStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDeleteStatesNV), 0, 0 }, + { "glDeleteSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glDeleteSync), 3, 2 }, + { "glDeleteTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glDeleteTexturesEXT), 0, 0 }, + { "glDeleteTransformFeedbacks", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacks), 4, 0 }, + { "glDeleteTransformFeedbacksNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacksNV), 0, 0 }, + { "glDeleteVertexArrays", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteVertexArrays), 3, 0 }, + { "glDeleteVertexArraysAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteVertexArraysAPPLE), 0, 0 }, + { "glDeleteVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glDeleteVertexShaderEXT), 0, 0 }, + { "glDepthBoundsEXT", "GL_EXT_depth_bounds_test\0", offsetof(struct opengl_funcs, p_glDepthBoundsEXT), 0, 0 }, + { "glDepthBoundsdNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glDepthBoundsdNV), 0, 0 }, + { "glDepthRangeArraydvNV", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeArraydvNV), 0, 0 }, + { "glDepthRangeArrayv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeArrayv), 4, 1 }, + { "glDepthRangeIndexed", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeIndexed), 4, 1 }, + { "glDepthRangeIndexeddNV", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeIndexeddNV), 0, 0 }, + { "glDepthRangedNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glDepthRangedNV), 0, 0 }, + { "glDepthRangef", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glDepthRangef), 4, 1 }, + { "glDepthRangefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glDepthRangefOES), 0, 0 }, + { "glDepthRangex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glDepthRangex), 0, 0 }, + { "glDepthRangexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glDepthRangexOES), 0, 0 }, + { "glDetachObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glDetachObjectARB), 0, 0 }, + { "glDetachShader", "\0", offsetof(struct opengl_funcs, p_glDetachShader), 2, 0 }, + { "glDetailTexFuncSGIS", "GL_SGIS_detail_texture\0", offsetof(struct opengl_funcs, p_glDetailTexFuncSGIS), 0, 0 }, + { "glDisableClientStateIndexedEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableClientStateIndexedEXT), 0, 0 }, + { "glDisableClientStateiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableClientStateiEXT), 0, 0 }, + { "glDisableIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glDisableIndexedEXT), 0, 0 }, + { "glDisableVariantClientStateEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glDisableVariantClientStateEXT), 0, 0 }, + { "glDisableVertexArrayAttrib", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttrib), 4, 5 }, + { "glDisableVertexArrayAttribEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttribEXT), 0, 0 }, + { "glDisableVertexArrayEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayEXT), 0, 0 }, + { "glDisableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribAPPLE), 0, 0 }, + { "glDisableVertexAttribArray", "\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribArray), 2, 0 }, + { "glDisableVertexAttribArrayARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribArrayARB), 0, 0 }, + { "glDisablei", "\0", offsetof(struct opengl_funcs, p_glDisablei), 3, 0 }, + { "glDispatchCompute", "GL_ARB_compute_shader\0", offsetof(struct opengl_funcs, p_glDispatchCompute), 4, 3 }, + { "glDispatchComputeGroupSizeARB", "GL_ARB_compute_variable_group_size\0", offsetof(struct opengl_funcs, p_glDispatchComputeGroupSizeARB), 0, 0 }, + { "glDispatchComputeIndirect", "GL_ARB_compute_shader\0", offsetof(struct opengl_funcs, p_glDispatchComputeIndirect), 4, 3 }, + { "glDrawArraysEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glDrawArraysEXT), 0, 0 }, + { "glDrawArraysIndirect", "GL_ARB_draw_indirect\0", offsetof(struct opengl_funcs, p_glDrawArraysIndirect), 4, 0 }, + { "glDrawArraysInstanced", "\0", offsetof(struct opengl_funcs, p_glDrawArraysInstanced), 3, 1 }, + { "glDrawArraysInstancedARB", "GL_ARB_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedARB), 0, 0 }, + { "glDrawArraysInstancedBaseInstance", "GL_ARB_base_instance\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedBaseInstance), 4, 2 }, + { "glDrawArraysInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedEXT), 0, 0 }, + { "glDrawBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glDrawBufferRegion), 0, 0 }, + { "glDrawBuffers", "\0", offsetof(struct opengl_funcs, p_glDrawBuffers), 2, 0 }, + { "glDrawBuffersARB", "GL_ARB_draw_buffers\0", offsetof(struct opengl_funcs, p_glDrawBuffersARB), 0, 0 }, + { "glDrawBuffersATI", "GL_ATI_draw_buffers\0", offsetof(struct opengl_funcs, p_glDrawBuffersATI), 0, 0 }, + { "glDrawCommandsAddressNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsAddressNV), 0, 0 }, + { "glDrawCommandsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsNV), 0, 0 }, + { "glDrawCommandsStatesAddressNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsStatesAddressNV), 0, 0 }, + { "glDrawCommandsStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsStatesNV), 0, 0 }, + { "glDrawElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glDrawElementArrayAPPLE), 0, 0 }, + { "glDrawElementArrayATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glDrawElementArrayATI), 0, 0 }, + { "glDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glDrawElementsBaseVertex), 3, 2 }, + { "glDrawElementsIndirect", "GL_ARB_draw_indirect\0", offsetof(struct opengl_funcs, p_glDrawElementsIndirect), 4, 0 }, + { "glDrawElementsInstanced", "\0", offsetof(struct opengl_funcs, p_glDrawElementsInstanced), 3, 1 }, + { "glDrawElementsInstancedARB", "GL_ARB_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedARB), 0, 0 }, + { "glDrawElementsInstancedBaseInstance", "GL_ARB_base_instance\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseInstance), 4, 2 }, + { "glDrawElementsInstancedBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertex), 3, 2 }, + { "glDrawElementsInstancedBaseVertexBaseInstance", "GL_ARB_base_instance\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertexBaseInstance), 4, 2 }, + { "glDrawElementsInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedEXT), 0, 0 }, + { "glDrawMeshArraysSUN", "GL_SUN_mesh_array\0", offsetof(struct opengl_funcs, p_glDrawMeshArraysSUN), 0, 0 }, + { "glDrawMeshTasksEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksEXT), 0, 0 }, + { "glDrawMeshTasksIndirectEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectEXT), 0, 0 }, + { "glDrawMeshTasksIndirectNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectNV), 0, 0 }, + { "glDrawMeshTasksNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksNV), 0, 0 }, + { "glDrawRangeElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayAPPLE), 0, 0 }, + { "glDrawRangeElementArrayATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayATI), 0, 0 }, + { "glDrawRangeElements", "\0", offsetof(struct opengl_funcs, p_glDrawRangeElements), 1, 2 }, + { "glDrawRangeElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glDrawRangeElementsBaseVertex), 3, 2 }, + { "glDrawRangeElementsEXT", "GL_EXT_draw_range_elements\0", offsetof(struct opengl_funcs, p_glDrawRangeElementsEXT), 0, 0 }, + { "glDrawTextureNV", "GL_NV_draw_texture\0", offsetof(struct opengl_funcs, p_glDrawTextureNV), 0, 0 }, + { "glDrawTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedback), 4, 0 }, + { "glDrawTransformFeedbackInstanced", "GL_ARB_transform_feedback_instanced\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackInstanced), 4, 2 }, + { "glDrawTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackNV), 0, 0 }, + { "glDrawTransformFeedbackStream", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStream), 4, 0 }, + { "glDrawTransformFeedbackStreamInstanced", "GL_ARB_transform_feedback_instanced\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStreamInstanced), 4, 2 }, + { "glDrawVkImageNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glDrawVkImageNV), 0, 0 }, + { "glEGLImageTargetTexStorageEXT", "GL_EXT_EGL_image_storage\0", offsetof(struct opengl_funcs, p_glEGLImageTargetTexStorageEXT), 0, 0 }, + { "glEGLImageTargetTextureStorageEXT", "GL_EXT_EGL_image_storage\0", offsetof(struct opengl_funcs, p_glEGLImageTargetTextureStorageEXT), 0, 0 }, + { "glEdgeFlagFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glEdgeFlagFormatNV), 0, 0 }, + { "glEdgeFlagPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glEdgeFlagPointerEXT), 0, 0 }, + { "glEdgeFlagPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glEdgeFlagPointerListIBM), 0, 0 }, + { "glElementPointerAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glElementPointerAPPLE), 0, 0 }, + { "glElementPointerATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glElementPointerATI), 0, 0 }, + { "glEnableClientStateIndexedEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableClientStateIndexedEXT), 0, 0 }, + { "glEnableClientStateiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableClientStateiEXT), 0, 0 }, + { "glEnableIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glEnableIndexedEXT), 0, 0 }, + { "glEnableVariantClientStateEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glEnableVariantClientStateEXT), 0, 0 }, + { "glEnableVertexArrayAttrib", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttrib), 4, 5 }, + { "glEnableVertexArrayAttribEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttribEXT), 0, 0 }, + { "glEnableVertexArrayEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayEXT), 0, 0 }, + { "glEnableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribAPPLE), 0, 0 }, + { "glEnableVertexAttribArray", "\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribArray), 2, 0 }, + { "glEnableVertexAttribArrayARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribArrayARB), 0, 0 }, + { "glEnablei", "\0", offsetof(struct opengl_funcs, p_glEnablei), 3, 0 }, + { "glEndConditionalRender", "\0", offsetof(struct opengl_funcs, p_glEndConditionalRender), 3, 0 }, + { "glEndConditionalRenderNV", "GL_NV_conditional_render\0", offsetof(struct opengl_funcs, p_glEndConditionalRenderNV), 0, 0 }, + { "glEndConditionalRenderNVX", "GL_NVX_conditional_render\0", offsetof(struct opengl_funcs, p_glEndConditionalRenderNVX), 0, 0 }, + { "glEndFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glEndFragmentShaderATI), 0, 0 }, + { "glEndOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glEndOcclusionQueryNV), 0, 0 }, + { "glEndPerfMonitorAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glEndPerfMonitorAMD), 0, 0 }, + { "glEndPerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glEndPerfQueryINTEL), 0, 0 }, + { "glEndQuery", "\0", offsetof(struct opengl_funcs, p_glEndQuery), 1, 5 }, + { "glEndQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glEndQueryARB), 0, 0 }, + { "glEndQueryIndexed", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glEndQueryIndexed), 4, 0 }, + { "glEndTransformFeedback", "\0", offsetof(struct opengl_funcs, p_glEndTransformFeedback), 3, 0 }, + { "glEndTransformFeedbackEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glEndTransformFeedbackEXT), 0, 0 }, + { "glEndTransformFeedbackNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glEndTransformFeedbackNV), 0, 0 }, + { "glEndVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glEndVertexShaderEXT), 0, 0 }, + { "glEndVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glEndVideoCaptureNV), 0, 0 }, + { "glEvalCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord1xOES), 0, 0 }, + { "glEvalCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord1xvOES), 0, 0 }, + { "glEvalCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord2xOES), 0, 0 }, + { "glEvalCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord2xvOES), 0, 0 }, + { "glEvalMapsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glEvalMapsNV), 0, 0 }, + { "glEvaluateDepthValuesARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glEvaluateDepthValuesARB), 0, 0 }, + { "glExecuteProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glExecuteProgramNV), 0, 0 }, + { "glExtractComponentEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glExtractComponentEXT), 0, 0 }, + { "glFeedbackBufferxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFeedbackBufferxOES), 0, 0 }, + { "glFenceSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glFenceSync), 3, 2 }, + { "glFinalCombinerInputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glFinalCombinerInputNV), 0, 0 }, + { "glFinishAsyncSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glFinishAsyncSGIX), 0, 0 }, + { "glFinishFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glFinishFenceAPPLE), 0, 0 }, + { "glFinishFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glFinishFenceNV), 0, 0 }, + { "glFinishObjectAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glFinishObjectAPPLE), 0, 0 }, + { "glFinishTextureSUNX", "GL_SUNX_constant_data\0", offsetof(struct opengl_funcs, p_glFinishTextureSUNX), 0, 0 }, + { "glFlushMappedBufferRange", "GL_ARB_map_buffer_range\0", offsetof(struct opengl_funcs, p_glFlushMappedBufferRange), 3, 0 }, + { "glFlushMappedBufferRangeAPPLE", "GL_APPLE_flush_buffer_range\0", offsetof(struct opengl_funcs, p_glFlushMappedBufferRangeAPPLE), 0, 0 }, + { "glFlushMappedNamedBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRange), 4, 5 }, + { "glFlushMappedNamedBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRangeEXT), 0, 0 }, + { "glFlushPixelDataRangeNV", "GL_NV_pixel_data_range\0", offsetof(struct opengl_funcs, p_glFlushPixelDataRangeNV), 0, 0 }, + { "glFlushRasterSGIX", "GL_SGIX_flush_raster\0", offsetof(struct opengl_funcs, p_glFlushRasterSGIX), 0, 0 }, + { "glFlushStaticDataIBM", "GL_IBM_static_data\0", offsetof(struct opengl_funcs, p_glFlushStaticDataIBM), 0, 0 }, + { "glFlushVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeAPPLE), 0, 0 }, + { "glFlushVertexArrayRangeNV", "GL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeNV), 0, 0 }, + { "glFogCoordFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glFogCoordFormatNV), 0, 0 }, + { "glFogCoordPointer", "\0", offsetof(struct opengl_funcs, p_glFogCoordPointer), 1, 4 }, + { "glFogCoordPointerEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordPointerEXT), 0, 0 }, + { "glFogCoordPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glFogCoordPointerListIBM), 0, 0 }, + { "glFogCoordd", "\0", offsetof(struct opengl_funcs, p_glFogCoordd), 1, 4 }, + { "glFogCoorddEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoorddEXT), 0, 0 }, + { "glFogCoorddv", "\0", offsetof(struct opengl_funcs, p_glFogCoorddv), 1, 4 }, + { "glFogCoorddvEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoorddvEXT), 0, 0 }, + { "glFogCoordf", "\0", offsetof(struct opengl_funcs, p_glFogCoordf), 1, 4 }, + { "glFogCoordfEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordfEXT), 0, 0 }, + { "glFogCoordfv", "\0", offsetof(struct opengl_funcs, p_glFogCoordfv), 1, 4 }, + { "glFogCoordfvEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordfvEXT), 0, 0 }, + { "glFogCoordhNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glFogCoordhNV), 0, 0 }, + { "glFogCoordhvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glFogCoordhvNV), 0, 0 }, + { "glFogFuncSGIS", "GL_SGIS_fog_function\0", offsetof(struct opengl_funcs, p_glFogFuncSGIS), 0, 0 }, + { "glFogx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFogx), 0, 0 }, + { "glFogxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFogxOES), 0, 0 }, + { "glFogxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFogxv), 0, 0 }, + { "glFogxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFogxvOES), 0, 0 }, + { "glFragmentColorMaterialSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentColorMaterialSGIX), 0, 0 }, + { "glFragmentCoverageColorNV", "GL_NV_fragment_coverage_to_color\0", offsetof(struct opengl_funcs, p_glFragmentCoverageColorNV), 0, 0 }, + { "glFragmentLightModelfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelfSGIX), 0, 0 }, + { "glFragmentLightModelfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelfvSGIX), 0, 0 }, + { "glFragmentLightModeliSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModeliSGIX), 0, 0 }, + { "glFragmentLightModelivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelivSGIX), 0, 0 }, + { "glFragmentLightfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightfSGIX), 0, 0 }, + { "glFragmentLightfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightfvSGIX), 0, 0 }, + { "glFragmentLightiSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightiSGIX), 0, 0 }, + { "glFragmentLightivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightivSGIX), 0, 0 }, + { "glFragmentMaterialfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialfSGIX), 0, 0 }, + { "glFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialfvSGIX), 0, 0 }, + { "glFragmentMaterialiSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialiSGIX), 0, 0 }, + { "glFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialivSGIX), 0, 0 }, + { "glFrameTerminatorGREMEDY", "GL_GREMEDY_frame_terminator\0", offsetof(struct opengl_funcs, p_glFrameTerminatorGREMEDY), 0, 0 }, + { "glFrameZoomSGIX", "GL_SGIX_framezoom\0", offsetof(struct opengl_funcs, p_glFrameZoomSGIX), 0, 0 }, + { "glFramebufferDrawBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferDrawBufferEXT), 0, 0 }, + { "glFramebufferDrawBuffersEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferDrawBuffersEXT), 0, 0 }, + { "glFramebufferFetchBarrierEXT", "GL_EXT_shader_framebuffer_fetch_non_coherent\0", offsetof(struct opengl_funcs, p_glFramebufferFetchBarrierEXT), 0, 0 }, + { "glFramebufferParameteri", "GL_ARB_framebuffer_no_attachments\0", offsetof(struct opengl_funcs, p_glFramebufferParameteri), 4, 3 }, + { "glFramebufferParameteriMESA", "GL_MESA_framebuffer_flip_y\0", offsetof(struct opengl_funcs, p_glFramebufferParameteriMESA), 0, 0 }, + { "glFramebufferReadBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferReadBufferEXT), 0, 0 }, + { "glFramebufferRenderbuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferRenderbuffer), 3, 0 }, + { "glFramebufferRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferRenderbufferEXT), 0, 0 }, + { "glFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvARB), 0, 0 }, + { "glFramebufferSampleLocationsfvNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvNV), 0, 0 }, + { "glFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glFramebufferSamplePositionsfvAMD), 0, 0 }, + { "glFramebufferShadingRateEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glFramebufferShadingRateEXT), 0, 0 }, + { "glFramebufferTexture", "\0", offsetof(struct opengl_funcs, p_glFramebufferTexture), 3, 2 }, + { "glFramebufferTexture1D", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture1D), 3, 0 }, + { "glFramebufferTexture1DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture1DEXT), 0, 0 }, + { "glFramebufferTexture2D", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture2D), 3, 0 }, + { "glFramebufferTexture2DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture2DEXT), 0, 0 }, + { "glFramebufferTexture3D", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3D), 3, 0 }, + { "glFramebufferTexture3DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3DEXT), 0, 0 }, + { "glFramebufferTextureARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureARB), 0, 0 }, + { "glFramebufferTextureEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureEXT), 0, 0 }, + { "glFramebufferTextureFaceARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceARB), 0, 0 }, + { "glFramebufferTextureFaceEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceEXT), 0, 0 }, + { "glFramebufferTextureLayer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayer), 3, 0 }, + { "glFramebufferTextureLayerARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerARB), 0, 0 }, + { "glFramebufferTextureLayerEXT", "GL_EXT_texture_array\0GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerEXT), 0, 0 }, + { "glFramebufferTextureMultiviewOVR", "GL_OVR_multiview\0", offsetof(struct opengl_funcs, p_glFramebufferTextureMultiviewOVR), 0, 0 }, + { "glFreeObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glFreeObjectBufferATI), 0, 0 }, + { "glFrustumf", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFrustumf), 0, 0 }, + { "glFrustumfOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glFrustumfOES), 0, 0 }, + { "glFrustumx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFrustumx), 0, 0 }, + { "glFrustumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFrustumxOES), 0, 0 }, + { "glGenAsyncMarkersSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glGenAsyncMarkersSGIX), 0, 0 }, + { "glGenBuffers", "\0", offsetof(struct opengl_funcs, p_glGenBuffers), 1, 5 }, + { "glGenBuffersARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGenBuffersARB), 0, 0 }, + { "glGenFencesAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glGenFencesAPPLE), 0, 0 }, + { "glGenFencesNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glGenFencesNV), 0, 0 }, + { "glGenFragmentShadersATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glGenFragmentShadersATI), 0, 0 }, + { "glGenFramebuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenFramebuffers), 3, 0 }, + { "glGenFramebuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenFramebuffersEXT), 0, 0 }, + { "glGenNamesAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glGenNamesAMD), 0, 0 }, + { "glGenOcclusionQueriesNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGenOcclusionQueriesNV), 0, 0 }, + { "glGenPathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGenPathsNV), 0, 0 }, + { "glGenPerfMonitorsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGenPerfMonitorsAMD), 0, 0 }, + { "glGenProgramPipelines", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glGenProgramPipelines), 4, 1 }, + { "glGenProgramsARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGenProgramsARB), 0, 0 }, + { "glGenProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGenProgramsNV), 0, 0 }, + { "glGenQueries", "\0", offsetof(struct opengl_funcs, p_glGenQueries), 1, 5 }, + { "glGenQueriesARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGenQueriesARB), 0, 0 }, + { "glGenQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glGenQueryResourceTagNV), 0, 0 }, + { "glGenRenderbuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenRenderbuffers), 3, 0 }, + { "glGenRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenRenderbuffersEXT), 0, 0 }, + { "glGenSamplers", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGenSamplers), 3, 3 }, + { "glGenSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGenSemaphoresEXT), 0, 0 }, + { "glGenSymbolsEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGenSymbolsEXT), 0, 0 }, + { "glGenTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glGenTexturesEXT), 0, 0 }, + { "glGenTransformFeedbacks", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glGenTransformFeedbacks), 4, 0 }, + { "glGenTransformFeedbacksNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glGenTransformFeedbacksNV), 0, 0 }, + { "glGenVertexArrays", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGenVertexArrays), 3, 0 }, + { "glGenVertexArraysAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGenVertexArraysAPPLE), 0, 0 }, + { "glGenVertexShadersEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGenVertexShadersEXT), 0, 0 }, + { "glGenerateMipmap", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenerateMipmap), 3, 0 }, + { "glGenerateMipmapEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenerateMipmapEXT), 0, 0 }, + { "glGenerateMultiTexMipmapEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateMultiTexMipmapEXT), 0, 0 }, + { "glGenerateTextureMipmap", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateTextureMipmap), 4, 5 }, + { "glGenerateTextureMipmapEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateTextureMipmapEXT), 0, 0 }, + { "glGetActiveAtomicCounterBufferiv", "GL_ARB_shader_atomic_counters\0", offsetof(struct opengl_funcs, p_glGetActiveAtomicCounterBufferiv), 4, 2 }, + { "glGetActiveAttrib", "\0", offsetof(struct opengl_funcs, p_glGetActiveAttrib), 2, 0 }, + { "glGetActiveAttribARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetActiveAttribARB), 0, 0 }, + { "glGetActiveSubroutineName", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineName), 4, 0 }, + { "glGetActiveSubroutineUniformName", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformName), 4, 0 }, + { "glGetActiveSubroutineUniformiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformiv), 4, 0 }, + { "glGetActiveUniform", "\0", offsetof(struct opengl_funcs, p_glGetActiveUniform), 2, 0 }, + { "glGetActiveUniformARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetActiveUniformARB), 0, 0 }, + { "glGetActiveUniformBlockName", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockName), 3, 1 }, + { "glGetActiveUniformBlockiv", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockiv), 3, 1 }, + { "glGetActiveUniformName", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformName), 3, 1 }, + { "glGetActiveUniformsiv", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformsiv), 3, 1 }, + { "glGetActiveVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetActiveVaryingNV), 0, 0 }, + { "glGetArrayObjectfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetArrayObjectfvATI), 0, 0 }, + { "glGetArrayObjectivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetArrayObjectivATI), 0, 0 }, + { "glGetAttachedObjectsARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetAttachedObjectsARB), 0, 0 }, + { "glGetAttachedShaders", "\0", offsetof(struct opengl_funcs, p_glGetAttachedShaders), 2, 0 }, + { "glGetAttribLocation", "\0", offsetof(struct opengl_funcs, p_glGetAttribLocation), 2, 0 }, + { "glGetAttribLocationARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetAttribLocationARB), 0, 0 }, + { "glGetBooleanIndexedvEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glGetBooleanIndexedvEXT), 0, 0 }, + { "glGetBooleani_v", "\0", offsetof(struct opengl_funcs, p_glGetBooleani_v), 3, 0 }, + { "glGetBufferParameteri64v", "\0", offsetof(struct opengl_funcs, p_glGetBufferParameteri64v), 3, 2 }, + { "glGetBufferParameteriv", "\0", offsetof(struct opengl_funcs, p_glGetBufferParameteriv), 1, 5 }, + { "glGetBufferParameterivARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferParameterivARB), 0, 0 }, + { "glGetBufferParameterui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetBufferParameterui64vNV), 0, 0 }, + { "glGetBufferPointerv", "\0", offsetof(struct opengl_funcs, p_glGetBufferPointerv), 1, 5 }, + { "glGetBufferPointervARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferPointervARB), 0, 0 }, + { "glGetBufferSubData", "\0", offsetof(struct opengl_funcs, p_glGetBufferSubData), 1, 5 }, + { "glGetBufferSubDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferSubDataARB), 0, 0 }, + { "glGetClipPlanef", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetClipPlanef), 0, 0 }, + { "glGetClipPlanefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glGetClipPlanefOES), 0, 0 }, + { "glGetClipPlanex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetClipPlanex), 0, 0 }, + { "glGetClipPlanexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetClipPlanexOES), 0, 0 }, + { "glGetColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTable), 0, 0 }, + { "glGetColorTableEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableEXT), 0, 0 }, + { "glGetColorTableParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfv), 0, 0 }, + { "glGetColorTableParameterfvEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvEXT), 0, 0 }, + { "glGetColorTableParameterfvSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvSGI), 0, 0 }, + { "glGetColorTableParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTableParameteriv), 0, 0 }, + { "glGetColorTableParameterivEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterivEXT), 0, 0 }, + { "glGetColorTableParameterivSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterivSGI), 0, 0 }, + { "glGetColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableSGI), 0, 0 }, + { "glGetCombinerInputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterfvNV), 0, 0 }, + { "glGetCombinerInputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterivNV), 0, 0 }, + { "glGetCombinerOutputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterfvNV), 0, 0 }, + { "glGetCombinerOutputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterivNV), 0, 0 }, + { "glGetCombinerStageParameterfvNV", "GL_NV_register_combiners2\0", offsetof(struct opengl_funcs, p_glGetCombinerStageParameterfvNV), 0, 0 }, + { "glGetCommandHeaderNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glGetCommandHeaderNV), 0, 0 }, + { "glGetCompressedMultiTexImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedMultiTexImageEXT), 0, 0 }, + { "glGetCompressedTexImage", "\0", offsetof(struct opengl_funcs, p_glGetCompressedTexImage), 1, 3 }, + { "glGetCompressedTexImageARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glGetCompressedTexImageARB), 1, 3 }, + { "glGetCompressedTextureImage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureImage), 4, 5 }, + { "glGetCompressedTextureImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureImageEXT), 0, 0 }, + { "glGetCompressedTextureSubImage", "GL_ARB_get_texture_sub_image\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureSubImage), 4, 5 }, + { "glGetConvolutionFilter", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionFilter), 0, 0 }, + { "glGetConvolutionFilterEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionFilterEXT), 0, 0 }, + { "glGetConvolutionParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfv), 0, 0 }, + { "glGetConvolutionParameterfvEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfvEXT), 0, 0 }, + { "glGetConvolutionParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameteriv), 0, 0 }, + { "glGetConvolutionParameterivEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterivEXT), 0, 0 }, + { "glGetConvolutionParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterxvOES), 0, 0 }, + { "glGetCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glGetCoverageModulationTableNV), 0, 0 }, + { "glGetDebugMessageLog", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLog), 4, 3 }, + { "glGetDebugMessageLogAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLogAMD), 0, 0 }, + { "glGetDebugMessageLogARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLogARB), 0, 0 }, + { "glGetDetailTexFuncSGIS", "GL_SGIS_detail_texture\0", offsetof(struct opengl_funcs, p_glGetDetailTexFuncSGIS), 0, 0 }, + { "glGetDoubleIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetDoubleIndexedvEXT), 0, 0 }, + { "glGetDoublei_v", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glGetDoublei_v), 4, 1 }, + { "glGetDoublei_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetDoublei_vEXT), 0, 0 }, + { "glGetFenceivNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glGetFenceivNV), 0, 0 }, + { "glGetFinalCombinerInputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterfvNV), 0, 0 }, + { "glGetFinalCombinerInputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterivNV), 0, 0 }, + { "glGetFirstPerfQueryIdINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetFirstPerfQueryIdINTEL), 0, 0 }, + { "glGetFixedv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetFixedv), 0, 0 }, + { "glGetFixedvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetFixedvOES), 0, 0 }, + { "glGetFloatIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFloatIndexedvEXT), 0, 0 }, + { "glGetFloati_v", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glGetFloati_v), 4, 1 }, + { "glGetFloati_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFloati_vEXT), 0, 0 }, + { "glGetFogFuncSGIS", "GL_SGIS_fog_function\0", offsetof(struct opengl_funcs, p_glGetFogFuncSGIS), 0, 0 }, + { "glGetFragDataIndex", "GL_ARB_blend_func_extended\0", offsetof(struct opengl_funcs, p_glGetFragDataIndex), 3, 3 }, + { "glGetFragDataLocation", "\0", offsetof(struct opengl_funcs, p_glGetFragDataLocation), 3, 0 }, + { "glGetFragDataLocationEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glGetFragDataLocationEXT), 0, 0 }, + { "glGetFragmentLightfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentLightfvSGIX), 0, 0 }, + { "glGetFragmentLightivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentLightivSGIX), 0, 0 }, + { "glGetFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentMaterialfvSGIX), 0, 0 }, + { "glGetFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentMaterialivSGIX), 0, 0 }, + { "glGetFragmentShadingRatesEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glGetFragmentShadingRatesEXT), 0, 0 }, + { "glGetFramebufferAttachmentParameteriv", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameteriv), 3, 0 }, + { "glGetFramebufferAttachmentParameterivEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameterivEXT), 0, 0 }, + { "glGetFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterfvAMD), 0, 0 }, + { "glGetFramebufferParameteriv", "GL_ARB_framebuffer_no_attachments\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameteriv), 4, 3 }, + { "glGetFramebufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivEXT), 0, 0 }, + { "glGetFramebufferParameterivMESA", "GL_MESA_framebuffer_flip_y\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivMESA), 0, 0 }, + { "glGetGraphicsResetStatus", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatus), 4, 5 }, + { "glGetGraphicsResetStatusARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatusARB), 0, 0 }, + { "glGetHandleARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetHandleARB), 0, 0 }, + { "glGetHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogram), 0, 0 }, + { "glGetHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramEXT), 0, 0 }, + { "glGetHistogramParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterfv), 0, 0 }, + { "glGetHistogramParameterfvEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterfvEXT), 0, 0 }, + { "glGetHistogramParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogramParameteriv), 0, 0 }, + { "glGetHistogramParameterivEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterivEXT), 0, 0 }, + { "glGetHistogramParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterxvOES), 0, 0 }, + { "glGetImageHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetImageHandleARB), 0, 0 }, + { "glGetImageHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetImageHandleNV), 0, 0 }, + { "glGetImageTransformParameterfvHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glGetImageTransformParameterfvHP), 0, 0 }, + { "glGetImageTransformParameterivHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glGetImageTransformParameterivHP), 0, 0 }, + { "glGetInfoLogARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetInfoLogARB), 0, 0 }, + { "glGetInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glGetInstrumentsSGIX), 0, 0 }, + { "glGetInteger64i_v", "\0", offsetof(struct opengl_funcs, p_glGetInteger64i_v), 3, 2 }, + { "glGetInteger64v", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glGetInteger64v), 3, 2 }, + { "glGetIntegerIndexedvEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glGetIntegerIndexedvEXT), 0, 0 }, + { "glGetIntegeri_v", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetIntegeri_v), 3, 0 }, + { "glGetIntegerui64i_vNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glGetIntegerui64i_vNV), 0, 0 }, + { "glGetIntegerui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetIntegerui64vNV), 0, 0 }, + { "glGetInternalformatSampleivNV", "GL_NV_internalformat_sample_query\0", offsetof(struct opengl_funcs, p_glGetInternalformatSampleivNV), 0, 0 }, + { "glGetInternalformati64v", "GL_ARB_internalformat_query2\0", offsetof(struct opengl_funcs, p_glGetInternalformati64v), 4, 3 }, + { "glGetInternalformativ", "GL_ARB_internalformat_query\0", offsetof(struct opengl_funcs, p_glGetInternalformativ), 4, 2 }, + { "glGetInvariantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantBooleanvEXT), 0, 0 }, + { "glGetInvariantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantFloatvEXT), 0, 0 }, + { "glGetInvariantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantIntegervEXT), 0, 0 }, + { "glGetLightxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetLightxOES), 0, 0 }, + { "glGetLightxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetLightxv), 0, 0 }, + { "glGetListParameterfvSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glGetListParameterfvSGIX), 0, 0 }, + { "glGetListParameterivSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glGetListParameterivSGIX), 0, 0 }, + { "glGetLocalConstantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantBooleanvEXT), 0, 0 }, + { "glGetLocalConstantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantFloatvEXT), 0, 0 }, + { "glGetLocalConstantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantIntegervEXT), 0, 0 }, + { "glGetMapAttribParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapAttribParameterfvNV), 0, 0 }, + { "glGetMapAttribParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapAttribParameterivNV), 0, 0 }, + { "glGetMapControlPointsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapControlPointsNV), 0, 0 }, + { "glGetMapParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapParameterfvNV), 0, 0 }, + { "glGetMapParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapParameterivNV), 0, 0 }, + { "glGetMapxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetMapxvOES), 0, 0 }, + { "glGetMaterialxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetMaterialxOES), 0, 0 }, + { "glGetMaterialxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetMaterialxv), 0, 0 }, + { "glGetMemoryObjectDetachedResourcesuivNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glGetMemoryObjectDetachedResourcesuivNV), 0, 0 }, + { "glGetMemoryObjectParameterivEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glGetMemoryObjectParameterivEXT), 0, 0 }, + { "glGetMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmax), 0, 0 }, + { "glGetMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxEXT), 0, 0 }, + { "glGetMinmaxParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfv), 0, 0 }, + { "glGetMinmaxParameterfvEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfvEXT), 0, 0 }, + { "glGetMinmaxParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameteriv), 0, 0 }, + { "glGetMinmaxParameterivEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterivEXT), 0, 0 }, + { "glGetMultiTexEnvfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexEnvfvEXT), 0, 0 }, + { "glGetMultiTexEnvivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexEnvivEXT), 0, 0 }, + { "glGetMultiTexGendvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGendvEXT), 0, 0 }, + { "glGetMultiTexGenfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGenfvEXT), 0, 0 }, + { "glGetMultiTexGenivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGenivEXT), 0, 0 }, + { "glGetMultiTexImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexImageEXT), 0, 0 }, + { "glGetMultiTexLevelParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterfvEXT), 0, 0 }, + { "glGetMultiTexLevelParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterivEXT), 0, 0 }, + { "glGetMultiTexParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIivEXT), 0, 0 }, + { "glGetMultiTexParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIuivEXT), 0, 0 }, + { "glGetMultiTexParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterfvEXT), 0, 0 }, + { "glGetMultiTexParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterivEXT), 0, 0 }, + { "glGetMultisamplefv", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glGetMultisamplefv), 3, 2 }, + { "glGetMultisamplefvNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glGetMultisamplefvNV), 0, 0 }, + { "glGetNamedBufferParameteri64v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteri64v), 4, 5 }, + { "glGetNamedBufferParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteriv), 4, 5 }, + { "glGetNamedBufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterivEXT), 0, 0 }, + { "glGetNamedBufferParameterui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterui64vNV), 0, 0 }, + { "glGetNamedBufferPointerv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferPointerv), 4, 5 }, + { "glGetNamedBufferPointervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferPointervEXT), 0, 0 }, + { "glGetNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferSubData), 4, 5 }, + { "glGetNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferSubDataEXT), 0, 0 }, + { "glGetNamedFramebufferAttachmentParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameteriv), 4, 5 }, + { "glGetNamedFramebufferAttachmentParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameterivEXT), 0, 0 }, + { "glGetNamedFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterfvAMD), 0, 0 }, + { "glGetNamedFramebufferParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameteriv), 4, 5 }, + { "glGetNamedFramebufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterivEXT), 0, 0 }, + { "glGetNamedProgramLocalParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIivEXT), 0, 0 }, + { "glGetNamedProgramLocalParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIuivEXT), 0, 0 }, + { "glGetNamedProgramLocalParameterdvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterdvEXT), 0, 0 }, + { "glGetNamedProgramLocalParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterfvEXT), 0, 0 }, + { "glGetNamedProgramStringEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramStringEXT), 0, 0 }, + { "glGetNamedProgramivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramivEXT), 0, 0 }, + { "glGetNamedRenderbufferParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameteriv), 4, 5 }, + { "glGetNamedRenderbufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameterivEXT), 0, 0 }, + { "glGetNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glGetNamedStringARB), 0, 0 }, + { "glGetNamedStringivARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glGetNamedStringivARB), 0, 0 }, + { "glGetNextPerfQueryIdINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetNextPerfQueryIdINTEL), 0, 0 }, + { "glGetObjectBufferfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetObjectBufferfvATI), 0, 0 }, + { "glGetObjectBufferivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetObjectBufferivATI), 0, 0 }, + { "glGetObjectLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glGetObjectLabel), 4, 3 }, + { "glGetObjectLabelEXT", "GL_EXT_debug_label\0", offsetof(struct opengl_funcs, p_glGetObjectLabelEXT), 0, 0 }, + { "glGetObjectParameterfvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetObjectParameterfvARB), 0, 0 }, + { "glGetObjectParameterivAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glGetObjectParameterivAPPLE), 0, 0 }, + { "glGetObjectParameterivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetObjectParameterivARB), 0, 0 }, + { "glGetObjectPtrLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glGetObjectPtrLabel), 4, 3 }, + { "glGetOcclusionQueryivNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetOcclusionQueryivNV), 0, 0 }, + { "glGetOcclusionQueryuivNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetOcclusionQueryuivNV), 0, 0 }, + { "glGetPathColorGenfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathColorGenfvNV), 0, 0 }, + { "glGetPathColorGenivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathColorGenivNV), 0, 0 }, + { "glGetPathCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathCommandsNV), 0, 0 }, + { "glGetPathCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathCoordsNV), 0, 0 }, + { "glGetPathDashArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathDashArrayNV), 0, 0 }, + { "glGetPathLengthNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathLengthNV), 0, 0 }, + { "glGetPathMetricRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathMetricRangeNV), 0, 0 }, + { "glGetPathMetricsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathMetricsNV), 0, 0 }, + { "glGetPathParameterfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathParameterfvNV), 0, 0 }, + { "glGetPathParameterivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathParameterivNV), 0, 0 }, + { "glGetPathSpacingNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathSpacingNV), 0, 0 }, + { "glGetPathTexGenfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathTexGenfvNV), 0, 0 }, + { "glGetPathTexGenivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathTexGenivNV), 0, 0 }, + { "glGetPerfCounterInfoINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfCounterInfoINTEL), 0, 0 }, + { "glGetPerfMonitorCounterDataAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterDataAMD), 0, 0 }, + { "glGetPerfMonitorCounterInfoAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterInfoAMD), 0, 0 }, + { "glGetPerfMonitorCounterStringAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterStringAMD), 0, 0 }, + { "glGetPerfMonitorCountersAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCountersAMD), 0, 0 }, + { "glGetPerfMonitorGroupStringAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupStringAMD), 0, 0 }, + { "glGetPerfMonitorGroupsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupsAMD), 0, 0 }, + { "glGetPerfQueryDataINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryDataINTEL), 0, 0 }, + { "glGetPerfQueryIdByNameINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryIdByNameINTEL), 0, 0 }, + { "glGetPerfQueryInfoINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryInfoINTEL), 0, 0 }, + { "glGetPixelMapxv", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetPixelMapxv), 0, 0 }, + { "glGetPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterfvSGIS), 0, 0 }, + { "glGetPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterivSGIS), 0, 0 }, + { "glGetPixelTransformParameterfvEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterfvEXT), 0, 0 }, + { "glGetPixelTransformParameterivEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterivEXT), 0, 0 }, + { "glGetPointerIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetPointerIndexedvEXT), 0, 0 }, + { "glGetPointeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetPointeri_vEXT), 0, 0 }, + { "glGetPointervEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glGetPointervEXT), 0, 0 }, + { "glGetProgramBinary", "GL_ARB_get_program_binary\0", offsetof(struct opengl_funcs, p_glGetProgramBinary), 4, 1 }, + { "glGetProgramEnvParameterIivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIivNV), 0, 0 }, + { "glGetProgramEnvParameterIuivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIuivNV), 0, 0 }, + { "glGetProgramEnvParameterdvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterdvARB), 0, 0 }, + { "glGetProgramEnvParameterfvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterfvARB), 0, 0 }, + { "glGetProgramInfoLog", "\0", offsetof(struct opengl_funcs, p_glGetProgramInfoLog), 2, 0 }, + { "glGetProgramInterfaceiv", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramInterfaceiv), 4, 3 }, + { "glGetProgramLocalParameterIivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIivNV), 0, 0 }, + { "glGetProgramLocalParameterIuivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIuivNV), 0, 0 }, + { "glGetProgramLocalParameterdvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterdvARB), 0, 0 }, + { "glGetProgramLocalParameterfvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterfvARB), 0, 0 }, + { "glGetProgramNamedParameterdvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterdvNV), 0, 0 }, + { "glGetProgramNamedParameterfvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterfvNV), 0, 0 }, + { "glGetProgramParameterdvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramParameterdvNV), 0, 0 }, + { "glGetProgramParameterfvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramParameterfvNV), 0, 0 }, + { "glGetProgramPipelineInfoLog", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glGetProgramPipelineInfoLog), 4, 1 }, + { "glGetProgramPipelineiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glGetProgramPipelineiv), 4, 1 }, + { "glGetProgramResourceIndex", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceIndex), 4, 3 }, + { "glGetProgramResourceLocation", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceLocation), 4, 3 }, + { "glGetProgramResourceLocationIndex", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceLocationIndex), 4, 3 }, + { "glGetProgramResourceName", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceName), 4, 3 }, + { "glGetProgramResourcefvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetProgramResourcefvNV), 0, 0 }, + { "glGetProgramResourceiv", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceiv), 4, 3 }, + { "glGetProgramStageiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetProgramStageiv), 4, 0 }, + { "glGetProgramStringARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramStringARB), 0, 0 }, + { "glGetProgramStringNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramStringNV), 0, 0 }, + { "glGetProgramSubroutineParameteruivNV", "GL_NV_gpu_program5\0GL_NV_gpu_program_fp64\0", offsetof(struct opengl_funcs, p_glGetProgramSubroutineParameteruivNV), 0, 0 }, + { "glGetProgramiv", "\0", offsetof(struct opengl_funcs, p_glGetProgramiv), 2, 0 }, + { "glGetProgramivARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramivARB), 0, 0 }, + { "glGetProgramivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramivNV), 0, 0 }, + { "glGetQueryBufferObjecti64v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjecti64v), 4, 5 }, + { "glGetQueryBufferObjectiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectiv), 4, 5 }, + { "glGetQueryBufferObjectui64v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectui64v), 4, 5 }, + { "glGetQueryBufferObjectuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectuiv), 4, 5 }, + { "glGetQueryIndexediv", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glGetQueryIndexediv), 4, 0 }, + { "glGetQueryObjecti64v", "GL_ARB_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64v), 3, 3 }, + { "glGetQueryObjecti64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64vEXT), 0, 0 }, + { "glGetQueryObjectiv", "\0", offsetof(struct opengl_funcs, p_glGetQueryObjectiv), 1, 5 }, + { "glGetQueryObjectivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectivARB), 0, 0 }, + { "glGetQueryObjectui64v", "GL_ARB_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64v), 3, 3 }, + { "glGetQueryObjectui64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64vEXT), 0, 0 }, + { "glGetQueryObjectuiv", "\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuiv), 1, 5 }, + { "glGetQueryObjectuivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuivARB), 0, 0 }, + { "glGetQueryiv", "\0", offsetof(struct opengl_funcs, p_glGetQueryiv), 1, 5 }, + { "glGetQueryivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryivARB), 0, 0 }, + { "glGetRenderbufferParameteriv", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetRenderbufferParameteriv), 3, 0 }, + { "glGetRenderbufferParameterivEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetRenderbufferParameterivEXT), 0, 0 }, + { "glGetSamplerParameterIiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIiv), 3, 3 }, + { "glGetSamplerParameterIuiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIuiv), 3, 3 }, + { "glGetSamplerParameterfv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterfv), 3, 3 }, + { "glGetSamplerParameteriv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameteriv), 3, 3 }, + { "glGetSemaphoreParameterivNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterivNV), 0, 0 }, + { "glGetSemaphoreParameterui64vEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterui64vEXT), 0, 0 }, + { "glGetSeparableFilter", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetSeparableFilter), 0, 0 }, + { "glGetSeparableFilterEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetSeparableFilterEXT), 0, 0 }, + { "glGetShaderInfoLog", "\0", offsetof(struct opengl_funcs, p_glGetShaderInfoLog), 2, 0 }, + { "glGetShaderPrecisionFormat", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glGetShaderPrecisionFormat), 4, 1 }, + { "glGetShaderSource", "\0", offsetof(struct opengl_funcs, p_glGetShaderSource), 2, 0 }, + { "glGetShaderSourceARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetShaderSourceARB), 0, 0 }, + { "glGetShaderiv", "\0", offsetof(struct opengl_funcs, p_glGetShaderiv), 2, 0 }, + { "glGetShadingRateImagePaletteNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glGetShadingRateImagePaletteNV), 0, 0 }, + { "glGetShadingRateSampleLocationivNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glGetShadingRateSampleLocationivNV), 0, 0 }, + { "glGetSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture\0", offsetof(struct opengl_funcs, p_glGetSharpenTexFuncSGIS), 0, 0 }, + { "glGetStageIndexNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glGetStageIndexNV), 0, 0 }, + { "glGetStringi", "\0", offsetof(struct opengl_funcs, p_glGetStringi), 3, 0 }, + { "glGetSubroutineIndex", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetSubroutineIndex), 4, 0 }, + { "glGetSubroutineUniformLocation", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetSubroutineUniformLocation), 4, 0 }, + { "glGetSynciv", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glGetSynciv), 3, 2 }, + { "glGetTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glGetTexBumpParameterfvATI), 0, 0 }, + { "glGetTexBumpParameterivATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glGetTexBumpParameterivATI), 0, 0 }, + { "glGetTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexEnvxv), 0, 0 }, + { "glGetTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexEnvxvOES), 0, 0 }, + { "glGetTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glGetTexFilterFuncSGIS), 0, 0 }, + { "glGetTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexGenxvOES), 0, 0 }, + { "glGetTexLevelParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexLevelParameterxvOES), 0, 0 }, + { "glGetTexParameterIiv", "\0", offsetof(struct opengl_funcs, p_glGetTexParameterIiv), 3, 0 }, + { "glGetTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIivEXT), 0, 0 }, + { "glGetTexParameterIuiv", "\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuiv), 3, 0 }, + { "glGetTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuivEXT), 0, 0 }, + { "glGetTexParameterPointervAPPLE", "GL_APPLE_texture_range\0", offsetof(struct opengl_funcs, p_glGetTexParameterPointervAPPLE), 0, 0 }, + { "glGetTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexParameterxv), 0, 0 }, + { "glGetTexParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexParameterxvOES), 0, 0 }, + { "glGetTextureHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureHandleARB), 0, 0 }, + { "glGetTextureHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureHandleNV), 0, 0 }, + { "glGetTextureImage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureImage), 4, 5 }, + { "glGetTextureImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureImageEXT), 0, 0 }, + { "glGetTextureLevelParameterfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfv), 4, 5 }, + { "glGetTextureLevelParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfvEXT), 0, 0 }, + { "glGetTextureLevelParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameteriv), 4, 5 }, + { "glGetTextureLevelParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterivEXT), 0, 0 }, + { "glGetTextureParameterIiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIiv), 4, 5 }, + { "glGetTextureParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIivEXT), 0, 0 }, + { "glGetTextureParameterIuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIuiv), 4, 5 }, + { "glGetTextureParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIuivEXT), 0, 0 }, + { "glGetTextureParameterfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterfv), 4, 5 }, + { "glGetTextureParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterfvEXT), 0, 0 }, + { "glGetTextureParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameteriv), 4, 5 }, + { "glGetTextureParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterivEXT), 0, 0 }, + { "glGetTextureSamplerHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleARB), 0, 0 }, + { "glGetTextureSamplerHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleNV), 0, 0 }, + { "glGetTextureSubImage", "GL_ARB_get_texture_sub_image\0", offsetof(struct opengl_funcs, p_glGetTextureSubImage), 4, 5 }, + { "glGetTrackMatrixivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetTrackMatrixivNV), 0, 0 }, + { "glGetTransformFeedbackVarying", "\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVarying), 3, 0 }, + { "glGetTransformFeedbackVaryingEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingEXT), 0, 0 }, + { "glGetTransformFeedbackVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingNV), 0, 0 }, + { "glGetTransformFeedbacki64_v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki64_v), 4, 5 }, + { "glGetTransformFeedbacki_v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki_v), 4, 5 }, + { "glGetTransformFeedbackiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackiv), 4, 5 }, + { "glGetUniformBlockIndex", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetUniformBlockIndex), 3, 1 }, + { "glGetUniformBufferSizeEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glGetUniformBufferSizeEXT), 0, 0 }, + { "glGetUniformIndices", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetUniformIndices), 3, 1 }, + { "glGetUniformLocation", "\0", offsetof(struct opengl_funcs, p_glGetUniformLocation), 2, 0 }, + { "glGetUniformLocationARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformLocationARB), 0, 0 }, + { "glGetUniformOffsetEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glGetUniformOffsetEXT), 0, 0 }, + { "glGetUniformSubroutineuiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetUniformSubroutineuiv), 4, 0 }, + { "glGetUniformdv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glGetUniformdv), 4, 0 }, + { "glGetUniformfv", "\0", offsetof(struct opengl_funcs, p_glGetUniformfv), 2, 0 }, + { "glGetUniformfvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformfvARB), 0, 0 }, + { "glGetUniformi64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetUniformi64vARB), 0, 0 }, + { "glGetUniformi64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glGetUniformi64vNV), 0, 0 }, + { "glGetUniformiv", "\0", offsetof(struct opengl_funcs, p_glGetUniformiv), 2, 0 }, + { "glGetUniformivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformivARB), 0, 0 }, + { "glGetUniformui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetUniformui64vARB), 0, 0 }, + { "glGetUniformui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetUniformui64vNV), 0, 0 }, + { "glGetUniformuiv", "\0", offsetof(struct opengl_funcs, p_glGetUniformuiv), 3, 0 }, + { "glGetUniformuivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glGetUniformuivEXT), 0, 0 }, + { "glGetUnsignedBytei_vEXT", "GL_EXT_memory_object\0GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetUnsignedBytei_vEXT), 0, 0 }, + { "glGetUnsignedBytevEXT", "GL_EXT_memory_object\0GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetUnsignedBytevEXT), 0, 0 }, + { "glGetVariantArrayObjectfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectfvATI), 0, 0 }, + { "glGetVariantArrayObjectivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectivATI), 0, 0 }, + { "glGetVariantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantBooleanvEXT), 0, 0 }, + { "glGetVariantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantFloatvEXT), 0, 0 }, + { "glGetVariantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantIntegervEXT), 0, 0 }, + { "glGetVariantPointervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantPointervEXT), 0, 0 }, + { "glGetVaryingLocationNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetVaryingLocationNV), 0, 0 }, + { "glGetVertexArrayIndexed64iv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexed64iv), 4, 5 }, + { "glGetVertexArrayIndexediv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexediv), 4, 5 }, + { "glGetVertexArrayIntegeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegeri_vEXT), 0, 0 }, + { "glGetVertexArrayIntegervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegervEXT), 0, 0 }, + { "glGetVertexArrayPointeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayPointeri_vEXT), 0, 0 }, + { "glGetVertexArrayPointervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayPointervEXT), 0, 0 }, + { "glGetVertexArrayiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayiv), 4, 5 }, + { "glGetVertexAttribArrayObjectfvATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectfvATI), 0, 0 }, + { "glGetVertexAttribArrayObjectivATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectivATI), 0, 0 }, + { "glGetVertexAttribIiv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIiv), 3, 0 }, + { "glGetVertexAttribIivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIivEXT), 0, 0 }, + { "glGetVertexAttribIuiv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIuiv), 3, 0 }, + { "glGetVertexAttribIuivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIuivEXT), 0, 0 }, + { "glGetVertexAttribLdv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLdv), 4, 1 }, + { "glGetVertexAttribLdvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLdvEXT), 0, 0 }, + { "glGetVertexAttribLi64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLi64vNV), 0, 0 }, + { "glGetVertexAttribLui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vARB), 0, 0 }, + { "glGetVertexAttribLui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vNV), 0, 0 }, + { "glGetVertexAttribPointerv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointerv), 2, 0 }, + { "glGetVertexAttribPointervARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervARB), 0, 0 }, + { "glGetVertexAttribPointervNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervNV), 0, 0 }, + { "glGetVertexAttribdv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdv), 2, 0 }, + { "glGetVertexAttribdvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdvARB), 0, 0 }, + { "glGetVertexAttribdvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdvNV), 0, 0 }, + { "glGetVertexAttribfv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfv), 2, 0 }, + { "glGetVertexAttribfvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfvARB), 0, 0 }, + { "glGetVertexAttribfvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfvNV), 0, 0 }, + { "glGetVertexAttribiv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribiv), 2, 0 }, + { "glGetVertexAttribivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribivARB), 0, 0 }, + { "glGetVertexAttribivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribivNV), 0, 0 }, + { "glGetVideoCaptureStreamdvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamdvNV), 0, 0 }, + { "glGetVideoCaptureStreamfvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamfvNV), 0, 0 }, + { "glGetVideoCaptureStreamivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamivNV), 0, 0 }, + { "glGetVideoCaptureivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureivNV), 0, 0 }, + { "glGetVideoi64vNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoi64vNV), 0, 0 }, + { "glGetVideoivNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoivNV), 0, 0 }, + { "glGetVideoui64vNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoui64vNV), 0, 0 }, + { "glGetVideouivNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideouivNV), 0, 0 }, + { "glGetVkProcAddrNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glGetVkProcAddrNV), 0, 0 }, + { "glGetnColorTable", "\0", offsetof(struct opengl_funcs, p_glGetnColorTable), 4, 5 }, + { "glGetnColorTableARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnColorTableARB), 0, 0 }, + { "glGetnCompressedTexImage", "\0", offsetof(struct opengl_funcs, p_glGetnCompressedTexImage), 4, 5 }, + { "glGetnCompressedTexImageARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnCompressedTexImageARB), 0, 0 }, + { "glGetnConvolutionFilter", "\0", offsetof(struct opengl_funcs, p_glGetnConvolutionFilter), 4, 5 }, + { "glGetnConvolutionFilterARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnConvolutionFilterARB), 0, 0 }, + { "glGetnHistogram", "\0", offsetof(struct opengl_funcs, p_glGetnHistogram), 4, 5 }, + { "glGetnHistogramARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnHistogramARB), 0, 0 }, + { "glGetnMapdv", "\0", offsetof(struct opengl_funcs, p_glGetnMapdv), 4, 5 }, + { "glGetnMapdvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapdvARB), 0, 0 }, + { "glGetnMapfv", "\0", offsetof(struct opengl_funcs, p_glGetnMapfv), 4, 5 }, + { "glGetnMapfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapfvARB), 0, 0 }, + { "glGetnMapiv", "\0", offsetof(struct opengl_funcs, p_glGetnMapiv), 4, 5 }, + { "glGetnMapivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapivARB), 0, 0 }, + { "glGetnMinmax", "\0", offsetof(struct opengl_funcs, p_glGetnMinmax), 4, 5 }, + { "glGetnMinmaxARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMinmaxARB), 0, 0 }, + { "glGetnPixelMapfv", "\0", offsetof(struct opengl_funcs, p_glGetnPixelMapfv), 4, 5 }, + { "glGetnPixelMapfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapfvARB), 0, 0 }, + { "glGetnPixelMapuiv", "\0", offsetof(struct opengl_funcs, p_glGetnPixelMapuiv), 4, 5 }, + { "glGetnPixelMapuivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapuivARB), 0, 0 }, + { "glGetnPixelMapusv", "\0", offsetof(struct opengl_funcs, p_glGetnPixelMapusv), 4, 5 }, + { "glGetnPixelMapusvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapusvARB), 0, 0 }, + { "glGetnPolygonStipple", "\0", offsetof(struct opengl_funcs, p_glGetnPolygonStipple), 4, 5 }, + { "glGetnPolygonStippleARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPolygonStippleARB), 0, 0 }, + { "glGetnSeparableFilter", "\0", offsetof(struct opengl_funcs, p_glGetnSeparableFilter), 4, 5 }, + { "glGetnSeparableFilterARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnSeparableFilterARB), 0, 0 }, + { "glGetnTexImage", "\0", offsetof(struct opengl_funcs, p_glGetnTexImage), 4, 5 }, + { "glGetnTexImageARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnTexImageARB), 0, 0 }, + { "glGetnUniformdv", "\0", offsetof(struct opengl_funcs, p_glGetnUniformdv), 4, 5 }, + { "glGetnUniformdvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformdvARB), 0, 0 }, + { "glGetnUniformfv", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformfv), 4, 5 }, + { "glGetnUniformfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformfvARB), 0, 0 }, + { "glGetnUniformi64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetnUniformi64vARB), 0, 0 }, + { "glGetnUniformiv", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformiv), 4, 5 }, + { "glGetnUniformivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformivARB), 0, 0 }, + { "glGetnUniformui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetnUniformui64vARB), 0, 0 }, + { "glGetnUniformuiv", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformuiv), 4, 5 }, + { "glGetnUniformuivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformuivARB), 0, 0 }, + { "glGlobalAlphaFactorbSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorbSUN), 0, 0 }, + { "glGlobalAlphaFactordSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactordSUN), 0, 0 }, + { "glGlobalAlphaFactorfSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorfSUN), 0, 0 }, + { "glGlobalAlphaFactoriSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoriSUN), 0, 0 }, + { "glGlobalAlphaFactorsSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorsSUN), 0, 0 }, + { "glGlobalAlphaFactorubSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorubSUN), 0, 0 }, + { "glGlobalAlphaFactoruiSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoruiSUN), 0, 0 }, + { "glGlobalAlphaFactorusSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorusSUN), 0, 0 }, + { "glHintPGI", "GL_PGI_misc_hints\0", offsetof(struct opengl_funcs, p_glHintPGI), 0, 0 }, + { "glHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glHistogram), 0, 0 }, + { "glHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glHistogramEXT), 0, 0 }, + { "glIglooInterfaceSGIX", "GL_SGIX_igloo_interface\0", offsetof(struct opengl_funcs, p_glIglooInterfaceSGIX), 0, 0 }, + { "glImageTransformParameterfHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterfHP), 0, 0 }, + { "glImageTransformParameterfvHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterfvHP), 0, 0 }, + { "glImageTransformParameteriHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameteriHP), 0, 0 }, + { "glImageTransformParameterivHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterivHP), 0, 0 }, + { "glImportMemoryWin32HandleEXT", "GL_EXT_memory_object_win32\0", offsetof(struct opengl_funcs, p_glImportMemoryWin32HandleEXT), 0, 0 }, + { "glImportMemoryWin32NameEXT", "GL_EXT_memory_object_win32\0", offsetof(struct opengl_funcs, p_glImportMemoryWin32NameEXT), 0, 0 }, + { "glImportSemaphoreWin32HandleEXT", "GL_EXT_semaphore_win32\0", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32HandleEXT), 0, 0 }, + { "glImportSemaphoreWin32NameEXT", "GL_EXT_semaphore_win32\0", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32NameEXT), 0, 0 }, + { "glImportSyncEXT", "GL_EXT_x11_sync_object\0", offsetof(struct opengl_funcs, p_glImportSyncEXT), 0, 0 }, + { "glIndexFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glIndexFormatNV), 0, 0 }, + { "glIndexFuncEXT", "GL_EXT_index_func\0", offsetof(struct opengl_funcs, p_glIndexFuncEXT), 0, 0 }, + { "glIndexMaterialEXT", "GL_EXT_index_material\0", offsetof(struct opengl_funcs, p_glIndexMaterialEXT), 0, 0 }, + { "glIndexPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glIndexPointerEXT), 0, 0 }, + { "glIndexPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glIndexPointerListIBM), 0, 0 }, + { "glIndexxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glIndexxOES), 0, 0 }, + { "glIndexxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glIndexxvOES), 0, 0 }, + { "glInsertComponentEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glInsertComponentEXT), 0, 0 }, + { "glInsertEventMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glInsertEventMarkerEXT), 0, 0 }, + { "glInstrumentsBufferSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glInstrumentsBufferSGIX), 0, 0 }, + { "glInterpolatePathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glInterpolatePathsNV), 0, 0 }, + { "glInvalidateBufferData", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateBufferData), 4, 3 }, + { "glInvalidateBufferSubData", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateBufferSubData), 4, 3 }, + { "glInvalidateFramebuffer", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateFramebuffer), 4, 3 }, + { "glInvalidateNamedFramebufferData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferData), 4, 5 }, + { "glInvalidateNamedFramebufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferSubData), 4, 5 }, + { "glInvalidateSubFramebuffer", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateSubFramebuffer), 4, 3 }, + { "glInvalidateTexImage", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateTexImage), 4, 3 }, + { "glInvalidateTexSubImage", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateTexSubImage), 4, 3 }, + { "glIsAsyncMarkerSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glIsAsyncMarkerSGIX), 0, 0 }, + { "glIsBuffer", "\0", offsetof(struct opengl_funcs, p_glIsBuffer), 1, 5 }, + { "glIsBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glIsBufferARB), 0, 0 }, + { "glIsBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glIsBufferResidentNV), 0, 0 }, + { "glIsCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glIsCommandListNV), 0, 0 }, + { "glIsEnabledIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glIsEnabledIndexedEXT), 0, 0 }, + { "glIsEnabledi", "\0", offsetof(struct opengl_funcs, p_glIsEnabledi), 3, 0 }, + { "glIsFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glIsFenceAPPLE), 0, 0 }, + { "glIsFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glIsFenceNV), 0, 0 }, + { "glIsFramebuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsFramebuffer), 3, 0 }, + { "glIsFramebufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsFramebufferEXT), 0, 0 }, + { "glIsImageHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsImageHandleResidentARB), 0, 0 }, + { "glIsImageHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsImageHandleResidentNV), 0, 0 }, + { "glIsMemoryObjectEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glIsMemoryObjectEXT), 0, 0 }, + { "glIsNameAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glIsNameAMD), 0, 0 }, + { "glIsNamedBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glIsNamedBufferResidentNV), 0, 0 }, + { "glIsNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glIsNamedStringARB), 0, 0 }, + { "glIsObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsObjectBufferATI), 0, 0 }, + { "glIsOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glIsOcclusionQueryNV), 0, 0 }, + { "glIsPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPathNV), 0, 0 }, + { "glIsPointInFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPointInFillPathNV), 0, 0 }, + { "glIsPointInStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPointInStrokePathNV), 0, 0 }, + { "glIsProgram", "\0", offsetof(struct opengl_funcs, p_glIsProgram), 2, 0 }, + { "glIsProgramARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glIsProgramARB), 0, 0 }, + { "glIsProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glIsProgramNV), 0, 0 }, + { "glIsProgramPipeline", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glIsProgramPipeline), 4, 1 }, + { "glIsQuery", "\0", offsetof(struct opengl_funcs, p_glIsQuery), 1, 5 }, + { "glIsQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glIsQueryARB), 0, 0 }, + { "glIsRenderbuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsRenderbuffer), 3, 0 }, + { "glIsRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsRenderbufferEXT), 0, 0 }, + { "glIsSampler", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glIsSampler), 3, 3 }, + { "glIsSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glIsSemaphoreEXT), 0, 0 }, + { "glIsShader", "\0", offsetof(struct opengl_funcs, p_glIsShader), 2, 0 }, + { "glIsStateNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glIsStateNV), 0, 0 }, + { "glIsSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glIsSync), 3, 2 }, + { "glIsTextureEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glIsTextureEXT), 0, 0 }, + { "glIsTextureHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentARB), 0, 0 }, + { "glIsTextureHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentNV), 0, 0 }, + { "glIsTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glIsTransformFeedback), 4, 0 }, + { "glIsTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glIsTransformFeedbackNV), 0, 0 }, + { "glIsVariantEnabledEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glIsVariantEnabledEXT), 0, 0 }, + { "glIsVertexArray", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsVertexArray), 3, 0 }, + { "glIsVertexArrayAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsVertexArrayAPPLE), 0, 0 }, + { "glIsVertexAttribEnabledAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glIsVertexAttribEnabledAPPLE), 0, 0 }, + { "glLGPUCopyImageSubDataNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUCopyImageSubDataNVX), 0, 0 }, + { "glLGPUInterlockNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUInterlockNVX), 0, 0 }, + { "glLGPUNamedBufferSubDataNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUNamedBufferSubDataNVX), 0, 0 }, + { "glLabelObjectEXT", "GL_EXT_debug_label\0", offsetof(struct opengl_funcs, p_glLabelObjectEXT), 0, 0 }, + { "glLightEnviSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glLightEnviSGIX), 0, 0 }, + { "glLightModelx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightModelx), 0, 0 }, + { "glLightModelxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightModelxOES), 0, 0 }, + { "glLightModelxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightModelxv), 0, 0 }, + { "glLightModelxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightModelxvOES), 0, 0 }, + { "glLightx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightx), 0, 0 }, + { "glLightxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightxOES), 0, 0 }, + { "glLightxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightxv), 0, 0 }, + { "glLightxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightxvOES), 0, 0 }, + { "glLineWidthx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLineWidthx), 0, 0 }, + { "glLineWidthxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLineWidthxOES), 0, 0 }, + { "glLinkProgram", "\0", offsetof(struct opengl_funcs, p_glLinkProgram), 2, 0 }, + { "glLinkProgramARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glLinkProgramARB), 0, 0 }, + { "glListDrawCommandsStatesClientNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glListDrawCommandsStatesClientNV), 0, 0 }, + { "glListParameterfSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterfSGIX), 0, 0 }, + { "glListParameterfvSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterfvSGIX), 0, 0 }, + { "glListParameteriSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameteriSGIX), 0, 0 }, + { "glListParameterivSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterivSGIX), 0, 0 }, + { "glLoadIdentityDeformationMapSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glLoadIdentityDeformationMapSGIX), 0, 0 }, + { "glLoadMatrixx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLoadMatrixx), 0, 0 }, + { "glLoadMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLoadMatrixxOES), 0, 0 }, + { "glLoadProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glLoadProgramNV), 0, 0 }, + { "glLoadTransposeMatrixd", "\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixd), 1, 3 }, + { "glLoadTransposeMatrixdARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixdARB), 0, 0 }, + { "glLoadTransposeMatrixf", "\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixf), 1, 3 }, + { "glLoadTransposeMatrixfARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixfARB), 0, 0 }, + { "glLoadTransposeMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixxOES), 0, 0 }, + { "glLockArraysEXT", "GL_EXT_compiled_vertex_array\0", offsetof(struct opengl_funcs, p_glLockArraysEXT), 0, 0 }, + { "glMTexCoord2fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMTexCoord2fSGIS), 0, 0 }, + { "glMTexCoord2fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMTexCoord2fvSGIS), 0, 0 }, + { "glMakeBufferNonResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeBufferNonResidentNV), 0, 0 }, + { "glMakeBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeBufferResidentNV), 0, 0 }, + { "glMakeImageHandleNonResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentARB), 0, 0 }, + { "glMakeImageHandleNonResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentNV), 0, 0 }, + { "glMakeImageHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentARB), 0, 0 }, + { "glMakeImageHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentNV), 0, 0 }, + { "glMakeNamedBufferNonResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeNamedBufferNonResidentNV), 0, 0 }, + { "glMakeNamedBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeNamedBufferResidentNV), 0, 0 }, + { "glMakeTextureHandleNonResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentARB), 0, 0 }, + { "glMakeTextureHandleNonResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentNV), 0, 0 }, + { "glMakeTextureHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentARB), 0, 0 }, + { "glMakeTextureHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentNV), 0, 0 }, + { "glMap1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMap1xOES), 0, 0 }, + { "glMap2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMap2xOES), 0, 0 }, + { "glMapBuffer", "\0", offsetof(struct opengl_funcs, p_glMapBuffer), 1, 5 }, + { "glMapBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glMapBufferARB), 0, 0 }, + { "glMapBufferRange", "GL_ARB_map_buffer_range\0", offsetof(struct opengl_funcs, p_glMapBufferRange), 3, 0 }, + { "glMapControlPointsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapControlPointsNV), 0, 0 }, + { "glMapGrid1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMapGrid1xOES), 0, 0 }, + { "glMapGrid2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMapGrid2xOES), 0, 0 }, + { "glMapNamedBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBuffer), 4, 5 }, + { "glMapNamedBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferEXT), 0, 0 }, + { "glMapNamedBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferRange), 4, 5 }, + { "glMapNamedBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferRangeEXT), 0, 0 }, + { "glMapObjectBufferATI", "GL_ATI_map_object_buffer\0", offsetof(struct opengl_funcs, p_glMapObjectBufferATI), 0, 0 }, + { "glMapParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapParameterfvNV), 0, 0 }, + { "glMapParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapParameterivNV), 0, 0 }, + { "glMapTexture2DINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glMapTexture2DINTEL), 0, 0 }, + { "glMapVertexAttrib1dAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib1dAPPLE), 0, 0 }, + { "glMapVertexAttrib1fAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib1fAPPLE), 0, 0 }, + { "glMapVertexAttrib2dAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib2dAPPLE), 0, 0 }, + { "glMapVertexAttrib2fAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib2fAPPLE), 0, 0 }, + { "glMaterialx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMaterialx), 0, 0 }, + { "glMaterialxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMaterialxOES), 0, 0 }, + { "glMaterialxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMaterialxv), 0, 0 }, + { "glMaterialxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMaterialxvOES), 0, 0 }, + { "glMatrixFrustumEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixFrustumEXT), 0, 0 }, + { "glMatrixIndexPointerARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexPointerARB), 0, 0 }, + { "glMatrixIndexubvARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexubvARB), 0, 0 }, + { "glMatrixIndexuivARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexuivARB), 0, 0 }, + { "glMatrixIndexusvARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexusvARB), 0, 0 }, + { "glMatrixLoad3x2fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoad3x2fNV), 0, 0 }, + { "glMatrixLoad3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoad3x3fNV), 0, 0 }, + { "glMatrixLoadIdentityEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadIdentityEXT), 0, 0 }, + { "glMatrixLoadTranspose3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTranspose3x3fNV), 0, 0 }, + { "glMatrixLoadTransposedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTransposedEXT), 0, 0 }, + { "glMatrixLoadTransposefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTransposefEXT), 0, 0 }, + { "glMatrixLoaddEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoaddEXT), 0, 0 }, + { "glMatrixLoadfEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadfEXT), 0, 0 }, + { "glMatrixMult3x2fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMult3x2fNV), 0, 0 }, + { "glMatrixMult3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMult3x3fNV), 0, 0 }, + { "glMatrixMultTranspose3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTranspose3x3fNV), 0, 0 }, + { "glMatrixMultTransposedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTransposedEXT), 0, 0 }, + { "glMatrixMultTransposefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTransposefEXT), 0, 0 }, + { "glMatrixMultdEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultdEXT), 0, 0 }, + { "glMatrixMultfEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultfEXT), 0, 0 }, + { "glMatrixOrthoEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixOrthoEXT), 0, 0 }, + { "glMatrixPopEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixPopEXT), 0, 0 }, + { "glMatrixPushEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixPushEXT), 0, 0 }, + { "glMatrixRotatedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixRotatedEXT), 0, 0 }, + { "glMatrixRotatefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixRotatefEXT), 0, 0 }, + { "glMatrixScaledEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixScaledEXT), 0, 0 }, + { "glMatrixScalefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixScalefEXT), 0, 0 }, + { "glMatrixTranslatedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixTranslatedEXT), 0, 0 }, + { "glMatrixTranslatefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixTranslatefEXT), 0, 0 }, + { "glMaxShaderCompilerThreadsARB", "GL_ARB_parallel_shader_compile\0", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsARB), 0, 0 }, + { "glMaxShaderCompilerThreadsKHR", "GL_KHR_parallel_shader_compile\0", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsKHR), 0, 0 }, + { "glMemoryBarrier", "GL_ARB_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glMemoryBarrier), 4, 2 }, + { "glMemoryBarrierByRegion", "GL_ARB_ES3_1_compatibility\0GL_NV_ES3_1_compatibility\0", offsetof(struct opengl_funcs, p_glMemoryBarrierByRegion), 4, 5 }, + { "glMemoryBarrierEXT", "GL_EXT_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glMemoryBarrierEXT), 0, 0 }, + { "glMemoryObjectParameterivEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glMemoryObjectParameterivEXT), 0, 0 }, + { "glMinSampleShading", "\0", offsetof(struct opengl_funcs, p_glMinSampleShading), 4, 0 }, + { "glMinSampleShadingARB", "GL_ARB_sample_shading\0", offsetof(struct opengl_funcs, p_glMinSampleShadingARB), 0, 0 }, + { "glMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glMinmax), 0, 0 }, + { "glMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glMinmaxEXT), 0, 0 }, + { "glMultMatrixx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMultMatrixx), 0, 0 }, + { "glMultMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultMatrixxOES), 0, 0 }, + { "glMultTransposeMatrixd", "\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixd), 1, 3 }, + { "glMultTransposeMatrixdARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixdARB), 0, 0 }, + { "glMultTransposeMatrixf", "\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixf), 1, 3 }, + { "glMultTransposeMatrixfARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixfARB), 0, 0 }, + { "glMultTransposeMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixxOES), 0, 0 }, + { "glMultiDrawArrays", "\0", offsetof(struct opengl_funcs, p_glMultiDrawArrays), 1, 4 }, + { "glMultiDrawArraysEXT", "GL_EXT_multi_draw_arrays\0GL_SUN_multi_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysEXT), 0, 0 }, + { "glMultiDrawArraysIndirect", "GL_ARB_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirect), 4, 3 }, + { "glMultiDrawArraysIndirectAMD", "GL_AMD_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectAMD), 0, 0 }, + { "glMultiDrawArraysIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessCountNV), 0, 0 }, + { "glMultiDrawArraysIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessNV), 0, 0 }, + { "glMultiDrawArraysIndirectCount", "\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCount), 4, 6 }, + { "glMultiDrawArraysIndirectCountARB", "GL_ARB_indirect_parameters\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCountARB), 0, 0 }, + { "glMultiDrawElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glMultiDrawElementArrayAPPLE), 0, 0 }, + { "glMultiDrawElements", "\0", offsetof(struct opengl_funcs, p_glMultiDrawElements), 1, 4 }, + { "glMultiDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsBaseVertex), 3, 2 }, + { "glMultiDrawElementsEXT", "GL_EXT_multi_draw_arrays\0GL_SUN_multi_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsEXT), 0, 0 }, + { "glMultiDrawElementsIndirect", "GL_ARB_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirect), 4, 3 }, + { "glMultiDrawElementsIndirectAMD", "GL_AMD_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectAMD), 0, 0 }, + { "glMultiDrawElementsIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessCountNV), 0, 0 }, + { "glMultiDrawElementsIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessNV), 0, 0 }, + { "glMultiDrawElementsIndirectCount", "\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCount), 4, 6 }, + { "glMultiDrawElementsIndirectCountARB", "GL_ARB_indirect_parameters\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCountARB), 0, 0 }, + { "glMultiDrawMeshTasksIndirectCountEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountEXT), 0, 0 }, + { "glMultiDrawMeshTasksIndirectCountNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountNV), 0, 0 }, + { "glMultiDrawMeshTasksIndirectEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectEXT), 0, 0 }, + { "glMultiDrawMeshTasksIndirectNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectNV), 0, 0 }, + { "glMultiDrawRangeElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glMultiDrawRangeElementArrayAPPLE), 0, 0 }, + { "glMultiModeDrawArraysIBM", "GL_IBM_multimode_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiModeDrawArraysIBM), 0, 0 }, + { "glMultiModeDrawElementsIBM", "GL_IBM_multimode_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiModeDrawElementsIBM), 0, 0 }, + { "glMultiTexBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexBufferEXT), 0, 0 }, + { "glMultiTexCoord1bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1bOES), 0, 0 }, + { "glMultiTexCoord1bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1bvOES), 0, 0 }, + { "glMultiTexCoord1d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1d), 1, 3 }, + { "glMultiTexCoord1dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dARB), 0, 0 }, + { "glMultiTexCoord1dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dSGIS), 0, 0 }, + { "glMultiTexCoord1dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dv), 1, 3 }, + { "glMultiTexCoord1dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvARB), 0, 0 }, + { "glMultiTexCoord1dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvSGIS), 0, 0 }, + { "glMultiTexCoord1f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1f), 1, 3 }, + { "glMultiTexCoord1fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fARB), 0, 0 }, + { "glMultiTexCoord1fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fSGIS), 0, 0 }, + { "glMultiTexCoord1fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fv), 1, 3 }, + { "glMultiTexCoord1fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvARB), 0, 0 }, + { "glMultiTexCoord1fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvSGIS), 0, 0 }, + { "glMultiTexCoord1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1hNV), 0, 0 }, + { "glMultiTexCoord1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1hvNV), 0, 0 }, + { "glMultiTexCoord1i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1i), 1, 3 }, + { "glMultiTexCoord1iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iARB), 0, 0 }, + { "glMultiTexCoord1iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iSGIS), 0, 0 }, + { "glMultiTexCoord1iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iv), 1, 3 }, + { "glMultiTexCoord1ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivARB), 0, 0 }, + { "glMultiTexCoord1ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivSGIS), 0, 0 }, + { "glMultiTexCoord1s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1s), 1, 3 }, + { "glMultiTexCoord1sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sARB), 0, 0 }, + { "glMultiTexCoord1sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sSGIS), 0, 0 }, + { "glMultiTexCoord1sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sv), 1, 3 }, + { "glMultiTexCoord1svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1svARB), 0, 0 }, + { "glMultiTexCoord1svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1svSGIS), 0, 0 }, + { "glMultiTexCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1xOES), 0, 0 }, + { "glMultiTexCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1xvOES), 0, 0 }, + { "glMultiTexCoord2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2bOES), 0, 0 }, + { "glMultiTexCoord2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2bvOES), 0, 0 }, + { "glMultiTexCoord2d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2d), 1, 3 }, + { "glMultiTexCoord2dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dARB), 0, 0 }, + { "glMultiTexCoord2dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dSGIS), 0, 0 }, + { "glMultiTexCoord2dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dv), 1, 3 }, + { "glMultiTexCoord2dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvARB), 0, 0 }, + { "glMultiTexCoord2dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvSGIS), 0, 0 }, + { "glMultiTexCoord2f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2f), 1, 3 }, + { "glMultiTexCoord2fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fARB), 0, 0 }, + { "glMultiTexCoord2fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fSGIS), 0, 0 }, + { "glMultiTexCoord2fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fv), 1, 3 }, + { "glMultiTexCoord2fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvARB), 0, 0 }, + { "glMultiTexCoord2fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvSGIS), 0, 0 }, + { "glMultiTexCoord2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2hNV), 0, 0 }, + { "glMultiTexCoord2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2hvNV), 0, 0 }, + { "glMultiTexCoord2i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2i), 1, 3 }, + { "glMultiTexCoord2iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iARB), 0, 0 }, + { "glMultiTexCoord2iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iSGIS), 0, 0 }, + { "glMultiTexCoord2iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iv), 1, 3 }, + { "glMultiTexCoord2ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivARB), 0, 0 }, + { "glMultiTexCoord2ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivSGIS), 0, 0 }, + { "glMultiTexCoord2s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2s), 1, 3 }, + { "glMultiTexCoord2sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sARB), 0, 0 }, + { "glMultiTexCoord2sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sSGIS), 0, 0 }, + { "glMultiTexCoord2sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sv), 1, 3 }, + { "glMultiTexCoord2svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2svARB), 0, 0 }, + { "glMultiTexCoord2svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2svSGIS), 0, 0 }, + { "glMultiTexCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2xOES), 0, 0 }, + { "glMultiTexCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2xvOES), 0, 0 }, + { "glMultiTexCoord3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3bOES), 0, 0 }, + { "glMultiTexCoord3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3bvOES), 0, 0 }, + { "glMultiTexCoord3d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3d), 1, 3 }, + { "glMultiTexCoord3dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dARB), 0, 0 }, + { "glMultiTexCoord3dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dSGIS), 0, 0 }, + { "glMultiTexCoord3dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dv), 1, 3 }, + { "glMultiTexCoord3dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvARB), 0, 0 }, + { "glMultiTexCoord3dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvSGIS), 0, 0 }, + { "glMultiTexCoord3f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3f), 1, 3 }, + { "glMultiTexCoord3fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fARB), 0, 0 }, + { "glMultiTexCoord3fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fSGIS), 0, 0 }, + { "glMultiTexCoord3fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fv), 1, 3 }, + { "glMultiTexCoord3fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvARB), 0, 0 }, + { "glMultiTexCoord3fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvSGIS), 0, 0 }, + { "glMultiTexCoord3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3hNV), 0, 0 }, + { "glMultiTexCoord3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3hvNV), 0, 0 }, + { "glMultiTexCoord3i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3i), 1, 3 }, + { "glMultiTexCoord3iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iARB), 0, 0 }, + { "glMultiTexCoord3iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iSGIS), 0, 0 }, + { "glMultiTexCoord3iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iv), 1, 3 }, + { "glMultiTexCoord3ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivARB), 0, 0 }, + { "glMultiTexCoord3ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivSGIS), 0, 0 }, + { "glMultiTexCoord3s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3s), 1, 3 }, + { "glMultiTexCoord3sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sARB), 0, 0 }, + { "glMultiTexCoord3sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sSGIS), 0, 0 }, + { "glMultiTexCoord3sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sv), 1, 3 }, + { "glMultiTexCoord3svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3svARB), 0, 0 }, + { "glMultiTexCoord3svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3svSGIS), 0, 0 }, + { "glMultiTexCoord3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3xOES), 0, 0 }, + { "glMultiTexCoord3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3xvOES), 0, 0 }, + { "glMultiTexCoord4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4bOES), 0, 0 }, + { "glMultiTexCoord4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4bvOES), 0, 0 }, + { "glMultiTexCoord4d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4d), 1, 3 }, + { "glMultiTexCoord4dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dARB), 0, 0 }, + { "glMultiTexCoord4dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dSGIS), 0, 0 }, + { "glMultiTexCoord4dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dv), 1, 3 }, + { "glMultiTexCoord4dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvARB), 0, 0 }, + { "glMultiTexCoord4dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvSGIS), 0, 0 }, + { "glMultiTexCoord4f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4f), 1, 3 }, + { "glMultiTexCoord4fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fARB), 0, 0 }, + { "glMultiTexCoord4fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fSGIS), 0, 0 }, + { "glMultiTexCoord4fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fv), 1, 3 }, + { "glMultiTexCoord4fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvARB), 0, 0 }, + { "glMultiTexCoord4fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvSGIS), 0, 0 }, + { "glMultiTexCoord4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4hNV), 0, 0 }, + { "glMultiTexCoord4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4hvNV), 0, 0 }, + { "glMultiTexCoord4i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4i), 1, 3 }, + { "glMultiTexCoord4iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iARB), 0, 0 }, + { "glMultiTexCoord4iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iSGIS), 0, 0 }, + { "glMultiTexCoord4iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iv), 1, 3 }, + { "glMultiTexCoord4ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivARB), 0, 0 }, + { "glMultiTexCoord4ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivSGIS), 0, 0 }, + { "glMultiTexCoord4s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4s), 1, 3 }, + { "glMultiTexCoord4sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sARB), 0, 0 }, + { "glMultiTexCoord4sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sSGIS), 0, 0 }, + { "glMultiTexCoord4sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sv), 1, 3 }, + { "glMultiTexCoord4svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4svARB), 0, 0 }, + { "glMultiTexCoord4svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4svSGIS), 0, 0 }, + { "glMultiTexCoord4x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4x), 0, 0 }, + { "glMultiTexCoord4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4xOES), 0, 0 }, + { "glMultiTexCoord4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4xvOES), 0, 0 }, + { "glMultiTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP1ui), 3, 3 }, + { "glMultiTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP1uiv), 3, 3 }, + { "glMultiTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP2ui), 3, 3 }, + { "glMultiTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP2uiv), 3, 3 }, + { "glMultiTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP3ui), 3, 3 }, + { "glMultiTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP3uiv), 3, 3 }, + { "glMultiTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP4ui), 3, 3 }, + { "glMultiTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP4uiv), 3, 3 }, + { "glMultiTexCoordPointerEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerEXT), 0, 0 }, + { "glMultiTexCoordPointerSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerSGIS), 0, 0 }, + { "glMultiTexEnvfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvfEXT), 0, 0 }, + { "glMultiTexEnvfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvfvEXT), 0, 0 }, + { "glMultiTexEnviEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnviEXT), 0, 0 }, + { "glMultiTexEnvivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvivEXT), 0, 0 }, + { "glMultiTexGendEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGendEXT), 0, 0 }, + { "glMultiTexGendvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGendvEXT), 0, 0 }, + { "glMultiTexGenfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenfEXT), 0, 0 }, + { "glMultiTexGenfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenfvEXT), 0, 0 }, + { "glMultiTexGeniEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGeniEXT), 0, 0 }, + { "glMultiTexGenivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenivEXT), 0, 0 }, + { "glMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage1DEXT), 0, 0 }, + { "glMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage2DEXT), 0, 0 }, + { "glMultiTexImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage3DEXT), 0, 0 }, + { "glMultiTexParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterIivEXT), 0, 0 }, + { "glMultiTexParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterIuivEXT), 0, 0 }, + { "glMultiTexParameterfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterfEXT), 0, 0 }, + { "glMultiTexParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterfvEXT), 0, 0 }, + { "glMultiTexParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameteriEXT), 0, 0 }, + { "glMultiTexParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterivEXT), 0, 0 }, + { "glMultiTexRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexRenderbufferEXT), 0, 0 }, + { "glMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage1DEXT), 0, 0 }, + { "glMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage2DEXT), 0, 0 }, + { "glMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage3DEXT), 0, 0 }, + { "glMulticastBarrierNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBarrierNV), 0, 0 }, + { "glMulticastBlitFramebufferNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBlitFramebufferNV), 0, 0 }, + { "glMulticastBufferSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBufferSubDataNV), 0, 0 }, + { "glMulticastCopyBufferSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastCopyBufferSubDataNV), 0, 0 }, + { "glMulticastCopyImageSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastCopyImageSubDataNV), 0, 0 }, + { "glMulticastFramebufferSampleLocationsfvNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastFramebufferSampleLocationsfvNV), 0, 0 }, + { "glMulticastGetQueryObjecti64vNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjecti64vNV), 0, 0 }, + { "glMulticastGetQueryObjectivNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectivNV), 0, 0 }, + { "glMulticastGetQueryObjectui64vNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectui64vNV), 0, 0 }, + { "glMulticastGetQueryObjectuivNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectuivNV), 0, 0 }, + { "glMulticastScissorArrayvNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastScissorArrayvNVX), 0, 0 }, + { "glMulticastViewportArrayvNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastViewportArrayvNVX), 0, 0 }, + { "glMulticastViewportPositionWScaleNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastViewportPositionWScaleNVX), 0, 0 }, + { "glMulticastWaitSyncNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastWaitSyncNV), 0, 0 }, + { "glNamedBufferAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glNamedBufferAttachMemoryNV), 0, 0 }, + { "glNamedBufferData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferData), 4, 5 }, + { "glNamedBufferDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferDataEXT), 0, 0 }, + { "glNamedBufferPageCommitmentARB", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentARB), 0, 0 }, + { "glNamedBufferPageCommitmentEXT", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentEXT), 0, 0 }, + { "glNamedBufferPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentMemNV), 0, 0 }, + { "glNamedBufferStorage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferStorage), 4, 5 }, + { "glNamedBufferStorageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageEXT), 0, 0 }, + { "glNamedBufferStorageExternalEXT", "GL_EXT_external_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageExternalEXT), 0, 0 }, + { "glNamedBufferStorageMemEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageMemEXT), 0, 0 }, + { "glNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferSubData), 4, 5 }, + { "glNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferSubDataEXT), 0, 0 }, + { "glNamedCopyBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedCopyBufferSubDataEXT), 0, 0 }, + { "glNamedFramebufferDrawBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffer), 4, 5 }, + { "glNamedFramebufferDrawBuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffers), 4, 5 }, + { "glNamedFramebufferParameteri", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteri), 4, 5 }, + { "glNamedFramebufferParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteriEXT), 0, 0 }, + { "glNamedFramebufferReadBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferReadBuffer), 4, 5 }, + { "glNamedFramebufferRenderbuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbuffer), 4, 5 }, + { "glNamedFramebufferRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbufferEXT), 0, 0 }, + { "glNamedFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvARB), 0, 0 }, + { "glNamedFramebufferSampleLocationsfvNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvNV), 0, 0 }, + { "glNamedFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSamplePositionsfvAMD), 0, 0 }, + { "glNamedFramebufferTexture", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture), 4, 5 }, + { "glNamedFramebufferTexture1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture1DEXT), 0, 0 }, + { "glNamedFramebufferTexture2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture2DEXT), 0, 0 }, + { "glNamedFramebufferTexture3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture3DEXT), 0, 0 }, + { "glNamedFramebufferTextureEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureEXT), 0, 0 }, + { "glNamedFramebufferTextureFaceEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureFaceEXT), 0, 0 }, + { "glNamedFramebufferTextureLayer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayer), 4, 5 }, + { "glNamedFramebufferTextureLayerEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayerEXT), 0, 0 }, + { "glNamedFramebufferTextureMultiviewOVR", "GL_OVR_multiview\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureMultiviewOVR), 0, 0 }, + { "glNamedProgramLocalParameter4dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dEXT), 0, 0 }, + { "glNamedProgramLocalParameter4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dvEXT), 0, 0 }, + { "glNamedProgramLocalParameter4fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fEXT), 0, 0 }, + { "glNamedProgramLocalParameter4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fvEXT), 0, 0 }, + { "glNamedProgramLocalParameterI4iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4iEXT), 0, 0 }, + { "glNamedProgramLocalParameterI4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4ivEXT), 0, 0 }, + { "glNamedProgramLocalParameterI4uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uiEXT), 0, 0 }, + { "glNamedProgramLocalParameterI4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uivEXT), 0, 0 }, + { "glNamedProgramLocalParameters4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameters4fvEXT), 0, 0 }, + { "glNamedProgramLocalParametersI4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4ivEXT), 0, 0 }, + { "glNamedProgramLocalParametersI4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4uivEXT), 0, 0 }, + { "glNamedProgramStringEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramStringEXT), 0, 0 }, + { "glNamedRenderbufferStorage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorage), 4, 5 }, + { "glNamedRenderbufferStorageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageEXT), 0, 0 }, + { "glNamedRenderbufferStorageMultisample", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisample), 4, 5 }, + { "glNamedRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleAdvancedAMD), 0, 0 }, + { "glNamedRenderbufferStorageMultisampleCoverageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleCoverageEXT), 0, 0 }, + { "glNamedRenderbufferStorageMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleEXT), 0, 0 }, + { "glNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glNamedStringARB), 0, 0 }, + { "glNewBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glNewBufferRegion), 0, 0 }, + { "glNewObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glNewObjectBufferATI), 0, 0 }, + { "glNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glNormal3fVertex3fSUN), 0, 0 }, + { "glNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glNormal3fVertex3fvSUN), 0, 0 }, + { "glNormal3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glNormal3hNV), 0, 0 }, + { "glNormal3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glNormal3hvNV), 0, 0 }, + { "glNormal3x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glNormal3x), 0, 0 }, + { "glNormal3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glNormal3xOES), 0, 0 }, + { "glNormal3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glNormal3xvOES), 0, 0 }, + { "glNormalFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glNormalFormatNV), 0, 0 }, + { "glNormalP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glNormalP3ui), 3, 3 }, + { "glNormalP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glNormalP3uiv), 3, 3 }, + { "glNormalPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glNormalPointerEXT), 0, 0 }, + { "glNormalPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glNormalPointerListIBM), 0, 0 }, + { "glNormalPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glNormalPointervINTEL), 0, 0 }, + { "glNormalStream3bATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3bATI), 0, 0 }, + { "glNormalStream3bvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3bvATI), 0, 0 }, + { "glNormalStream3dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3dATI), 0, 0 }, + { "glNormalStream3dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3dvATI), 0, 0 }, + { "glNormalStream3fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3fATI), 0, 0 }, + { "glNormalStream3fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3fvATI), 0, 0 }, + { "glNormalStream3iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3iATI), 0, 0 }, + { "glNormalStream3ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3ivATI), 0, 0 }, + { "glNormalStream3sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3sATI), 0, 0 }, + { "glNormalStream3svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3svATI), 0, 0 }, + { "glObjectLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glObjectLabel), 4, 3 }, + { "glObjectPtrLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glObjectPtrLabel), 4, 3 }, + { "glObjectPurgeableAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glObjectPurgeableAPPLE), 0, 0 }, + { "glObjectUnpurgeableAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glObjectUnpurgeableAPPLE), 0, 0 }, + { "glOrthof", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glOrthof), 0, 0 }, + { "glOrthofOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glOrthofOES), 0, 0 }, + { "glOrthox", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glOrthox), 0, 0 }, + { "glOrthoxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glOrthoxOES), 0, 0 }, + { "glPNTrianglesfATI", "GL_ATI_pn_triangles\0", offsetof(struct opengl_funcs, p_glPNTrianglesfATI), 0, 0 }, + { "glPNTrianglesiATI", "GL_ATI_pn_triangles\0", offsetof(struct opengl_funcs, p_glPNTrianglesiATI), 0, 0 }, + { "glPassTexCoordATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glPassTexCoordATI), 0, 0 }, + { "glPassThroughxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPassThroughxOES), 0, 0 }, + { "glPatchParameterfv", "GL_ARB_tessellation_shader\0", offsetof(struct opengl_funcs, p_glPatchParameterfv), 4, 0 }, + { "glPatchParameteri", "GL_ARB_tessellation_shader\0", offsetof(struct opengl_funcs, p_glPatchParameteri), 4, 0 }, + { "glPathColorGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathColorGenNV), 0, 0 }, + { "glPathCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCommandsNV), 0, 0 }, + { "glPathCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCoordsNV), 0, 0 }, + { "glPathCoverDepthFuncNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCoverDepthFuncNV), 0, 0 }, + { "glPathDashArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathDashArrayNV), 0, 0 }, + { "glPathFogGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathFogGenNV), 0, 0 }, + { "glPathGlyphIndexArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphIndexArrayNV), 0, 0 }, + { "glPathGlyphIndexRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphIndexRangeNV), 0, 0 }, + { "glPathGlyphRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphRangeNV), 0, 0 }, + { "glPathGlyphsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphsNV), 0, 0 }, + { "glPathMemoryGlyphIndexArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathMemoryGlyphIndexArrayNV), 0, 0 }, + { "glPathParameterfNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterfNV), 0, 0 }, + { "glPathParameterfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterfvNV), 0, 0 }, + { "glPathParameteriNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameteriNV), 0, 0 }, + { "glPathParameterivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterivNV), 0, 0 }, + { "glPathStencilDepthOffsetNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStencilDepthOffsetNV), 0, 0 }, + { "glPathStencilFuncNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStencilFuncNV), 0, 0 }, + { "glPathStringNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStringNV), 0, 0 }, + { "glPathSubCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathSubCommandsNV), 0, 0 }, + { "glPathSubCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathSubCoordsNV), 0, 0 }, + { "glPathTexGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathTexGenNV), 0, 0 }, + { "glPauseTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glPauseTransformFeedback), 4, 0 }, + { "glPauseTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glPauseTransformFeedbackNV), 0, 0 }, + { "glPixelDataRangeNV", "GL_NV_pixel_data_range\0", offsetof(struct opengl_funcs, p_glPixelDataRangeNV), 0, 0 }, + { "glPixelMapx", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelMapx), 0, 0 }, + { "glPixelStorex", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelStorex), 0, 0 }, + { "glPixelTexGenParameterfSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfSGIS), 0, 0 }, + { "glPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfvSGIS), 0, 0 }, + { "glPixelTexGenParameteriSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameteriSGIS), 0, 0 }, + { "glPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterivSGIS), 0, 0 }, + { "glPixelTexGenSGIX", "GL_SGIX_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenSGIX), 0, 0 }, + { "glPixelTransferxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelTransferxOES), 0, 0 }, + { "glPixelTransformParameterfEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterfEXT), 0, 0 }, + { "glPixelTransformParameterfvEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterfvEXT), 0, 0 }, + { "glPixelTransformParameteriEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameteriEXT), 0, 0 }, + { "glPixelTransformParameterivEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterivEXT), 0, 0 }, + { "glPixelZoomxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelZoomxOES), 0, 0 }, + { "glPointAlongPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPointAlongPathNV), 0, 0 }, + { "glPointParameterf", "\0", offsetof(struct opengl_funcs, p_glPointParameterf), 1, 4 }, + { "glPointParameterfARB", "GL_ARB_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfARB), 0, 0 }, + { "glPointParameterfEXT", "GL_EXT_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfEXT), 0, 0 }, + { "glPointParameterfSGIS", "GL_SGIS_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfSGIS), 0, 0 }, + { "glPointParameterfv", "\0", offsetof(struct opengl_funcs, p_glPointParameterfv), 1, 4 }, + { "glPointParameterfvARB", "GL_ARB_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvARB), 0, 0 }, + { "glPointParameterfvEXT", "GL_EXT_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvEXT), 0, 0 }, + { "glPointParameterfvSGIS", "GL_SGIS_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvSGIS), 0, 0 }, + { "glPointParameteri", "\0", offsetof(struct opengl_funcs, p_glPointParameteri), 1, 4 }, + { "glPointParameteriNV", "GL_NV_point_sprite\0", offsetof(struct opengl_funcs, p_glPointParameteriNV), 0, 0 }, + { "glPointParameteriv", "\0", offsetof(struct opengl_funcs, p_glPointParameteriv), 1, 4 }, + { "glPointParameterivNV", "GL_NV_point_sprite\0", offsetof(struct opengl_funcs, p_glPointParameterivNV), 0, 0 }, + { "glPointParameterx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointParameterx), 0, 0 }, + { "glPointParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointParameterxv), 0, 0 }, + { "glPointParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPointParameterxvOES), 0, 0 }, + { "glPointSizex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointSizex), 0, 0 }, + { "glPointSizexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPointSizexOES), 0, 0 }, + { "glPollAsyncSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glPollAsyncSGIX), 0, 0 }, + { "glPollInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glPollInstrumentsSGIX), 0, 0 }, + { "glPolygonOffsetClamp", "GL_ARB_polygon_offset_clamp\0", offsetof(struct opengl_funcs, p_glPolygonOffsetClamp), 4, 6 }, + { "glPolygonOffsetClampEXT", "GL_EXT_polygon_offset_clamp\0", offsetof(struct opengl_funcs, p_glPolygonOffsetClampEXT), 0, 0 }, + { "glPolygonOffsetEXT", "GL_EXT_polygon_offset\0", offsetof(struct opengl_funcs, p_glPolygonOffsetEXT), 0, 0 }, + { "glPolygonOffsetx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPolygonOffsetx), 0, 0 }, + { "glPolygonOffsetxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPolygonOffsetxOES), 0, 0 }, + { "glPopDebugGroup", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glPopDebugGroup), 4, 3 }, + { "glPopGroupMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glPopGroupMarkerEXT), 0, 0 }, + { "glPresentFrameDualFillNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glPresentFrameDualFillNV), 0, 0 }, + { "glPresentFrameKeyedNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glPresentFrameKeyedNV), 0, 0 }, + { "glPrimitiveBoundingBox", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBox), 0, 0 }, + { "glPrimitiveBoundingBoxARB", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBoxARB), 0, 0 }, + { "glPrimitiveRestartIndex", "\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndex), 3, 1 }, + { "glPrimitiveRestartIndexNV", "GL_NV_primitive_restart\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndexNV), 0, 0 }, + { "glPrimitiveRestartNV", "GL_NV_primitive_restart\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartNV), 0, 0 }, + { "glPrioritizeTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glPrioritizeTexturesEXT), 0, 0 }, + { "glPrioritizeTexturesxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPrioritizeTexturesxOES), 0, 0 }, + { "glProgramBinary", "GL_ARB_get_program_binary\0", offsetof(struct opengl_funcs, p_glProgramBinary), 4, 1 }, + { "glProgramBufferParametersIivNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersIivNV), 0, 0 }, + { "glProgramBufferParametersIuivNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersIuivNV), 0, 0 }, + { "glProgramBufferParametersfvNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersfvNV), 0, 0 }, + { "glProgramEnvParameter4dARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dARB), 0, 0 }, + { "glProgramEnvParameter4dvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dvARB), 0, 0 }, + { "glProgramEnvParameter4fARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fARB), 0, 0 }, + { "glProgramEnvParameter4fvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fvARB), 0, 0 }, + { "glProgramEnvParameterI4iNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4iNV), 0, 0 }, + { "glProgramEnvParameterI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4ivNV), 0, 0 }, + { "glProgramEnvParameterI4uiNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uiNV), 0, 0 }, + { "glProgramEnvParameterI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uivNV), 0, 0 }, + { "glProgramEnvParameters4fvEXT", "GL_EXT_gpu_program_parameters\0", offsetof(struct opengl_funcs, p_glProgramEnvParameters4fvEXT), 0, 0 }, + { "glProgramEnvParametersI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4ivNV), 0, 0 }, + { "glProgramEnvParametersI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4uivNV), 0, 0 }, + { "glProgramLocalParameter4dARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dARB), 0, 0 }, + { "glProgramLocalParameter4dvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dvARB), 0, 0 }, + { "glProgramLocalParameter4fARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fARB), 0, 0 }, + { "glProgramLocalParameter4fvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fvARB), 0, 0 }, + { "glProgramLocalParameterI4iNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4iNV), 0, 0 }, + { "glProgramLocalParameterI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4ivNV), 0, 0 }, + { "glProgramLocalParameterI4uiNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uiNV), 0, 0 }, + { "glProgramLocalParameterI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uivNV), 0, 0 }, + { "glProgramLocalParameters4fvEXT", "GL_EXT_gpu_program_parameters\0", offsetof(struct opengl_funcs, p_glProgramLocalParameters4fvEXT), 0, 0 }, + { "glProgramLocalParametersI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4ivNV), 0, 0 }, + { "glProgramLocalParametersI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4uivNV), 0, 0 }, + { "glProgramNamedParameter4dNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dNV), 0, 0 }, + { "glProgramNamedParameter4dvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dvNV), 0, 0 }, + { "glProgramNamedParameter4fNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fNV), 0, 0 }, + { "glProgramNamedParameter4fvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fvNV), 0, 0 }, + { "glProgramParameter4dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4dNV), 0, 0 }, + { "glProgramParameter4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4dvNV), 0, 0 }, + { "glProgramParameter4fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4fNV), 0, 0 }, + { "glProgramParameter4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4fvNV), 0, 0 }, + { "glProgramParameteri", "GL_ARB_get_program_binary\0GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramParameteri), 4, 1 }, + { "glProgramParameteriARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glProgramParameteriARB), 0, 0 }, + { "glProgramParameteriEXT", "GL_EXT_geometry_shader4\0", offsetof(struct opengl_funcs, p_glProgramParameteriEXT), 0, 0 }, + { "glProgramParameters4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameters4dvNV), 0, 0 }, + { "glProgramParameters4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameters4fvNV), 0, 0 }, + { "glProgramPathFragmentInputGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glProgramPathFragmentInputGenNV), 0, 0 }, + { "glProgramStringARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramStringARB), 0, 0 }, + { "glProgramSubroutineParametersuivNV", "GL_NV_gpu_program5\0GL_NV_gpu_program_fp64\0", offsetof(struct opengl_funcs, p_glProgramSubroutineParametersuivNV), 0, 0 }, + { "glProgramUniform1d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1d), 4, 1 }, + { "glProgramUniform1dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1dEXT), 0, 0 }, + { "glProgramUniform1dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1dv), 4, 1 }, + { "glProgramUniform1dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1dvEXT), 0, 0 }, + { "glProgramUniform1f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1f), 4, 1 }, + { "glProgramUniform1fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1fEXT), 0, 0 }, + { "glProgramUniform1fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1fv), 4, 1 }, + { "glProgramUniform1fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1fvEXT), 0, 0 }, + { "glProgramUniform1i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1i), 4, 1 }, + { "glProgramUniform1i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64ARB), 0, 0 }, + { "glProgramUniform1i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64NV), 0, 0 }, + { "glProgramUniform1i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64vARB), 0, 0 }, + { "glProgramUniform1i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64vNV), 0, 0 }, + { "glProgramUniform1iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1iEXT), 0, 0 }, + { "glProgramUniform1iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1iv), 4, 1 }, + { "glProgramUniform1ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1ivEXT), 0, 0 }, + { "glProgramUniform1ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui), 4, 1 }, + { "glProgramUniform1ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64ARB), 0, 0 }, + { "glProgramUniform1ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64NV), 0, 0 }, + { "glProgramUniform1ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vARB), 0, 0 }, + { "glProgramUniform1ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vNV), 0, 0 }, + { "glProgramUniform1uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1uiEXT), 0, 0 }, + { "glProgramUniform1uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1uiv), 4, 1 }, + { "glProgramUniform1uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1uivEXT), 0, 0 }, + { "glProgramUniform2d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2d), 4, 1 }, + { "glProgramUniform2dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2dEXT), 0, 0 }, + { "glProgramUniform2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2dv), 4, 1 }, + { "glProgramUniform2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2dvEXT), 0, 0 }, + { "glProgramUniform2f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2f), 4, 1 }, + { "glProgramUniform2fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2fEXT), 0, 0 }, + { "glProgramUniform2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2fv), 4, 1 }, + { "glProgramUniform2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2fvEXT), 0, 0 }, + { "glProgramUniform2i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2i), 4, 1 }, + { "glProgramUniform2i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64ARB), 0, 0 }, + { "glProgramUniform2i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64NV), 0, 0 }, + { "glProgramUniform2i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64vARB), 0, 0 }, + { "glProgramUniform2i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64vNV), 0, 0 }, + { "glProgramUniform2iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2iEXT), 0, 0 }, + { "glProgramUniform2iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2iv), 4, 1 }, + { "glProgramUniform2ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2ivEXT), 0, 0 }, + { "glProgramUniform2ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui), 4, 1 }, + { "glProgramUniform2ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64ARB), 0, 0 }, + { "glProgramUniform2ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64NV), 0, 0 }, + { "glProgramUniform2ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vARB), 0, 0 }, + { "glProgramUniform2ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vNV), 0, 0 }, + { "glProgramUniform2uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2uiEXT), 0, 0 }, + { "glProgramUniform2uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2uiv), 4, 1 }, + { "glProgramUniform2uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2uivEXT), 0, 0 }, + { "glProgramUniform3d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3d), 4, 1 }, + { "glProgramUniform3dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3dEXT), 0, 0 }, + { "glProgramUniform3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3dv), 4, 1 }, + { "glProgramUniform3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3dvEXT), 0, 0 }, + { "glProgramUniform3f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3f), 4, 1 }, + { "glProgramUniform3fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3fEXT), 0, 0 }, + { "glProgramUniform3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3fv), 4, 1 }, + { "glProgramUniform3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3fvEXT), 0, 0 }, + { "glProgramUniform3i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3i), 4, 1 }, + { "glProgramUniform3i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64ARB), 0, 0 }, + { "glProgramUniform3i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64NV), 0, 0 }, + { "glProgramUniform3i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64vARB), 0, 0 }, + { "glProgramUniform3i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64vNV), 0, 0 }, + { "glProgramUniform3iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3iEXT), 0, 0 }, + { "glProgramUniform3iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3iv), 4, 1 }, + { "glProgramUniform3ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3ivEXT), 0, 0 }, + { "glProgramUniform3ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui), 4, 1 }, + { "glProgramUniform3ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64ARB), 0, 0 }, + { "glProgramUniform3ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64NV), 0, 0 }, + { "glProgramUniform3ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vARB), 0, 0 }, + { "glProgramUniform3ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vNV), 0, 0 }, + { "glProgramUniform3uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3uiEXT), 0, 0 }, + { "glProgramUniform3uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3uiv), 4, 1 }, + { "glProgramUniform3uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3uivEXT), 0, 0 }, + { "glProgramUniform4d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4d), 4, 1 }, + { "glProgramUniform4dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4dEXT), 0, 0 }, + { "glProgramUniform4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4dv), 4, 1 }, + { "glProgramUniform4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4dvEXT), 0, 0 }, + { "glProgramUniform4f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4f), 4, 1 }, + { "glProgramUniform4fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4fEXT), 0, 0 }, + { "glProgramUniform4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4fv), 4, 1 }, + { "glProgramUniform4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4fvEXT), 0, 0 }, + { "glProgramUniform4i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4i), 4, 1 }, + { "glProgramUniform4i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64ARB), 0, 0 }, + { "glProgramUniform4i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64NV), 0, 0 }, + { "glProgramUniform4i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64vARB), 0, 0 }, + { "glProgramUniform4i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64vNV), 0, 0 }, + { "glProgramUniform4iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4iEXT), 0, 0 }, + { "glProgramUniform4iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4iv), 4, 1 }, + { "glProgramUniform4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4ivEXT), 0, 0 }, + { "glProgramUniform4ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui), 4, 1 }, + { "glProgramUniform4ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64ARB), 0, 0 }, + { "glProgramUniform4ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64NV), 0, 0 }, + { "glProgramUniform4ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vARB), 0, 0 }, + { "glProgramUniform4ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vNV), 0, 0 }, + { "glProgramUniform4uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4uiEXT), 0, 0 }, + { "glProgramUniform4uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4uiv), 4, 1 }, + { "glProgramUniform4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4uivEXT), 0, 0 }, + { "glProgramUniformHandleui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64ARB), 0, 0 }, + { "glProgramUniformHandleui64NV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64NV), 0, 0 }, + { "glProgramUniformHandleui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vARB), 0, 0 }, + { "glProgramUniformHandleui64vNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vNV), 0, 0 }, + { "glProgramUniformMatrix2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dv), 4, 1 }, + { "glProgramUniformMatrix2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dvEXT), 0, 0 }, + { "glProgramUniformMatrix2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fv), 4, 1 }, + { "glProgramUniformMatrix2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fvEXT), 0, 0 }, + { "glProgramUniformMatrix2x3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dv), 4, 1 }, + { "glProgramUniformMatrix2x3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dvEXT), 0, 0 }, + { "glProgramUniformMatrix2x3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fv), 4, 1 }, + { "glProgramUniformMatrix2x3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fvEXT), 0, 0 }, + { "glProgramUniformMatrix2x4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dv), 4, 1 }, + { "glProgramUniformMatrix2x4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dvEXT), 0, 0 }, + { "glProgramUniformMatrix2x4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fv), 4, 1 }, + { "glProgramUniformMatrix2x4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fvEXT), 0, 0 }, + { "glProgramUniformMatrix3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dv), 4, 1 }, + { "glProgramUniformMatrix3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dvEXT), 0, 0 }, + { "glProgramUniformMatrix3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fv), 4, 1 }, + { "glProgramUniformMatrix3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fvEXT), 0, 0 }, + { "glProgramUniformMatrix3x2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dv), 4, 1 }, + { "glProgramUniformMatrix3x2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dvEXT), 0, 0 }, + { "glProgramUniformMatrix3x2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fv), 4, 1 }, + { "glProgramUniformMatrix3x2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fvEXT), 0, 0 }, + { "glProgramUniformMatrix3x4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dv), 4, 1 }, + { "glProgramUniformMatrix3x4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dvEXT), 0, 0 }, + { "glProgramUniformMatrix3x4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fv), 4, 1 }, + { "glProgramUniformMatrix3x4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fvEXT), 0, 0 }, + { "glProgramUniformMatrix4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dv), 4, 1 }, + { "glProgramUniformMatrix4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dvEXT), 0, 0 }, + { "glProgramUniformMatrix4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fv), 4, 1 }, + { "glProgramUniformMatrix4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fvEXT), 0, 0 }, + { "glProgramUniformMatrix4x2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dv), 4, 1 }, + { "glProgramUniformMatrix4x2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dvEXT), 0, 0 }, + { "glProgramUniformMatrix4x2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fv), 4, 1 }, + { "glProgramUniformMatrix4x2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fvEXT), 0, 0 }, + { "glProgramUniformMatrix4x3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dv), 4, 1 }, + { "glProgramUniformMatrix4x3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dvEXT), 0, 0 }, + { "glProgramUniformMatrix4x3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fv), 4, 1 }, + { "glProgramUniformMatrix4x3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fvEXT), 0, 0 }, + { "glProgramUniformui64NV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glProgramUniformui64NV), 0, 0 }, + { "glProgramUniformui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glProgramUniformui64vNV), 0, 0 }, + { "glProgramVertexLimitNV", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glProgramVertexLimitNV), 0, 0 }, + { "glProvokingVertex", "GL_ARB_provoking_vertex\0", offsetof(struct opengl_funcs, p_glProvokingVertex), 3, 2 }, + { "glProvokingVertexEXT", "GL_EXT_provoking_vertex\0", offsetof(struct opengl_funcs, p_glProvokingVertexEXT), 0, 0 }, + { "glPushClientAttribDefaultEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glPushClientAttribDefaultEXT), 0, 0 }, + { "glPushDebugGroup", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glPushDebugGroup), 4, 3 }, + { "glPushGroupMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glPushGroupMarkerEXT), 0, 0 }, + { "glQueryCounter", "GL_ARB_timer_query\0", offsetof(struct opengl_funcs, p_glQueryCounter), 3, 3 }, + { "glQueryMatrixxOES", "GL_OES_query_matrix\0", offsetof(struct opengl_funcs, p_glQueryMatrixxOES), 0, 0 }, + { "glQueryObjectParameteruiAMD", "GL_AMD_occlusion_query_event\0", offsetof(struct opengl_funcs, p_glQueryObjectParameteruiAMD), 0, 0 }, + { "glQueryResourceNV", "GL_NV_query_resource\0", offsetof(struct opengl_funcs, p_glQueryResourceNV), 0, 0 }, + { "glQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glQueryResourceTagNV), 0, 0 }, + { "glRasterPos2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos2xOES), 0, 0 }, + { "glRasterPos2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos2xvOES), 0, 0 }, + { "glRasterPos3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos3xOES), 0, 0 }, + { "glRasterPos3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos3xvOES), 0, 0 }, + { "glRasterPos4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos4xOES), 0, 0 }, + { "glRasterPos4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos4xvOES), 0, 0 }, + { "glRasterSamplesEXT", "GL_EXT_raster_multisample\0GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glRasterSamplesEXT), 0, 0 }, + { "glReadBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glReadBufferRegion), 0, 0 }, + { "glReadInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glReadInstrumentsSGIX), 0, 0 }, + { "glReadnPixels", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glReadnPixels), 4, 5 }, + { "glReadnPixelsARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glReadnPixelsARB), 0, 0 }, + { "glRectxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRectxOES), 0, 0 }, + { "glRectxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRectxvOES), 0, 0 }, + { "glReferencePlaneSGIX", "GL_SGIX_reference_plane\0", offsetof(struct opengl_funcs, p_glReferencePlaneSGIX), 0, 0 }, + { "glReleaseKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex\0", offsetof(struct opengl_funcs, p_glReleaseKeyedMutexWin32EXT), 0, 0 }, + { "glReleaseShaderCompiler", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glReleaseShaderCompiler), 4, 1 }, + { "glRenderGpuMaskNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glRenderGpuMaskNV), 0, 0 }, + { "glRenderbufferStorage", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glRenderbufferStorage), 3, 0 }, + { "glRenderbufferStorageEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageEXT), 0, 0 }, + { "glRenderbufferStorageMultisample", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisample), 3, 0 }, + { "glRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleAdvancedAMD), 0, 0 }, + { "glRenderbufferStorageMultisampleCoverageNV", "GL_NV_framebuffer_multisample_coverage\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleCoverageNV), 0, 0 }, + { "glRenderbufferStorageMultisampleEXT", "GL_EXT_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleEXT), 0, 0 }, + { "glReplacementCodePointerSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodePointerSUN), 0, 0 }, + { "glReplacementCodeubSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubSUN), 0, 0 }, + { "glReplacementCodeubvSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubvSUN), 0, 0 }, + { "glReplacementCodeuiColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuiColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuiNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuiSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiSUN), 0, 0 }, + { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuiTexCoord2fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiTexCoord2fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuiVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fSUN), 0, 0 }, + { "glReplacementCodeuiVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fvSUN), 0, 0 }, + { "glReplacementCodeuivSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeuivSUN), 0, 0 }, + { "glReplacementCodeusSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeusSUN), 0, 0 }, + { "glReplacementCodeusvSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeusvSUN), 0, 0 }, + { "glRequestResidentProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glRequestResidentProgramsNV), 0, 0 }, + { "glResetHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glResetHistogram), 0, 0 }, + { "glResetHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glResetHistogramEXT), 0, 0 }, + { "glResetMemoryObjectParameterNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glResetMemoryObjectParameterNV), 0, 0 }, + { "glResetMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glResetMinmax), 0, 0 }, + { "glResetMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glResetMinmaxEXT), 0, 0 }, + { "glResizeBuffersMESA", "GL_MESA_resize_buffers\0", offsetof(struct opengl_funcs, p_glResizeBuffersMESA), 0, 0 }, + { "glResolveDepthValuesNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glResolveDepthValuesNV), 0, 0 }, + { "glResumeTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glResumeTransformFeedback), 4, 0 }, + { "glResumeTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glResumeTransformFeedbackNV), 0, 0 }, + { "glRotatex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glRotatex), 0, 0 }, + { "glRotatexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRotatexOES), 0, 0 }, + { "glSampleCoverage", "\0", offsetof(struct opengl_funcs, p_glSampleCoverage), 1, 3 }, + { "glSampleCoverageARB", "GL_ARB_multisample\0", offsetof(struct opengl_funcs, p_glSampleCoverageARB), 0, 0 }, + { "glSampleCoveragex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glSampleCoveragex), 0, 0 }, + { "glSampleMapATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glSampleMapATI), 0, 0 }, + { "glSampleMaskEXT", "GL_EXT_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskEXT), 0, 0 }, + { "glSampleMaskIndexedNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskIndexedNV), 0, 0 }, + { "glSampleMaskSGIS", "GL_SGIS_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskSGIS), 0, 0 }, + { "glSampleMaski", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaski), 3, 2 }, + { "glSamplePatternEXT", "GL_EXT_multisample\0", offsetof(struct opengl_funcs, p_glSamplePatternEXT), 0, 0 }, + { "glSamplePatternSGIS", "GL_SGIS_multisample\0", offsetof(struct opengl_funcs, p_glSamplePatternSGIS), 0, 0 }, + { "glSamplerParameterIiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterIiv), 3, 3 }, + { "glSamplerParameterIuiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterIuiv), 3, 3 }, + { "glSamplerParameterf", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterf), 3, 3 }, + { "glSamplerParameterfv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterfv), 3, 3 }, + { "glSamplerParameteri", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameteri), 3, 3 }, + { "glSamplerParameteriv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameteriv), 3, 3 }, + { "glScalex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glScalex), 0, 0 }, + { "glScalexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glScalexOES), 0, 0 }, + { "glScissorArrayv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glScissorArrayv), 4, 1 }, + { "glScissorExclusiveArrayvNV", "GL_NV_scissor_exclusive\0", offsetof(struct opengl_funcs, p_glScissorExclusiveArrayvNV), 0, 0 }, + { "glScissorExclusiveNV", "GL_NV_scissor_exclusive\0", offsetof(struct opengl_funcs, p_glScissorExclusiveNV), 0, 0 }, + { "glScissorIndexed", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glScissorIndexed), 4, 1 }, + { "glScissorIndexedv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glScissorIndexedv), 4, 1 }, + { "glSecondaryColor3b", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3b), 1, 4 }, + { "glSecondaryColor3bEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bEXT), 0, 0 }, + { "glSecondaryColor3bv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bv), 1, 4 }, + { "glSecondaryColor3bvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bvEXT), 0, 0 }, + { "glSecondaryColor3d", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3d), 1, 4 }, + { "glSecondaryColor3dEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dEXT), 0, 0 }, + { "glSecondaryColor3dv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dv), 1, 4 }, + { "glSecondaryColor3dvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dvEXT), 0, 0 }, + { "glSecondaryColor3f", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3f), 1, 4 }, + { "glSecondaryColor3fEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fEXT), 0, 0 }, + { "glSecondaryColor3fv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fv), 1, 4 }, + { "glSecondaryColor3fvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fvEXT), 0, 0 }, + { "glSecondaryColor3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glSecondaryColor3hNV), 0, 0 }, + { "glSecondaryColor3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glSecondaryColor3hvNV), 0, 0 }, + { "glSecondaryColor3i", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3i), 1, 4 }, + { "glSecondaryColor3iEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3iEXT), 0, 0 }, + { "glSecondaryColor3iv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3iv), 1, 4 }, + { "glSecondaryColor3ivEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ivEXT), 0, 0 }, + { "glSecondaryColor3s", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3s), 1, 4 }, + { "glSecondaryColor3sEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3sEXT), 0, 0 }, + { "glSecondaryColor3sv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3sv), 1, 4 }, + { "glSecondaryColor3svEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3svEXT), 0, 0 }, + { "glSecondaryColor3ub", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ub), 1, 4 }, + { "glSecondaryColor3ubEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubEXT), 0, 0 }, + { "glSecondaryColor3ubv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubv), 1, 4 }, + { "glSecondaryColor3ubvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubvEXT), 0, 0 }, + { "glSecondaryColor3ui", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ui), 1, 4 }, + { "glSecondaryColor3uiEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uiEXT), 0, 0 }, + { "glSecondaryColor3uiv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uiv), 1, 4 }, + { "glSecondaryColor3uivEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uivEXT), 0, 0 }, + { "glSecondaryColor3us", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3us), 1, 4 }, + { "glSecondaryColor3usEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usEXT), 0, 0 }, + { "glSecondaryColor3usv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usv), 1, 4 }, + { "glSecondaryColor3usvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usvEXT), 0, 0 }, + { "glSecondaryColorFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glSecondaryColorFormatNV), 0, 0 }, + { "glSecondaryColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glSecondaryColorP3ui), 3, 3 }, + { "glSecondaryColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glSecondaryColorP3uiv), 3, 3 }, + { "glSecondaryColorPointer", "\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointer), 1, 4 }, + { "glSecondaryColorPointerEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointerEXT), 0, 0 }, + { "glSecondaryColorPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointerListIBM), 0, 0 }, + { "glSelectPerfMonitorCountersAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glSelectPerfMonitorCountersAMD), 0, 0 }, + { "glSelectTextureCoordSetSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glSelectTextureCoordSetSGIS), 0, 0 }, + { "glSelectTextureSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glSelectTextureSGIS), 0, 0 }, + { "glSemaphoreParameterivNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glSemaphoreParameterivNV), 0, 0 }, + { "glSemaphoreParameterui64vEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glSemaphoreParameterui64vEXT), 0, 0 }, + { "glSeparableFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glSeparableFilter2D), 0, 0 }, + { "glSeparableFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glSeparableFilter2DEXT), 0, 0 }, + { "glSetFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glSetFenceAPPLE), 0, 0 }, + { "glSetFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glSetFenceNV), 0, 0 }, + { "glSetFragmentShaderConstantATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glSetFragmentShaderConstantATI), 0, 0 }, + { "glSetInvariantEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSetInvariantEXT), 0, 0 }, + { "glSetLocalConstantEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSetLocalConstantEXT), 0, 0 }, + { "glSetMultisamplefvAMD", "GL_AMD_sample_positions\0", offsetof(struct opengl_funcs, p_glSetMultisamplefvAMD), 0, 0 }, + { "glShaderBinary", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glShaderBinary), 4, 1 }, + { "glShaderOp1EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp1EXT), 0, 0 }, + { "glShaderOp2EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp2EXT), 0, 0 }, + { "glShaderOp3EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp3EXT), 0, 0 }, + { "glShaderSource", "\0", offsetof(struct opengl_funcs, p_glShaderSource), 2, 0 }, + { "glShaderSourceARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glShaderSourceARB), 0, 0 }, + { "glShaderStorageBlockBinding", "GL_ARB_shader_storage_buffer_object\0", offsetof(struct opengl_funcs, p_glShaderStorageBlockBinding), 4, 3 }, + { "glShadingRateCombinerOpsEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glShadingRateCombinerOpsEXT), 0, 0 }, + { "glShadingRateEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glShadingRateEXT), 0, 0 }, + { "glShadingRateImageBarrierNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateImageBarrierNV), 0, 0 }, + { "glShadingRateImagePaletteNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateImagePaletteNV), 0, 0 }, + { "glShadingRateSampleOrderCustomNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderCustomNV), 0, 0 }, + { "glShadingRateSampleOrderNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderNV), 0, 0 }, + { "glSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture\0", offsetof(struct opengl_funcs, p_glSharpenTexFuncSGIS), 0, 0 }, + { "glSignalSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glSignalSemaphoreEXT), 0, 0 }, + { "glSignalSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glSignalSemaphoreui64NVX), 0, 0 }, + { "glSignalVkFenceNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glSignalVkFenceNV), 0, 0 }, + { "glSignalVkSemaphoreNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glSignalVkSemaphoreNV), 0, 0 }, + { "glSpecializeShader", "\0", offsetof(struct opengl_funcs, p_glSpecializeShader), 4, 6 }, + { "glSpecializeShaderARB", "GL_ARB_gl_spirv\0", offsetof(struct opengl_funcs, p_glSpecializeShaderARB), 0, 0 }, + { "glSpriteParameterfSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterfSGIX), 0, 0 }, + { "glSpriteParameterfvSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterfvSGIX), 0, 0 }, + { "glSpriteParameteriSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameteriSGIX), 0, 0 }, + { "glSpriteParameterivSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterivSGIX), 0, 0 }, + { "glStartInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glStartInstrumentsSGIX), 0, 0 }, + { "glStateCaptureNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glStateCaptureNV), 0, 0 }, + { "glStencilClearTagEXT", "GL_EXT_stencil_clear_tag\0", offsetof(struct opengl_funcs, p_glStencilClearTagEXT), 0, 0 }, + { "glStencilFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilFillPathInstancedNV), 0, 0 }, + { "glStencilFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilFillPathNV), 0, 0 }, + { "glStencilFuncSeparate", "\0", offsetof(struct opengl_funcs, p_glStencilFuncSeparate), 2, 0 }, + { "glStencilFuncSeparateATI", "GL_ATI_separate_stencil\0", offsetof(struct opengl_funcs, p_glStencilFuncSeparateATI), 0, 0 }, + { "glStencilMaskSeparate", "\0", offsetof(struct opengl_funcs, p_glStencilMaskSeparate), 2, 0 }, + { "glStencilOpSeparate", "\0", offsetof(struct opengl_funcs, p_glStencilOpSeparate), 2, 0 }, + { "glStencilOpSeparateATI", "GL_ATI_separate_stencil\0", offsetof(struct opengl_funcs, p_glStencilOpSeparateATI), 0, 0 }, + { "glStencilOpValueAMD", "GL_AMD_stencil_operation_extended\0", offsetof(struct opengl_funcs, p_glStencilOpValueAMD), 0, 0 }, + { "glStencilStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilStrokePathInstancedNV), 0, 0 }, + { "glStencilStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilStrokePathNV), 0, 0 }, + { "glStencilThenCoverFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathInstancedNV), 0, 0 }, + { "glStencilThenCoverFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathNV), 0, 0 }, + { "glStencilThenCoverStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathInstancedNV), 0, 0 }, + { "glStencilThenCoverStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathNV), 0, 0 }, + { "glStopInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glStopInstrumentsSGIX), 0, 0 }, + { "glStringMarkerGREMEDY", "GL_GREMEDY_string_marker\0", offsetof(struct opengl_funcs, p_glStringMarkerGREMEDY), 0, 0 }, + { "glSubpixelPrecisionBiasNV", "GL_NV_conservative_raster\0", offsetof(struct opengl_funcs, p_glSubpixelPrecisionBiasNV), 0, 0 }, + { "glSwizzleEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSwizzleEXT), 0, 0 }, + { "glSyncTextureINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glSyncTextureINTEL), 0, 0 }, + { "glTagSampleBufferSGIX", "GL_SGIX_tag_sample_buffer\0", offsetof(struct opengl_funcs, p_glTagSampleBufferSGIX), 0, 0 }, + { "glTangent3bEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3bEXT), 0, 0 }, + { "glTangent3bvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3bvEXT), 0, 0 }, + { "glTangent3dEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3dEXT), 0, 0 }, + { "glTangent3dvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3dvEXT), 0, 0 }, + { "glTangent3fEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3fEXT), 0, 0 }, + { "glTangent3fvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3fvEXT), 0, 0 }, + { "glTangent3iEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3iEXT), 0, 0 }, + { "glTangent3ivEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3ivEXT), 0, 0 }, + { "glTangent3sEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3sEXT), 0, 0 }, + { "glTangent3svEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3svEXT), 0, 0 }, + { "glTangentPointerEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangentPointerEXT), 0, 0 }, + { "glTbufferMask3DFX", "GL_3DFX_tbuffer\0", offsetof(struct opengl_funcs, p_glTbufferMask3DFX), 0, 0 }, + { "glTessellationFactorAMD", "GL_AMD_vertex_shader_tessellator\0", offsetof(struct opengl_funcs, p_glTessellationFactorAMD), 0, 0 }, + { "glTessellationModeAMD", "GL_AMD_vertex_shader_tessellator\0", offsetof(struct opengl_funcs, p_glTessellationModeAMD), 0, 0 }, + { "glTestFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glTestFenceAPPLE), 0, 0 }, + { "glTestFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glTestFenceNV), 0, 0 }, + { "glTestObjectAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glTestObjectAPPLE), 0, 0 }, + { "glTexAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glTexAttachMemoryNV), 0, 0 }, + { "glTexBuffer", "\0", offsetof(struct opengl_funcs, p_glTexBuffer), 3, 1 }, + { "glTexBufferARB", "GL_ARB_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferARB), 0, 0 }, + { "glTexBufferEXT", "GL_EXT_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferEXT), 0, 0 }, + { "glTexBufferRange", "GL_ARB_texture_buffer_range\0", offsetof(struct opengl_funcs, p_glTexBufferRange), 4, 3 }, + { "glTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterfvATI), 0, 0 }, + { "glTexBumpParameterivATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterivATI), 0, 0 }, + { "glTexCoord1bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord1bOES), 0, 0 }, + { "glTexCoord1bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord1bvOES), 0, 0 }, + { "glTexCoord1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord1hNV), 0, 0 }, + { "glTexCoord1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord1hvNV), 0, 0 }, + { "glTexCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord1xOES), 0, 0 }, + { "glTexCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord1xvOES), 0, 0 }, + { "glTexCoord2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord2bOES), 0, 0 }, + { "glTexCoord2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord2bvOES), 0, 0 }, + { "glTexCoord2fColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fSUN), 0, 0 }, + { "glTexCoord2fColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fvSUN), 0, 0 }, + { "glTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0 }, + { "glTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0 }, + { "glTexCoord2fColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fSUN), 0, 0 }, + { "glTexCoord2fColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fvSUN), 0, 0 }, + { "glTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fSUN), 0, 0 }, + { "glTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fvSUN), 0, 0 }, + { "glTexCoord2fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fSUN), 0, 0 }, + { "glTexCoord2fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fvSUN), 0, 0 }, + { "glTexCoord2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord2hNV), 0, 0 }, + { "glTexCoord2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord2hvNV), 0, 0 }, + { "glTexCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord2xOES), 0, 0 }, + { "glTexCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord2xvOES), 0, 0 }, + { "glTexCoord3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord3bOES), 0, 0 }, + { "glTexCoord3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord3bvOES), 0, 0 }, + { "glTexCoord3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord3hNV), 0, 0 }, + { "glTexCoord3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord3hvNV), 0, 0 }, + { "glTexCoord3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord3xOES), 0, 0 }, + { "glTexCoord3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord3xvOES), 0, 0 }, + { "glTexCoord4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord4bOES), 0, 0 }, + { "glTexCoord4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord4bvOES), 0, 0 }, + { "glTexCoord4fColor4fNormal3fVertex4fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fSUN), 0, 0 }, + { "glTexCoord4fColor4fNormal3fVertex4fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fvSUN), 0, 0 }, + { "glTexCoord4fVertex4fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fSUN), 0, 0 }, + { "glTexCoord4fVertex4fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fvSUN), 0, 0 }, + { "glTexCoord4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord4hNV), 0, 0 }, + { "glTexCoord4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord4hvNV), 0, 0 }, + { "glTexCoord4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord4xOES), 0, 0 }, + { "glTexCoord4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord4xvOES), 0, 0 }, + { "glTexCoordFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glTexCoordFormatNV), 0, 0 }, + { "glTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP1ui), 3, 3 }, + { "glTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP1uiv), 3, 3 }, + { "glTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP2ui), 3, 3 }, + { "glTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP2uiv), 3, 3 }, + { "glTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP3ui), 3, 3 }, + { "glTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP3uiv), 3, 3 }, + { "glTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP4ui), 3, 3 }, + { "glTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP4uiv), 3, 3 }, + { "glTexCoordPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glTexCoordPointerEXT), 0, 0 }, + { "glTexCoordPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glTexCoordPointerListIBM), 0, 0 }, + { "glTexCoordPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glTexCoordPointervINTEL), 0, 0 }, + { "glTexEnvx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexEnvx), 0, 0 }, + { "glTexEnvxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexEnvxOES), 0, 0 }, + { "glTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexEnvxv), 0, 0 }, + { "glTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexEnvxvOES), 0, 0 }, + { "glTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glTexFilterFuncSGIS), 0, 0 }, + { "glTexGenxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxOES), 0, 0 }, + { "glTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxvOES), 0, 0 }, + { "glTexImage2DMultisample", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisample), 3, 2 }, + { "glTexImage2DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisampleCoverageNV), 0, 0 }, + { "glTexImage3D", "\0", offsetof(struct opengl_funcs, p_glTexImage3D), 1, 2 }, + { "glTexImage3DEXT", "GL_EXT_texture3D\0", offsetof(struct opengl_funcs, p_glTexImage3DEXT), 0, 0 }, + { "glTexImage3DMultisample", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage3DMultisample), 3, 2 }, + { "glTexImage3DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage3DMultisampleCoverageNV), 0, 0 }, + { "glTexImage4DSGIS", "GL_SGIS_texture4D\0", offsetof(struct opengl_funcs, p_glTexImage4DSGIS), 0, 0 }, + { "glTexPageCommitmentARB", "GL_ARB_sparse_texture\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentARB), 0, 0 }, + { "glTexPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentMemNV), 0, 0 }, + { "glTexParameterIiv", "\0", offsetof(struct opengl_funcs, p_glTexParameterIiv), 3, 0 }, + { "glTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIivEXT), 0, 0 }, + { "glTexParameterIuiv", "\0", offsetof(struct opengl_funcs, p_glTexParameterIuiv), 3, 0 }, + { "glTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIuivEXT), 0, 0 }, + { "glTexParameterx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterx), 0, 0 }, + { "glTexParameterxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexParameterxOES), 0, 0 }, + { "glTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterxv), 0, 0 }, + { "glTexParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexParameterxvOES), 0, 0 }, + { "glTexRenderbufferNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glTexRenderbufferNV), 0, 0 }, + { "glTexStorage1D", "GL_ARB_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage1D), 4, 2 }, + { "glTexStorage1DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage1DEXT), 0, 0 }, + { "glTexStorage2D", "GL_ARB_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage2D), 4, 2 }, + { "glTexStorage2DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage2DEXT), 0, 0 }, + { "glTexStorage2DMultisample", "GL_ARB_texture_storage_multisample\0", offsetof(struct opengl_funcs, p_glTexStorage2DMultisample), 4, 3 }, + { "glTexStorage3D", "GL_ARB_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage3D), 4, 2 }, + { "glTexStorage3DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage3DEXT), 0, 0 }, + { "glTexStorage3DMultisample", "GL_ARB_texture_storage_multisample\0", offsetof(struct opengl_funcs, p_glTexStorage3DMultisample), 4, 3 }, + { "glTexStorageMem1DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem1DEXT), 0, 0 }, + { "glTexStorageMem2DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem2DEXT), 0, 0 }, + { "glTexStorageMem2DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem2DMultisampleEXT), 0, 0 }, + { "glTexStorageMem3DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem3DEXT), 0, 0 }, + { "glTexStorageMem3DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem3DMultisampleEXT), 0, 0 }, + { "glTexStorageSparseAMD", "GL_AMD_sparse_texture\0", offsetof(struct opengl_funcs, p_glTexStorageSparseAMD), 0, 0 }, + { "glTexSubImage1DEXT", "GL_EXT_subtexture\0", offsetof(struct opengl_funcs, p_glTexSubImage1DEXT), 0, 0 }, + { "glTexSubImage2DEXT", "GL_EXT_subtexture\0", offsetof(struct opengl_funcs, p_glTexSubImage2DEXT), 0, 0 }, + { "glTexSubImage3D", "\0", offsetof(struct opengl_funcs, p_glTexSubImage3D), 1, 2 }, + { "glTexSubImage3DEXT", "GL_EXT_texture3D\0", offsetof(struct opengl_funcs, p_glTexSubImage3DEXT), 0, 0 }, + { "glTexSubImage4DSGIS", "GL_SGIS_texture4D\0", offsetof(struct opengl_funcs, p_glTexSubImage4DSGIS), 0, 0 }, + { "glTextureAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glTextureAttachMemoryNV), 0, 0 }, + { "glTextureBarrier", "GL_ARB_texture_barrier\0", offsetof(struct opengl_funcs, p_glTextureBarrier), 4, 5 }, + { "glTextureBarrierNV", "GL_NV_texture_barrier\0", offsetof(struct opengl_funcs, p_glTextureBarrierNV), 0, 0 }, + { "glTextureBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBuffer), 4, 5 }, + { "glTextureBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferEXT), 0, 0 }, + { "glTextureBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferRange), 4, 5 }, + { "glTextureBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferRangeEXT), 0, 0 }, + { "glTextureColorMaskSGIS", "GL_SGIS_texture_color_mask\0", offsetof(struct opengl_funcs, p_glTextureColorMaskSGIS), 0, 0 }, + { "glTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage1DEXT), 0, 0 }, + { "glTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage2DEXT), 0, 0 }, + { "glTextureImage2DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleCoverageNV), 0, 0 }, + { "glTextureImage2DMultisampleNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleNV), 0, 0 }, + { "glTextureImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage3DEXT), 0, 0 }, + { "glTextureImage3DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleCoverageNV), 0, 0 }, + { "glTextureImage3DMultisampleNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleNV), 0, 0 }, + { "glTextureLightEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glTextureLightEXT), 0, 0 }, + { "glTextureMaterialEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glTextureMaterialEXT), 0, 0 }, + { "glTextureNormalEXT", "GL_EXT_texture_perturb_normal\0", offsetof(struct opengl_funcs, p_glTextureNormalEXT), 0, 0 }, + { "glTexturePageCommitmentEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTexturePageCommitmentEXT), 0, 0 }, + { "glTexturePageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glTexturePageCommitmentMemNV), 0, 0 }, + { "glTextureParameterIiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIiv), 4, 5 }, + { "glTextureParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIivEXT), 0, 0 }, + { "glTextureParameterIuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIuiv), 4, 5 }, + { "glTextureParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIuivEXT), 0, 0 }, + { "glTextureParameterf", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterf), 4, 5 }, + { "glTextureParameterfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfEXT), 0, 0 }, + { "glTextureParameterfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfv), 4, 5 }, + { "glTextureParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfvEXT), 0, 0 }, + { "glTextureParameteri", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameteri), 4, 5 }, + { "glTextureParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameteriEXT), 0, 0 }, + { "glTextureParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameteriv), 4, 5 }, + { "glTextureParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterivEXT), 0, 0 }, + { "glTextureRangeAPPLE", "GL_APPLE_texture_range\0", offsetof(struct opengl_funcs, p_glTextureRangeAPPLE), 0, 0 }, + { "glTextureRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureRenderbufferEXT), 0, 0 }, + { "glTextureStorage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage1D), 4, 5 }, + { "glTextureStorage1DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage1DEXT), 0, 0 }, + { "glTextureStorage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage2D), 4, 5 }, + { "glTextureStorage2DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage2DEXT), 0, 0 }, + { "glTextureStorage2DMultisample", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisample), 4, 5 }, + { "glTextureStorage2DMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisampleEXT), 0, 0 }, + { "glTextureStorage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage3D), 4, 5 }, + { "glTextureStorage3DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage3DEXT), 0, 0 }, + { "glTextureStorage3DMultisample", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisample), 4, 5 }, + { "glTextureStorage3DMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisampleEXT), 0, 0 }, + { "glTextureStorageMem1DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem1DEXT), 0, 0 }, + { "glTextureStorageMem2DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem2DEXT), 0, 0 }, + { "glTextureStorageMem2DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem2DMultisampleEXT), 0, 0 }, + { "glTextureStorageMem3DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem3DEXT), 0, 0 }, + { "glTextureStorageMem3DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem3DMultisampleEXT), 0, 0 }, + { "glTextureStorageSparseAMD", "GL_AMD_sparse_texture\0", offsetof(struct opengl_funcs, p_glTextureStorageSparseAMD), 0, 0 }, + { "glTextureSubImage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage1D), 4, 5 }, + { "glTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage1DEXT), 0, 0 }, + { "glTextureSubImage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage2D), 4, 5 }, + { "glTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage2DEXT), 0, 0 }, + { "glTextureSubImage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage3D), 4, 5 }, + { "glTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage3DEXT), 0, 0 }, + { "glTextureView", "GL_ARB_texture_view\0", offsetof(struct opengl_funcs, p_glTextureView), 4, 3 }, + { "glTrackMatrixNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glTrackMatrixNV), 0, 0 }, + { "glTransformFeedbackAttribsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackAttribsNV), 0, 0 }, + { "glTransformFeedbackBufferBase", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferBase), 4, 5 }, + { "glTransformFeedbackBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferRange), 4, 5 }, + { "glTransformFeedbackStreamAttribsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackStreamAttribsNV), 0, 0 }, + { "glTransformFeedbackVaryings", "\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryings), 3, 0 }, + { "glTransformFeedbackVaryingsEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsEXT), 0, 0 }, + { "glTransformFeedbackVaryingsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsNV), 0, 0 }, + { "glTransformPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glTransformPathNV), 0, 0 }, + { "glTranslatex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTranslatex), 0, 0 }, + { "glTranslatexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTranslatexOES), 0, 0 }, + { "glUniform1d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform1d), 4, 0 }, + { "glUniform1dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform1dv), 4, 0 }, + { "glUniform1f", "\0", offsetof(struct opengl_funcs, p_glUniform1f), 2, 0 }, + { "glUniform1fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1fARB), 0, 0 }, + { "glUniform1fv", "\0", offsetof(struct opengl_funcs, p_glUniform1fv), 2, 0 }, + { "glUniform1fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1fvARB), 0, 0 }, + { "glUniform1i", "\0", offsetof(struct opengl_funcs, p_glUniform1i), 2, 0 }, + { "glUniform1i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1i64ARB), 0, 0 }, + { "glUniform1i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1i64NV), 0, 0 }, + { "glUniform1i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1i64vARB), 0, 0 }, + { "glUniform1i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1i64vNV), 0, 0 }, + { "glUniform1iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1iARB), 0, 0 }, + { "glUniform1iv", "\0", offsetof(struct opengl_funcs, p_glUniform1iv), 2, 0 }, + { "glUniform1ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1ivARB), 0, 0 }, + { "glUniform1ui", "\0", offsetof(struct opengl_funcs, p_glUniform1ui), 3, 0 }, + { "glUniform1ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1ui64ARB), 0, 0 }, + { "glUniform1ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1ui64NV), 0, 0 }, + { "glUniform1ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1ui64vARB), 0, 0 }, + { "glUniform1ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1ui64vNV), 0, 0 }, + { "glUniform1uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform1uiEXT), 0, 0 }, + { "glUniform1uiv", "\0", offsetof(struct opengl_funcs, p_glUniform1uiv), 3, 0 }, + { "glUniform1uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform1uivEXT), 0, 0 }, + { "glUniform2d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform2d), 4, 0 }, + { "glUniform2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform2dv), 4, 0 }, + { "glUniform2f", "\0", offsetof(struct opengl_funcs, p_glUniform2f), 2, 0 }, + { "glUniform2fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2fARB), 0, 0 }, + { "glUniform2fv", "\0", offsetof(struct opengl_funcs, p_glUniform2fv), 2, 0 }, + { "glUniform2fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2fvARB), 0, 0 }, + { "glUniform2i", "\0", offsetof(struct opengl_funcs, p_glUniform2i), 2, 0 }, + { "glUniform2i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2i64ARB), 0, 0 }, + { "glUniform2i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2i64NV), 0, 0 }, + { "glUniform2i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2i64vARB), 0, 0 }, + { "glUniform2i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2i64vNV), 0, 0 }, + { "glUniform2iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2iARB), 0, 0 }, + { "glUniform2iv", "\0", offsetof(struct opengl_funcs, p_glUniform2iv), 2, 0 }, + { "glUniform2ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2ivARB), 0, 0 }, + { "glUniform2ui", "\0", offsetof(struct opengl_funcs, p_glUniform2ui), 3, 0 }, + { "glUniform2ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2ui64ARB), 0, 0 }, + { "glUniform2ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2ui64NV), 0, 0 }, + { "glUniform2ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2ui64vARB), 0, 0 }, + { "glUniform2ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2ui64vNV), 0, 0 }, + { "glUniform2uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform2uiEXT), 0, 0 }, + { "glUniform2uiv", "\0", offsetof(struct opengl_funcs, p_glUniform2uiv), 3, 0 }, + { "glUniform2uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform2uivEXT), 0, 0 }, + { "glUniform3d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform3d), 4, 0 }, + { "glUniform3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform3dv), 4, 0 }, + { "glUniform3f", "\0", offsetof(struct opengl_funcs, p_glUniform3f), 2, 0 }, + { "glUniform3fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3fARB), 0, 0 }, + { "glUniform3fv", "\0", offsetof(struct opengl_funcs, p_glUniform3fv), 2, 0 }, + { "glUniform3fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3fvARB), 0, 0 }, + { "glUniform3i", "\0", offsetof(struct opengl_funcs, p_glUniform3i), 2, 0 }, + { "glUniform3i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3i64ARB), 0, 0 }, + { "glUniform3i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3i64NV), 0, 0 }, + { "glUniform3i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3i64vARB), 0, 0 }, + { "glUniform3i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3i64vNV), 0, 0 }, + { "glUniform3iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3iARB), 0, 0 }, + { "glUniform3iv", "\0", offsetof(struct opengl_funcs, p_glUniform3iv), 2, 0 }, + { "glUniform3ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3ivARB), 0, 0 }, + { "glUniform3ui", "\0", offsetof(struct opengl_funcs, p_glUniform3ui), 3, 0 }, + { "glUniform3ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3ui64ARB), 0, 0 }, + { "glUniform3ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3ui64NV), 0, 0 }, + { "glUniform3ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3ui64vARB), 0, 0 }, + { "glUniform3ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3ui64vNV), 0, 0 }, + { "glUniform3uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform3uiEXT), 0, 0 }, + { "glUniform3uiv", "\0", offsetof(struct opengl_funcs, p_glUniform3uiv), 3, 0 }, + { "glUniform3uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform3uivEXT), 0, 0 }, + { "glUniform4d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform4d), 4, 0 }, + { "glUniform4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform4dv), 4, 0 }, + { "glUniform4f", "\0", offsetof(struct opengl_funcs, p_glUniform4f), 2, 0 }, + { "glUniform4fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4fARB), 0, 0 }, + { "glUniform4fv", "\0", offsetof(struct opengl_funcs, p_glUniform4fv), 2, 0 }, + { "glUniform4fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4fvARB), 0, 0 }, + { "glUniform4i", "\0", offsetof(struct opengl_funcs, p_glUniform4i), 2, 0 }, + { "glUniform4i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4i64ARB), 0, 0 }, + { "glUniform4i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4i64NV), 0, 0 }, + { "glUniform4i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4i64vARB), 0, 0 }, + { "glUniform4i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4i64vNV), 0, 0 }, + { "glUniform4iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4iARB), 0, 0 }, + { "glUniform4iv", "\0", offsetof(struct opengl_funcs, p_glUniform4iv), 2, 0 }, + { "glUniform4ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4ivARB), 0, 0 }, + { "glUniform4ui", "\0", offsetof(struct opengl_funcs, p_glUniform4ui), 3, 0 }, + { "glUniform4ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4ui64ARB), 0, 0 }, + { "glUniform4ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4ui64NV), 0, 0 }, + { "glUniform4ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4ui64vARB), 0, 0 }, + { "glUniform4ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4ui64vNV), 0, 0 }, + { "glUniform4uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform4uiEXT), 0, 0 }, + { "glUniform4uiv", "\0", offsetof(struct opengl_funcs, p_glUniform4uiv), 3, 0 }, + { "glUniform4uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform4uivEXT), 0, 0 }, + { "glUniformBlockBinding", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glUniformBlockBinding), 3, 1 }, + { "glUniformBufferEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glUniformBufferEXT), 0, 0 }, + { "glUniformHandleui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64ARB), 0, 0 }, + { "glUniformHandleui64NV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64NV), 0, 0 }, + { "glUniformHandleui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64vARB), 0, 0 }, + { "glUniformHandleui64vNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64vNV), 0, 0 }, + { "glUniformMatrix2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix2dv), 4, 0 }, + { "glUniformMatrix2fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix2fv), 2, 0 }, + { "glUniformMatrix2fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix2fvARB), 0, 0 }, + { "glUniformMatrix2x3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x3dv), 4, 0 }, + { "glUniformMatrix2x3fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x3fv), 2, 1 }, + { "glUniformMatrix2x4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x4dv), 4, 0 }, + { "glUniformMatrix2x4fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x4fv), 2, 1 }, + { "glUniformMatrix3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix3dv), 4, 0 }, + { "glUniformMatrix3fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix3fv), 2, 0 }, + { "glUniformMatrix3fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix3fvARB), 0, 0 }, + { "glUniformMatrix3x2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x2dv), 4, 0 }, + { "glUniformMatrix3x2fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x2fv), 2, 1 }, + { "glUniformMatrix3x4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x4dv), 4, 0 }, + { "glUniformMatrix3x4fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x4fv), 2, 1 }, + { "glUniformMatrix4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix4dv), 4, 0 }, + { "glUniformMatrix4fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix4fv), 2, 0 }, + { "glUniformMatrix4fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix4fvARB), 0, 0 }, + { "glUniformMatrix4x2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x2dv), 4, 0 }, + { "glUniformMatrix4x2fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x2fv), 2, 1 }, + { "glUniformMatrix4x3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x3dv), 4, 0 }, + { "glUniformMatrix4x3fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x3fv), 2, 1 }, + { "glUniformSubroutinesuiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glUniformSubroutinesuiv), 4, 0 }, + { "glUniformui64NV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glUniformui64NV), 0, 0 }, + { "glUniformui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glUniformui64vNV), 0, 0 }, + { "glUnlockArraysEXT", "GL_EXT_compiled_vertex_array\0", offsetof(struct opengl_funcs, p_glUnlockArraysEXT), 0, 0 }, + { "glUnmapBuffer", "\0", offsetof(struct opengl_funcs, p_glUnmapBuffer), 1, 5 }, + { "glUnmapBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glUnmapBufferARB), 0, 0 }, + { "glUnmapNamedBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glUnmapNamedBuffer), 4, 5 }, + { "glUnmapNamedBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glUnmapNamedBufferEXT), 0, 0 }, + { "glUnmapObjectBufferATI", "GL_ATI_map_object_buffer\0", offsetof(struct opengl_funcs, p_glUnmapObjectBufferATI), 0, 0 }, + { "glUnmapTexture2DINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glUnmapTexture2DINTEL), 0, 0 }, + { "glUpdateObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glUpdateObjectBufferATI), 0, 0 }, + { "glUploadGpuMaskNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glUploadGpuMaskNVX), 0, 0 }, + { "glUseProgram", "\0", offsetof(struct opengl_funcs, p_glUseProgram), 2, 0 }, + { "glUseProgramObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUseProgramObjectARB), 0, 0 }, + { "glUseProgramStages", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glUseProgramStages), 4, 1 }, + { "glUseShaderProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glUseShaderProgramEXT), 0, 0 }, + { "glVDPAUFiniNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUFiniNV), 0, 0 }, + { "glVDPAUGetSurfaceivNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUGetSurfaceivNV), 0, 0 }, + { "glVDPAUInitNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUInitNV), 0, 0 }, + { "glVDPAUIsSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUIsSurfaceNV), 0, 0 }, + { "glVDPAUMapSurfacesNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUMapSurfacesNV), 0, 0 }, + { "glVDPAURegisterOutputSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAURegisterOutputSurfaceNV), 0, 0 }, + { "glVDPAURegisterVideoSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceNV), 0, 0 }, + { "glVDPAURegisterVideoSurfaceWithPictureStructureNV", "GL_NV_vdpau_interop2\0", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceWithPictureStructureNV), 0, 0 }, + { "glVDPAUSurfaceAccessNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUSurfaceAccessNV), 0, 0 }, + { "glVDPAUUnmapSurfacesNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUUnmapSurfacesNV), 0, 0 }, + { "glVDPAUUnregisterSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUUnregisterSurfaceNV), 0, 0 }, + { "glValidateProgram", "\0", offsetof(struct opengl_funcs, p_glValidateProgram), 2, 0 }, + { "glValidateProgramARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glValidateProgramARB), 0, 0 }, + { "glValidateProgramPipeline", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glValidateProgramPipeline), 4, 1 }, + { "glVariantArrayObjectATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glVariantArrayObjectATI), 0, 0 }, + { "glVariantPointerEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantPointerEXT), 0, 0 }, + { "glVariantbvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantbvEXT), 0, 0 }, + { "glVariantdvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantdvEXT), 0, 0 }, + { "glVariantfvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantfvEXT), 0, 0 }, + { "glVariantivEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantivEXT), 0, 0 }, + { "glVariantsvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantsvEXT), 0, 0 }, + { "glVariantubvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantubvEXT), 0, 0 }, + { "glVariantuivEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantuivEXT), 0, 0 }, + { "glVariantusvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantusvEXT), 0, 0 }, + { "glVertex2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex2bOES), 0, 0 }, + { "glVertex2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex2bvOES), 0, 0 }, + { "glVertex2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex2hNV), 0, 0 }, + { "glVertex2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex2hvNV), 0, 0 }, + { "glVertex2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex2xOES), 0, 0 }, + { "glVertex2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex2xvOES), 0, 0 }, + { "glVertex3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex3bOES), 0, 0 }, + { "glVertex3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex3bvOES), 0, 0 }, + { "glVertex3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex3hNV), 0, 0 }, + { "glVertex3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex3hvNV), 0, 0 }, + { "glVertex3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex3xOES), 0, 0 }, + { "glVertex3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex3xvOES), 0, 0 }, + { "glVertex4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex4bOES), 0, 0 }, + { "glVertex4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex4bvOES), 0, 0 }, + { "glVertex4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex4hNV), 0, 0 }, + { "glVertex4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex4hvNV), 0, 0 }, + { "glVertex4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex4xOES), 0, 0 }, + { "glVertex4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex4xvOES), 0, 0 }, + { "glVertexArrayAttribBinding", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribBinding), 4, 5 }, + { "glVertexArrayAttribFormat", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribFormat), 4, 5 }, + { "glVertexArrayAttribIFormat", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribIFormat), 4, 5 }, + { "glVertexArrayAttribLFormat", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribLFormat), 4, 5 }, + { "glVertexArrayBindVertexBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayBindVertexBufferEXT), 0, 0 }, + { "glVertexArrayBindingDivisor", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayBindingDivisor), 4, 5 }, + { "glVertexArrayColorOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayColorOffsetEXT), 0, 0 }, + { "glVertexArrayEdgeFlagOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayEdgeFlagOffsetEXT), 0, 0 }, + { "glVertexArrayElementBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayElementBuffer), 4, 5 }, + { "glVertexArrayFogCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayFogCoordOffsetEXT), 0, 0 }, + { "glVertexArrayIndexOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayIndexOffsetEXT), 0, 0 }, + { "glVertexArrayMultiTexCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayMultiTexCoordOffsetEXT), 0, 0 }, + { "glVertexArrayNormalOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayNormalOffsetEXT), 0, 0 }, + { "glVertexArrayParameteriAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayParameteriAPPLE), 0, 0 }, + { "glVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayRangeAPPLE), 0, 0 }, + { "glVertexArrayRangeNV", "GL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayRangeNV), 0, 0 }, + { "glVertexArraySecondaryColorOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArraySecondaryColorOffsetEXT), 0, 0 }, + { "glVertexArrayTexCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayTexCoordOffsetEXT), 0, 0 }, + { "glVertexArrayVertexAttribBindingEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribBindingEXT), 0, 0 }, + { "glVertexArrayVertexAttribDivisorEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribDivisorEXT), 0, 0 }, + { "glVertexArrayVertexAttribFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribFormatEXT), 0, 0 }, + { "glVertexArrayVertexAttribIFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIFormatEXT), 0, 0 }, + { "glVertexArrayVertexAttribIOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIOffsetEXT), 0, 0 }, + { "glVertexArrayVertexAttribLFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLFormatEXT), 0, 0 }, + { "glVertexArrayVertexAttribLOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLOffsetEXT), 0, 0 }, + { "glVertexArrayVertexAttribOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribOffsetEXT), 0, 0 }, + { "glVertexArrayVertexBindingDivisorEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBindingDivisorEXT), 0, 0 }, + { "glVertexArrayVertexBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffer), 4, 5 }, + { "glVertexArrayVertexBuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffers), 4, 5 }, + { "glVertexArrayVertexOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexOffsetEXT), 0, 0 }, + { "glVertexAttrib1d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1d), 2, 0 }, + { "glVertexAttrib1dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dARB), 0, 0 }, + { "glVertexAttrib1dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dNV), 0, 0 }, + { "glVertexAttrib1dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dv), 2, 0 }, + { "glVertexAttrib1dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dvARB), 0, 0 }, + { "glVertexAttrib1dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dvNV), 0, 0 }, + { "glVertexAttrib1f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1f), 2, 0 }, + { "glVertexAttrib1fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fARB), 0, 0 }, + { "glVertexAttrib1fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fNV), 0, 0 }, + { "glVertexAttrib1fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fv), 2, 0 }, + { "glVertexAttrib1fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fvARB), 0, 0 }, + { "glVertexAttrib1fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fvNV), 0, 0 }, + { "glVertexAttrib1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib1hNV), 0, 0 }, + { "glVertexAttrib1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib1hvNV), 0, 0 }, + { "glVertexAttrib1s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1s), 2, 0 }, + { "glVertexAttrib1sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sARB), 0, 0 }, + { "glVertexAttrib1sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sNV), 0, 0 }, + { "glVertexAttrib1sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sv), 2, 0 }, + { "glVertexAttrib1svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1svARB), 0, 0 }, + { "glVertexAttrib1svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1svNV), 0, 0 }, + { "glVertexAttrib2d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2d), 2, 0 }, + { "glVertexAttrib2dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dARB), 0, 0 }, + { "glVertexAttrib2dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dNV), 0, 0 }, + { "glVertexAttrib2dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dv), 2, 0 }, + { "glVertexAttrib2dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dvARB), 0, 0 }, + { "glVertexAttrib2dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dvNV), 0, 0 }, + { "glVertexAttrib2f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2f), 2, 0 }, + { "glVertexAttrib2fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fARB), 0, 0 }, + { "glVertexAttrib2fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fNV), 0, 0 }, + { "glVertexAttrib2fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fv), 2, 0 }, + { "glVertexAttrib2fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fvARB), 0, 0 }, + { "glVertexAttrib2fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fvNV), 0, 0 }, + { "glVertexAttrib2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib2hNV), 0, 0 }, + { "glVertexAttrib2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib2hvNV), 0, 0 }, + { "glVertexAttrib2s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2s), 2, 0 }, + { "glVertexAttrib2sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sARB), 0, 0 }, + { "glVertexAttrib2sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sNV), 0, 0 }, + { "glVertexAttrib2sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sv), 2, 0 }, + { "glVertexAttrib2svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2svARB), 0, 0 }, + { "glVertexAttrib2svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2svNV), 0, 0 }, + { "glVertexAttrib3d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3d), 2, 0 }, + { "glVertexAttrib3dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dARB), 0, 0 }, + { "glVertexAttrib3dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dNV), 0, 0 }, + { "glVertexAttrib3dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dv), 2, 0 }, + { "glVertexAttrib3dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dvARB), 0, 0 }, + { "glVertexAttrib3dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dvNV), 0, 0 }, + { "glVertexAttrib3f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3f), 2, 0 }, + { "glVertexAttrib3fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fARB), 0, 0 }, + { "glVertexAttrib3fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fNV), 0, 0 }, + { "glVertexAttrib3fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fv), 2, 0 }, + { "glVertexAttrib3fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fvARB), 0, 0 }, + { "glVertexAttrib3fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fvNV), 0, 0 }, + { "glVertexAttrib3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib3hNV), 0, 0 }, + { "glVertexAttrib3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib3hvNV), 0, 0 }, + { "glVertexAttrib3s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3s), 2, 0 }, + { "glVertexAttrib3sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sARB), 0, 0 }, + { "glVertexAttrib3sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sNV), 0, 0 }, + { "glVertexAttrib3sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sv), 2, 0 }, + { "glVertexAttrib3svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3svARB), 0, 0 }, + { "glVertexAttrib3svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3svNV), 0, 0 }, + { "glVertexAttrib4Nbv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nbv), 2, 0 }, + { "glVertexAttrib4NbvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NbvARB), 0, 0 }, + { "glVertexAttrib4Niv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Niv), 2, 0 }, + { "glVertexAttrib4NivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NivARB), 0, 0 }, + { "glVertexAttrib4Nsv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nsv), 2, 0 }, + { "glVertexAttrib4NsvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NsvARB), 0, 0 }, + { "glVertexAttrib4Nub", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nub), 2, 0 }, + { "glVertexAttrib4NubARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NubARB), 0, 0 }, + { "glVertexAttrib4Nubv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nubv), 2, 0 }, + { "glVertexAttrib4NubvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NubvARB), 0, 0 }, + { "glVertexAttrib4Nuiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nuiv), 2, 0 }, + { "glVertexAttrib4NuivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NuivARB), 0, 0 }, + { "glVertexAttrib4Nusv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nusv), 2, 0 }, + { "glVertexAttrib4NusvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NusvARB), 0, 0 }, + { "glVertexAttrib4bv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4bv), 2, 0 }, + { "glVertexAttrib4bvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4bvARB), 0, 0 }, + { "glVertexAttrib4d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4d), 2, 0 }, + { "glVertexAttrib4dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dARB), 0, 0 }, + { "glVertexAttrib4dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dNV), 0, 0 }, + { "glVertexAttrib4dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dv), 2, 0 }, + { "glVertexAttrib4dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dvARB), 0, 0 }, + { "glVertexAttrib4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dvNV), 0, 0 }, + { "glVertexAttrib4f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4f), 2, 0 }, + { "glVertexAttrib4fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fARB), 0, 0 }, + { "glVertexAttrib4fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fNV), 0, 0 }, + { "glVertexAttrib4fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fv), 2, 0 }, + { "glVertexAttrib4fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fvARB), 0, 0 }, + { "glVertexAttrib4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fvNV), 0, 0 }, + { "glVertexAttrib4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib4hNV), 0, 0 }, + { "glVertexAttrib4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib4hvNV), 0, 0 }, + { "glVertexAttrib4iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4iv), 2, 0 }, + { "glVertexAttrib4ivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ivARB), 0, 0 }, + { "glVertexAttrib4s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4s), 2, 0 }, + { "glVertexAttrib4sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sARB), 0, 0 }, + { "glVertexAttrib4sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sNV), 0, 0 }, + { "glVertexAttrib4sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sv), 2, 0 }, + { "glVertexAttrib4svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4svARB), 0, 0 }, + { "glVertexAttrib4svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4svNV), 0, 0 }, + { "glVertexAttrib4ubNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubNV), 0, 0 }, + { "glVertexAttrib4ubv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubv), 2, 0 }, + { "glVertexAttrib4ubvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvARB), 0, 0 }, + { "glVertexAttrib4ubvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvNV), 0, 0 }, + { "glVertexAttrib4uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4uiv), 2, 0 }, + { "glVertexAttrib4uivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4uivARB), 0, 0 }, + { "glVertexAttrib4usv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4usv), 2, 0 }, + { "glVertexAttrib4usvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4usvARB), 0, 0 }, + { "glVertexAttribArrayObjectATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glVertexAttribArrayObjectATI), 0, 0 }, + { "glVertexAttribBinding", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribBinding), 4, 3 }, + { "glVertexAttribDivisor", "\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisor), 3, 3 }, + { "glVertexAttribDivisorARB", "GL_ARB_instanced_arrays\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisorARB), 0, 0 }, + { "glVertexAttribFormat", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribFormat), 4, 3 }, + { "glVertexAttribFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexAttribFormatNV), 0, 0 }, + { "glVertexAttribI1i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1i), 3, 0 }, + { "glVertexAttribI1iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1iEXT), 0, 0 }, + { "glVertexAttribI1iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1iv), 3, 0 }, + { "glVertexAttribI1ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1ivEXT), 0, 0 }, + { "glVertexAttribI1ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1ui), 3, 0 }, + { "glVertexAttribI1uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uiEXT), 0, 0 }, + { "glVertexAttribI1uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uiv), 3, 0 }, + { "glVertexAttribI1uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uivEXT), 0, 0 }, + { "glVertexAttribI2i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2i), 3, 0 }, + { "glVertexAttribI2iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2iEXT), 0, 0 }, + { "glVertexAttribI2iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2iv), 3, 0 }, + { "glVertexAttribI2ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2ivEXT), 0, 0 }, + { "glVertexAttribI2ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2ui), 3, 0 }, + { "glVertexAttribI2uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uiEXT), 0, 0 }, + { "glVertexAttribI2uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uiv), 3, 0 }, + { "glVertexAttribI2uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uivEXT), 0, 0 }, + { "glVertexAttribI3i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3i), 3, 0 }, + { "glVertexAttribI3iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3iEXT), 0, 0 }, + { "glVertexAttribI3iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3iv), 3, 0 }, + { "glVertexAttribI3ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3ivEXT), 0, 0 }, + { "glVertexAttribI3ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3ui), 3, 0 }, + { "glVertexAttribI3uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uiEXT), 0, 0 }, + { "glVertexAttribI3uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uiv), 3, 0 }, + { "glVertexAttribI3uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uivEXT), 0, 0 }, + { "glVertexAttribI4bv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4bv), 3, 0 }, + { "glVertexAttribI4bvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4bvEXT), 0, 0 }, + { "glVertexAttribI4i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4i), 3, 0 }, + { "glVertexAttribI4iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4iEXT), 0, 0 }, + { "glVertexAttribI4iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4iv), 3, 0 }, + { "glVertexAttribI4ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ivEXT), 0, 0 }, + { "glVertexAttribI4sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4sv), 3, 0 }, + { "glVertexAttribI4svEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4svEXT), 0, 0 }, + { "glVertexAttribI4ubv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ubv), 3, 0 }, + { "glVertexAttribI4ubvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ubvEXT), 0, 0 }, + { "glVertexAttribI4ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ui), 3, 0 }, + { "glVertexAttribI4uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uiEXT), 0, 0 }, + { "glVertexAttribI4uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uiv), 3, 0 }, + { "glVertexAttribI4uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uivEXT), 0, 0 }, + { "glVertexAttribI4usv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4usv), 3, 0 }, + { "glVertexAttribI4usvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4usvEXT), 0, 0 }, + { "glVertexAttribIFormat", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribIFormat), 4, 3 }, + { "glVertexAttribIFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexAttribIFormatNV), 0, 0 }, + { "glVertexAttribIPointer", "\0", offsetof(struct opengl_funcs, p_glVertexAttribIPointer), 3, 0 }, + { "glVertexAttribIPointerEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribIPointerEXT), 0, 0 }, + { "glVertexAttribL1d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1d), 4, 1 }, + { "glVertexAttribL1dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dEXT), 0, 0 }, + { "glVertexAttribL1dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dv), 4, 1 }, + { "glVertexAttribL1dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dvEXT), 0, 0 }, + { "glVertexAttribL1i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1i64NV), 0, 0 }, + { "glVertexAttribL1i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1i64vNV), 0, 0 }, + { "glVertexAttribL1ui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64ARB), 0, 0 }, + { "glVertexAttribL1ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64NV), 0, 0 }, + { "glVertexAttribL1ui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vARB), 0, 0 }, + { "glVertexAttribL1ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vNV), 0, 0 }, + { "glVertexAttribL2d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2d), 4, 1 }, + { "glVertexAttribL2dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dEXT), 0, 0 }, + { "glVertexAttribL2dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dv), 4, 1 }, + { "glVertexAttribL2dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dvEXT), 0, 0 }, + { "glVertexAttribL2i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2i64NV), 0, 0 }, + { "glVertexAttribL2i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2i64vNV), 0, 0 }, + { "glVertexAttribL2ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64NV), 0, 0 }, + { "glVertexAttribL2ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64vNV), 0, 0 }, + { "glVertexAttribL3d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3d), 4, 1 }, + { "glVertexAttribL3dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dEXT), 0, 0 }, + { "glVertexAttribL3dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dv), 4, 1 }, + { "glVertexAttribL3dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dvEXT), 0, 0 }, + { "glVertexAttribL3i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3i64NV), 0, 0 }, + { "glVertexAttribL3i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3i64vNV), 0, 0 }, + { "glVertexAttribL3ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64NV), 0, 0 }, + { "glVertexAttribL3ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64vNV), 0, 0 }, + { "glVertexAttribL4d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4d), 4, 1 }, + { "glVertexAttribL4dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dEXT), 0, 0 }, + { "glVertexAttribL4dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dv), 4, 1 }, + { "glVertexAttribL4dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dvEXT), 0, 0 }, + { "glVertexAttribL4i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4i64NV), 0, 0 }, + { "glVertexAttribL4i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4i64vNV), 0, 0 }, + { "glVertexAttribL4ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64NV), 0, 0 }, + { "glVertexAttribL4ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64vNV), 0, 0 }, + { "glVertexAttribLFormat", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribLFormat), 4, 3 }, + { "glVertexAttribLFormatNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLFormatNV), 0, 0 }, + { "glVertexAttribLPointer", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLPointer), 4, 1 }, + { "glVertexAttribLPointerEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLPointerEXT), 0, 0 }, + { "glVertexAttribP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP1ui), 3, 3 }, + { "glVertexAttribP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP1uiv), 3, 3 }, + { "glVertexAttribP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP2ui), 3, 3 }, + { "glVertexAttribP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP2uiv), 3, 3 }, + { "glVertexAttribP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP3ui), 3, 3 }, + { "glVertexAttribP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP3uiv), 3, 3 }, + { "glVertexAttribP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP4ui), 3, 3 }, + { "glVertexAttribP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP4uiv), 3, 3 }, + { "glVertexAttribParameteriAMD", "GL_AMD_interleaved_elements\0", offsetof(struct opengl_funcs, p_glVertexAttribParameteriAMD), 0, 0 }, + { "glVertexAttribPointer", "\0", offsetof(struct opengl_funcs, p_glVertexAttribPointer), 2, 0 }, + { "glVertexAttribPointerARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttribPointerARB), 0, 0 }, + { "glVertexAttribPointerNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribPointerNV), 0, 0 }, + { "glVertexAttribs1dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1dvNV), 0, 0 }, + { "glVertexAttribs1fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1fvNV), 0, 0 }, + { "glVertexAttribs1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs1hvNV), 0, 0 }, + { "glVertexAttribs1svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1svNV), 0, 0 }, + { "glVertexAttribs2dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2dvNV), 0, 0 }, + { "glVertexAttribs2fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2fvNV), 0, 0 }, + { "glVertexAttribs2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs2hvNV), 0, 0 }, + { "glVertexAttribs2svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2svNV), 0, 0 }, + { "glVertexAttribs3dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3dvNV), 0, 0 }, + { "glVertexAttribs3fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3fvNV), 0, 0 }, + { "glVertexAttribs3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs3hvNV), 0, 0 }, + { "glVertexAttribs3svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3svNV), 0, 0 }, + { "glVertexAttribs4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4dvNV), 0, 0 }, + { "glVertexAttribs4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4fvNV), 0, 0 }, + { "glVertexAttribs4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs4hvNV), 0, 0 }, + { "glVertexAttribs4svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4svNV), 0, 0 }, + { "glVertexAttribs4ubvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4ubvNV), 0, 0 }, + { "glVertexBindingDivisor", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexBindingDivisor), 4, 3 }, + { "glVertexBlendARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glVertexBlendARB), 0, 0 }, + { "glVertexBlendEnvfATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexBlendEnvfATI), 0, 0 }, + { "glVertexBlendEnviATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexBlendEnviATI), 0, 0 }, + { "glVertexFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexFormatNV), 0, 0 }, + { "glVertexP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP2ui), 3, 3 }, + { "glVertexP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP2uiv), 3, 3 }, + { "glVertexP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP3ui), 3, 3 }, + { "glVertexP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP3uiv), 3, 3 }, + { "glVertexP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP4ui), 3, 3 }, + { "glVertexP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP4uiv), 3, 3 }, + { "glVertexPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glVertexPointerEXT), 0, 0 }, + { "glVertexPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glVertexPointerListIBM), 0, 0 }, + { "glVertexPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glVertexPointervINTEL), 0, 0 }, + { "glVertexStream1dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1dATI), 0, 0 }, + { "glVertexStream1dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1dvATI), 0, 0 }, + { "glVertexStream1fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1fATI), 0, 0 }, + { "glVertexStream1fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1fvATI), 0, 0 }, + { "glVertexStream1iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1iATI), 0, 0 }, + { "glVertexStream1ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1ivATI), 0, 0 }, + { "glVertexStream1sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1sATI), 0, 0 }, + { "glVertexStream1svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1svATI), 0, 0 }, + { "glVertexStream2dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2dATI), 0, 0 }, + { "glVertexStream2dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2dvATI), 0, 0 }, + { "glVertexStream2fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2fATI), 0, 0 }, + { "glVertexStream2fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2fvATI), 0, 0 }, + { "glVertexStream2iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2iATI), 0, 0 }, + { "glVertexStream2ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2ivATI), 0, 0 }, + { "glVertexStream2sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2sATI), 0, 0 }, + { "glVertexStream2svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2svATI), 0, 0 }, + { "glVertexStream3dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3dATI), 0, 0 }, + { "glVertexStream3dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3dvATI), 0, 0 }, + { "glVertexStream3fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3fATI), 0, 0 }, + { "glVertexStream3fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3fvATI), 0, 0 }, + { "glVertexStream3iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3iATI), 0, 0 }, + { "glVertexStream3ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3ivATI), 0, 0 }, + { "glVertexStream3sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3sATI), 0, 0 }, + { "glVertexStream3svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3svATI), 0, 0 }, + { "glVertexStream4dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4dATI), 0, 0 }, + { "glVertexStream4dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4dvATI), 0, 0 }, + { "glVertexStream4fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4fATI), 0, 0 }, + { "glVertexStream4fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4fvATI), 0, 0 }, + { "glVertexStream4iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4iATI), 0, 0 }, + { "glVertexStream4ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4ivATI), 0, 0 }, + { "glVertexStream4sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4sATI), 0, 0 }, + { "glVertexStream4svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4svATI), 0, 0 }, + { "glVertexWeightPointerEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightPointerEXT), 0, 0 }, + { "glVertexWeightfEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightfEXT), 0, 0 }, + { "glVertexWeightfvEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightfvEXT), 0, 0 }, + { "glVertexWeighthNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexWeighthNV), 0, 0 }, + { "glVertexWeighthvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexWeighthvNV), 0, 0 }, + { "glVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureNV), 0, 0 }, + { "glVideoCaptureStreamParameterdvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterdvNV), 0, 0 }, + { "glVideoCaptureStreamParameterfvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterfvNV), 0, 0 }, + { "glVideoCaptureStreamParameterivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterivNV), 0, 0 }, + { "glViewportArrayv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glViewportArrayv), 4, 1 }, + { "glViewportIndexedf", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glViewportIndexedf), 4, 1 }, + { "glViewportIndexedfv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glViewportIndexedfv), 4, 1 }, + { "glViewportPositionWScaleNV", "GL_NV_clip_space_w_scaling\0", offsetof(struct opengl_funcs, p_glViewportPositionWScaleNV), 0, 0 }, + { "glViewportSwizzleNV", "GL_NV_viewport_swizzle\0", offsetof(struct opengl_funcs, p_glViewportSwizzleNV), 0, 0 }, + { "glWaitSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glWaitSemaphoreEXT), 0, 0 }, + { "glWaitSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glWaitSemaphoreui64NVX), 0, 0 }, + { "glWaitSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glWaitSync), 3, 2 }, + { "glWaitVkSemaphoreNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glWaitVkSemaphoreNV), 0, 0 }, + { "glWeightPathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glWeightPathsNV), 0, 0 }, + { "glWeightPointerARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightPointerARB), 0, 0 }, + { "glWeightbvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightbvARB), 0, 0 }, + { "glWeightdvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightdvARB), 0, 0 }, + { "glWeightfvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightfvARB), 0, 0 }, + { "glWeightivARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightivARB), 0, 0 }, + { "glWeightsvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightsvARB), 0, 0 }, + { "glWeightubvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightubvARB), 0, 0 }, + { "glWeightuivARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightuivARB), 0, 0 }, + { "glWeightusvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightusvARB), 0, 0 }, + { "glWindowPos2d", "\0", offsetof(struct opengl_funcs, p_glWindowPos2d), 1, 4 }, + { "glWindowPos2dARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dARB), 0, 0 }, + { "glWindowPos2dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dMESA), 0, 0 }, + { "glWindowPos2dv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2dv), 1, 4 }, + { "glWindowPos2dvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dvARB), 0, 0 }, + { "glWindowPos2dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dvMESA), 0, 0 }, + { "glWindowPos2f", "\0", offsetof(struct opengl_funcs, p_glWindowPos2f), 1, 4 }, + { "glWindowPos2fARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fARB), 0, 0 }, + { "glWindowPos2fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fMESA), 0, 0 }, + { "glWindowPos2fv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2fv), 1, 4 }, + { "glWindowPos2fvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fvARB), 0, 0 }, + { "glWindowPos2fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fvMESA), 0, 0 }, + { "glWindowPos2i", "\0", offsetof(struct opengl_funcs, p_glWindowPos2i), 1, 4 }, + { "glWindowPos2iARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2iARB), 0, 0 }, + { "glWindowPos2iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2iMESA), 0, 0 }, + { "glWindowPos2iv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2iv), 1, 4 }, + { "glWindowPos2ivARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2ivARB), 0, 0 }, + { "glWindowPos2ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2ivMESA), 0, 0 }, + { "glWindowPos2s", "\0", offsetof(struct opengl_funcs, p_glWindowPos2s), 1, 4 }, + { "glWindowPos2sARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2sARB), 0, 0 }, + { "glWindowPos2sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2sMESA), 0, 0 }, + { "glWindowPos2sv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2sv), 1, 4 }, + { "glWindowPos2svARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2svARB), 0, 0 }, + { "glWindowPos2svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2svMESA), 0, 0 }, + { "glWindowPos3d", "\0", offsetof(struct opengl_funcs, p_glWindowPos3d), 1, 4 }, + { "glWindowPos3dARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dARB), 0, 0 }, + { "glWindowPos3dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dMESA), 0, 0 }, + { "glWindowPos3dv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3dv), 1, 4 }, + { "glWindowPos3dvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dvARB), 0, 0 }, + { "glWindowPos3dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dvMESA), 0, 0 }, + { "glWindowPos3f", "\0", offsetof(struct opengl_funcs, p_glWindowPos3f), 1, 4 }, + { "glWindowPos3fARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fARB), 0, 0 }, + { "glWindowPos3fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fMESA), 0, 0 }, + { "glWindowPos3fv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3fv), 1, 4 }, + { "glWindowPos3fvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fvARB), 0, 0 }, + { "glWindowPos3fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fvMESA), 0, 0 }, + { "glWindowPos3i", "\0", offsetof(struct opengl_funcs, p_glWindowPos3i), 1, 4 }, + { "glWindowPos3iARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3iARB), 0, 0 }, + { "glWindowPos3iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3iMESA), 0, 0 }, + { "glWindowPos3iv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3iv), 1, 4 }, + { "glWindowPos3ivARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3ivARB), 0, 0 }, + { "glWindowPos3ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3ivMESA), 0, 0 }, + { "glWindowPos3s", "\0", offsetof(struct opengl_funcs, p_glWindowPos3s), 1, 4 }, + { "glWindowPos3sARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3sARB), 0, 0 }, + { "glWindowPos3sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3sMESA), 0, 0 }, + { "glWindowPos3sv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3sv), 1, 4 }, + { "glWindowPos3svARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3svARB), 0, 0 }, + { "glWindowPos3svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3svMESA), 0, 0 }, + { "glWindowPos4dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4dMESA), 0, 0 }, + { "glWindowPos4dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4dvMESA), 0, 0 }, + { "glWindowPos4fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4fMESA), 0, 0 }, + { "glWindowPos4fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4fvMESA), 0, 0 }, + { "glWindowPos4iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4iMESA), 0, 0 }, + { "glWindowPos4ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4ivMESA), 0, 0 }, + { "glWindowPos4sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4sMESA), 0, 0 }, + { "glWindowPos4svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4svMESA), 0, 0 }, + { "glWindowRectanglesEXT", "GL_EXT_window_rectangles\0", offsetof(struct opengl_funcs, p_glWindowRectanglesEXT), 0, 0 }, + { "glWriteMaskEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glWriteMaskEXT), 0, 0 }, + { "wglAllocateMemoryNV", "WGL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_wglAllocateMemoryNV), 0, 0 }, + { "wglBindTexImageARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglBindTexImageARB), 0, 0 }, + { "wglChoosePixelFormatARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglChoosePixelFormatARB), 0, 0 }, + { "wglCreateContextAttribsARB", "WGL_ARB_create_context\0", offsetof(struct opengl_funcs, p_wglCreateContextAttribsARB), 0, 0 }, + { "wglCreatePbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglCreatePbufferARB), 0, 0 }, + { "wglDestroyPbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglDestroyPbufferARB), 0, 0 }, + { "wglFreeMemoryNV", "WGL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_wglFreeMemoryNV), 0, 0 }, + { "wglGetCurrentReadDCARB", "WGL_ARB_make_current_read\0", offsetof(struct opengl_funcs, p_wglGetCurrentReadDCARB), 0, 0 }, + { "wglGetExtensionsStringARB", "WGL_ARB_extensions_string\0", offsetof(struct opengl_funcs, p_wglGetExtensionsStringARB), 0, 0 }, + { "wglGetExtensionsStringEXT", "WGL_EXT_extensions_string\0", offsetof(struct opengl_funcs, p_wglGetExtensionsStringEXT), 0, 0 }, + { "wglGetPbufferDCARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglGetPbufferDCARB), 0, 0 }, + { "wglGetPixelFormatAttribfvARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribfvARB), 0, 0 }, + { "wglGetPixelFormatAttribivARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribivARB), 0, 0 }, + { "wglGetSwapIntervalEXT", "WGL_EXT_swap_control\0", offsetof(struct opengl_funcs, p_wglGetSwapIntervalEXT), 0, 0 }, + { "wglMakeContextCurrentARB", "WGL_ARB_make_current_read\0", offsetof(struct opengl_funcs, p_wglMakeContextCurrentARB), 0, 0 }, + { "wglQueryCurrentRendererIntegerWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererIntegerWINE), 0, 0 }, + { "wglQueryCurrentRendererStringWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererStringWINE), 0, 0 }, + { "wglQueryPbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglQueryPbufferARB), 0, 0 }, + { "wglQueryRendererIntegerWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryRendererIntegerWINE), 0, 0 }, + { "wglQueryRendererStringWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryRendererStringWINE), 0, 0 }, + { "wglReleasePbufferDCARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglReleasePbufferDCARB), 0, 0 }, + { "wglReleaseTexImageARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglReleaseTexImageARB), 0, 0 }, + { "wglSetPbufferAttribARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglSetPbufferAttribARB), 0, 0 }, + { "wglSetPixelFormatWINE", "WGL_WINE_pixel_format_passthrough\0", offsetof(struct opengl_funcs, p_wglSetPixelFormatWINE), 0, 0 }, + { "wglSwapIntervalEXT", "WGL_EXT_swap_control\0", offsetof(struct opengl_funcs, p_wglSwapIntervalEXT), 0, 0 }, }; diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 2a994599658..7bd6628a728 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -737,9 +737,10 @@ static GLubyte *filter_extensions( struct context *ctx, const char *str, const s } /* Check if any GL extension from the list is supported */ -static BOOL is_any_extension_supported( struct context *ctx, const char *extension ) +static BOOL is_function_supported( struct context *ctx, const struct registry_entry *func ) { struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); + const char *extension = func->extension; size_t len; /* We use the GetProcAddress function from the display driver to retrieve function pointers @@ -748,30 +749,16 @@ static BOOL is_any_extension_supported( struct context *ctx, const char *extensi * require the function to return NULL when an extension isn't found. For this reason we check * if the OpenGL extension required for the function we are looking up is supported. */ + if (func->major && (client->major_version > func->major + || (client->major_version == func->major && client->minor_version >= func->minor))) + return TRUE; + while ((len = strlen( extension ))) { TRACE( "Checking for extension '%s'\n", extension ); /* Check if the extension is part of the GL extension string to see if it is supported. */ if (is_extension_supported( ctx, extension )) return TRUE; - - /* In general an OpenGL function starts as an ARB/EXT extension and at some stage - * it becomes part of the core OpenGL library and can be reached without the ARB/EXT - * suffix as well. In the extension table, these functions contain GL_VERSION_major_minor. - * Check if we are searching for a core GL function */ - if (!strncmp( extension, "GL_VERSION_", 11 )) - { - int major = extension[11] - '0'; /* Move past 'GL_VERSION_' */ - int minor = extension[13] - '0'; - - /* Compare the major/minor version numbers of the native OpenGL library and what is required by the function. - * The gl_version string is guaranteed to have at least a major/minor and sometimes it has a release number as well. */ - if (client->major_version > major || (client->major_version == major && client->minor_version >= minor)) return TRUE; - - WARN( "The function requires OpenGL version '%d.%d' while your drivers only provide '%d.%d'\n", - major, minor, client->major_version, client->minor_version ); - } - extension += len + 1; } @@ -934,7 +921,7 @@ PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) { void *driver_func = funcs->p_wglGetProcAddress( name ); - if (!is_any_extension_supported( ctx, found->extension )) + if (!is_function_supported( ctx, found )) { WARN( "Extension %s required for %s not supported\n", found->extension, name ); return (void *)-1; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> --- dlls/opengl32/make_opengl | 3 +- dlls/opengl32/unix_private.h | 2 +- dlls/opengl32/unix_thunks.c | 5516 +++++++++++++++++----------------- dlls/opengl32/unix_wgl.c | 23 +- 4 files changed, 2764 insertions(+), 2780 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 2581f0c055a..a1f4d3de9de 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1956,7 +1956,8 @@ foreach (sort keys %ext_functions) push @exts, $alias; } } - printf OUT " { \"%s\", \"%s\\0\", offsetof(struct opengl_funcs, p_$_), $major, $minor },\n", $_, join("\\0", sort @exts); + push @exts, "GL_EXTENSION_COUNT"; + printf OUT " { \"%s\", offsetof(struct opengl_funcs, p_$_), $major, $minor, { %s }},\n", $_, join(", ", @exts); } print OUT "};\n"; diff --git a/dlls/opengl32/unix_private.h b/dlls/opengl32/unix_private.h index 81222e771d1..48cd1a0d963 100644 --- a/dlls/opengl32/unix_private.h +++ b/dlls/opengl32/unix_private.h @@ -36,10 +36,10 @@ struct registry_entry { const char *name; /* name of the extension */ - const char *extension; /* name of the GL/WGL extension */ size_t offset; /* offset in the opengl_funcs table */ UINT16 major; UINT16 minor; + enum opengl_extension extensions[4]; }; extern const struct registry_entry extension_registry[]; diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index ca9257dacfa..69b0da7b167 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -91803,2762 +91803,2762 @@ struct opengl_funcs null_opengl_funcs = const int extension_registry_size = 2758; const struct registry_entry extension_registry[2758] = { - { "glAccumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glAccumxOES), 0, 0 }, - { "glAcquireKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex\0", offsetof(struct opengl_funcs, p_glAcquireKeyedMutexWin32EXT), 0, 0 }, - { "glActiveProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glActiveProgramEXT), 0, 0 }, - { "glActiveShaderProgram", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glActiveShaderProgram), 4, 1 }, - { "glActiveStencilFaceEXT", "GL_EXT_stencil_two_side\0", offsetof(struct opengl_funcs, p_glActiveStencilFaceEXT), 0, 0 }, - { "glActiveTexture", "\0", offsetof(struct opengl_funcs, p_glActiveTexture), 1, 3 }, - { "glActiveTextureARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glActiveTextureARB), 0, 0 }, - { "glActiveVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glActiveVaryingNV), 0, 0 }, - { "glAlphaFragmentOp1ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp1ATI), 0, 0 }, - { "glAlphaFragmentOp2ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp2ATI), 0, 0 }, - { "glAlphaFragmentOp3ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glAlphaFragmentOp3ATI), 0, 0 }, - { "glAlphaFuncx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glAlphaFuncx), 0, 0 }, - { "glAlphaFuncxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glAlphaFuncxOES), 0, 0 }, - { "glAlphaToCoverageDitherControlNV", "GL_NV_alpha_to_coverage_dither_control\0", offsetof(struct opengl_funcs, p_glAlphaToCoverageDitherControlNV), 0, 0 }, - { "glApplyFramebufferAttachmentCMAAINTEL", "GL_INTEL_framebuffer_CMAA\0", offsetof(struct opengl_funcs, p_glApplyFramebufferAttachmentCMAAINTEL), 0, 0 }, - { "glApplyTextureEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glApplyTextureEXT), 0, 0 }, - { "glAreProgramsResidentNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glAreProgramsResidentNV), 0, 0 }, - { "glAreTexturesResidentEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glAreTexturesResidentEXT), 0, 0 }, - { "glArrayElementEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glArrayElementEXT), 0, 0 }, - { "glArrayObjectATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glArrayObjectATI), 0, 0 }, - { "glAsyncCopyBufferSubDataNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glAsyncCopyBufferSubDataNVX), 0, 0 }, - { "glAsyncCopyImageSubDataNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glAsyncCopyImageSubDataNVX), 0, 0 }, - { "glAsyncMarkerSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glAsyncMarkerSGIX), 0, 0 }, - { "glAttachObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glAttachObjectARB), 0, 0 }, - { "glAttachShader", "\0", offsetof(struct opengl_funcs, p_glAttachShader), 2, 0 }, - { "glBeginConditionalRender", "\0", offsetof(struct opengl_funcs, p_glBeginConditionalRender), 3, 0 }, - { "glBeginConditionalRenderNV", "GL_NV_conditional_render\0", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNV), 0, 0 }, - { "glBeginConditionalRenderNVX", "GL_NVX_conditional_render\0", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNVX), 0, 0 }, - { "glBeginFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glBeginFragmentShaderATI), 0, 0 }, - { "glBeginOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glBeginOcclusionQueryNV), 0, 0 }, - { "glBeginPerfMonitorAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glBeginPerfMonitorAMD), 0, 0 }, - { "glBeginPerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glBeginPerfQueryINTEL), 0, 0 }, - { "glBeginQuery", "\0", offsetof(struct opengl_funcs, p_glBeginQuery), 1, 5 }, - { "glBeginQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glBeginQueryARB), 0, 0 }, - { "glBeginQueryIndexed", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glBeginQueryIndexed), 4, 0 }, - { "glBeginTransformFeedback", "\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedback), 3, 0 }, - { "glBeginTransformFeedbackEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackEXT), 0, 0 }, - { "glBeginTransformFeedbackNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackNV), 0, 0 }, - { "glBeginVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBeginVertexShaderEXT), 0, 0 }, - { "glBeginVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBeginVideoCaptureNV), 0, 0 }, - { "glBindAttribLocation", "\0", offsetof(struct opengl_funcs, p_glBindAttribLocation), 2, 0 }, - { "glBindAttribLocationARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindAttribLocationARB), 0, 0 }, - { "glBindBuffer", "\0", offsetof(struct opengl_funcs, p_glBindBuffer), 1, 5 }, - { "glBindBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBindBufferARB), 0, 0 }, - { "glBindBufferBase", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glBindBufferBase), 3, 0 }, - { "glBindBufferBaseEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferBaseEXT), 0, 0 }, - { "glBindBufferBaseNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferBaseNV), 0, 0 }, - { "glBindBufferOffsetEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferOffsetEXT), 0, 0 }, - { "glBindBufferOffsetNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferOffsetNV), 0, 0 }, - { "glBindBufferRange", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glBindBufferRange), 3, 0 }, - { "glBindBufferRangeEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferRangeEXT), 0, 0 }, - { "glBindBufferRangeNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glBindBufferRangeNV), 0, 0 }, - { "glBindBuffersBase", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindBuffersBase), 4, 4 }, - { "glBindBuffersRange", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindBuffersRange), 4, 4 }, - { "glBindFragDataLocation", "\0", offsetof(struct opengl_funcs, p_glBindFragDataLocation), 3, 0 }, - { "glBindFragDataLocationEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationEXT), 0, 0 }, - { "glBindFragDataLocationIndexed", "GL_ARB_blend_func_extended\0", offsetof(struct opengl_funcs, p_glBindFragDataLocationIndexed), 3, 3 }, - { "glBindFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glBindFragmentShaderATI), 0, 0 }, - { "glBindFramebuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindFramebuffer), 3, 0 }, - { "glBindFramebufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindFramebufferEXT), 0, 0 }, - { "glBindImageTexture", "GL_ARB_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glBindImageTexture), 4, 2 }, - { "glBindImageTextureEXT", "GL_EXT_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glBindImageTextureEXT), 0, 0 }, - { "glBindImageTextures", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindImageTextures), 4, 4 }, - { "glBindLightParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindLightParameterEXT), 0, 0 }, - { "glBindMaterialParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindMaterialParameterEXT), 0, 0 }, - { "glBindMultiTextureEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glBindMultiTextureEXT), 0, 0 }, - { "glBindParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindParameterEXT), 0, 0 }, - { "glBindProgramARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glBindProgramARB), 0, 0 }, - { "glBindProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glBindProgramNV), 0, 0 }, - { "glBindProgramPipeline", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glBindProgramPipeline), 4, 1 }, - { "glBindRenderbuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindRenderbuffer), 3, 0 }, - { "glBindRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBindRenderbufferEXT), 0, 0 }, - { "glBindSampler", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glBindSampler), 3, 3 }, - { "glBindSamplers", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindSamplers), 4, 4 }, - { "glBindShadingRateImageNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glBindShadingRateImageNV), 0, 0 }, - { "glBindTexGenParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindTexGenParameterEXT), 0, 0 }, - { "glBindTextureEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glBindTextureEXT), 0, 0 }, - { "glBindTextureUnit", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glBindTextureUnit), 4, 5 }, - { "glBindTextureUnitParameterEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindTextureUnitParameterEXT), 0, 0 }, - { "glBindTextures", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindTextures), 4, 4 }, - { "glBindTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glBindTransformFeedback), 4, 0 }, - { "glBindTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glBindTransformFeedbackNV), 0, 0 }, - { "glBindVertexArray", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glBindVertexArray), 3, 0 }, - { "glBindVertexArrayAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glBindVertexArrayAPPLE), 0, 0 }, - { "glBindVertexBuffer", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glBindVertexBuffer), 4, 3 }, - { "glBindVertexBuffers", "GL_ARB_multi_bind\0", offsetof(struct opengl_funcs, p_glBindVertexBuffers), 4, 4 }, - { "glBindVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glBindVertexShaderEXT), 0, 0 }, - { "glBindVideoCaptureStreamBufferNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamBufferNV), 0, 0 }, - { "glBindVideoCaptureStreamTextureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamTextureNV), 0, 0 }, - { "glBinormal3bEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3bEXT), 0, 0 }, - { "glBinormal3bvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3bvEXT), 0, 0 }, - { "glBinormal3dEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3dEXT), 0, 0 }, - { "glBinormal3dvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3dvEXT), 0, 0 }, - { "glBinormal3fEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3fEXT), 0, 0 }, - { "glBinormal3fvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3fvEXT), 0, 0 }, - { "glBinormal3iEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3iEXT), 0, 0 }, - { "glBinormal3ivEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3ivEXT), 0, 0 }, - { "glBinormal3sEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3sEXT), 0, 0 }, - { "glBinormal3svEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormal3svEXT), 0, 0 }, - { "glBinormalPointerEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glBinormalPointerEXT), 0, 0 }, - { "glBitmapxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glBitmapxOES), 0, 0 }, - { "glBlendBarrier", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glBlendBarrier), 0, 0 }, - { "glBlendBarrierKHR", "GL_KHR_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendBarrierKHR), 0, 0 }, - { "glBlendBarrierNV", "GL_NV_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendBarrierNV), 0, 0 }, - { "glBlendColor", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glBlendColor), 1, 4 }, - { "glBlendColorEXT", "GL_EXT_blend_color\0", offsetof(struct opengl_funcs, p_glBlendColorEXT), 0, 0 }, - { "glBlendColorxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glBlendColorxOES), 0, 0 }, - { "glBlendEquation", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glBlendEquation), 1, 4 }, - { "glBlendEquationEXT", "GL_EXT_blend_minmax\0", offsetof(struct opengl_funcs, p_glBlendEquationEXT), 0, 0 }, - { "glBlendEquationIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationIndexedAMD), 0, 0 }, - { "glBlendEquationSeparate", "\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparate), 2, 0 }, - { "glBlendEquationSeparateEXT", "GL_ATI_blend_equation_separate\0GL_EXT_blend_equation_separate\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateEXT), 0, 0 }, - { "glBlendEquationSeparateIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateIndexedAMD), 0, 0 }, - { "glBlendEquationSeparatei", "\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparatei), 4, 0 }, - { "glBlendEquationSeparateiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationSeparateiARB), 0, 0 }, - { "glBlendEquationi", "\0", offsetof(struct opengl_funcs, p_glBlendEquationi), 4, 0 }, - { "glBlendEquationiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendEquationiARB), 0, 0 }, - { "glBlendFuncIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncIndexedAMD), 0, 0 }, - { "glBlendFuncSeparate", "\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparate), 1, 4 }, - { "glBlendFuncSeparateEXT", "GL_EXT_blend_func_separate\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateEXT), 0, 0 }, - { "glBlendFuncSeparateINGR", "GL_INGR_blend_func_separate\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateINGR), 0, 0 }, - { "glBlendFuncSeparateIndexedAMD", "GL_AMD_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateIndexedAMD), 0, 0 }, - { "glBlendFuncSeparatei", "\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparatei), 4, 0 }, - { "glBlendFuncSeparateiARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFuncSeparateiARB), 0, 0 }, - { "glBlendFunci", "\0", offsetof(struct opengl_funcs, p_glBlendFunci), 4, 0 }, - { "glBlendFunciARB", "GL_ARB_draw_buffers_blend\0", offsetof(struct opengl_funcs, p_glBlendFunciARB), 0, 0 }, - { "glBlendParameteriNV", "GL_NV_blend_equation_advanced\0", offsetof(struct opengl_funcs, p_glBlendParameteriNV), 0, 0 }, - { "glBlitFramebuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glBlitFramebuffer), 3, 0 }, - { "glBlitFramebufferEXT", "GL_EXT_framebuffer_blit\0", offsetof(struct opengl_funcs, p_glBlitFramebufferEXT), 0, 0 }, - { "glBlitFramebufferLayerEXT", "GL_EXT_framebuffer_blit_layers\0", offsetof(struct opengl_funcs, p_glBlitFramebufferLayerEXT), 0, 0 }, - { "glBlitFramebufferLayersEXT", "GL_EXT_framebuffer_blit_layers\0", offsetof(struct opengl_funcs, p_glBlitFramebufferLayersEXT), 0, 0 }, - { "glBlitNamedFramebuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glBlitNamedFramebuffer), 4, 5 }, - { "glBufferAddressRangeNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glBufferAddressRangeNV), 0, 0 }, - { "glBufferAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glBufferAttachMemoryNV), 0, 0 }, - { "glBufferData", "\0", offsetof(struct opengl_funcs, p_glBufferData), 1, 5 }, - { "glBufferDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBufferDataARB), 0, 0 }, - { "glBufferPageCommitmentARB", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glBufferPageCommitmentARB), 0, 0 }, - { "glBufferPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glBufferPageCommitmentMemNV), 0, 0 }, - { "glBufferParameteriAPPLE", "GL_APPLE_flush_buffer_range\0", offsetof(struct opengl_funcs, p_glBufferParameteriAPPLE), 0, 0 }, - { "glBufferRegionEnabled", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glBufferRegionEnabled), 0, 0 }, - { "glBufferStorage", "GL_ARB_buffer_storage\0", offsetof(struct opengl_funcs, p_glBufferStorage), 4, 4 }, - { "glBufferStorageExternalEXT", "GL_EXT_external_buffer\0", offsetof(struct opengl_funcs, p_glBufferStorageExternalEXT), 0, 0 }, - { "glBufferStorageMemEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glBufferStorageMemEXT), 0, 0 }, - { "glBufferSubData", "\0", offsetof(struct opengl_funcs, p_glBufferSubData), 1, 5 }, - { "glBufferSubDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glBufferSubDataARB), 0, 0 }, - { "glCallCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCallCommandListNV), 0, 0 }, - { "glCheckFramebufferStatus", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glCheckFramebufferStatus), 3, 0 }, - { "glCheckFramebufferStatusEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glCheckFramebufferStatusEXT), 0, 0 }, - { "glCheckNamedFramebufferStatus", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatus), 4, 5 }, - { "glCheckNamedFramebufferStatusEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatusEXT), 0, 0 }, - { "glClampColor", "\0", offsetof(struct opengl_funcs, p_glClampColor), 3, 0 }, - { "glClampColorARB", "GL_ARB_color_buffer_float\0", offsetof(struct opengl_funcs, p_glClampColorARB), 0, 0 }, - { "glClearAccumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearAccumxOES), 0, 0 }, - { "glClearBufferData", "GL_ARB_clear_buffer_object\0", offsetof(struct opengl_funcs, p_glClearBufferData), 4, 3 }, - { "glClearBufferSubData", "GL_ARB_clear_buffer_object\0", offsetof(struct opengl_funcs, p_glClearBufferSubData), 4, 3 }, - { "glClearBufferfi", "\0", offsetof(struct opengl_funcs, p_glClearBufferfi), 3, 0 }, - { "glClearBufferfv", "\0", offsetof(struct opengl_funcs, p_glClearBufferfv), 3, 0 }, - { "glClearBufferiv", "\0", offsetof(struct opengl_funcs, p_glClearBufferiv), 3, 0 }, - { "glClearBufferuiv", "\0", offsetof(struct opengl_funcs, p_glClearBufferuiv), 3, 0 }, - { "glClearColorIiEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glClearColorIiEXT), 0, 0 }, - { "glClearColorIuiEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glClearColorIuiEXT), 0, 0 }, - { "glClearColorx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClearColorx), 0, 0 }, - { "glClearColorxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearColorxOES), 0, 0 }, - { "glClearDepthdNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glClearDepthdNV), 0, 0 }, - { "glClearDepthf", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glClearDepthf), 4, 1 }, - { "glClearDepthfOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glClearDepthfOES), 0, 0 }, - { "glClearDepthx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClearDepthx), 0, 0 }, - { "glClearDepthxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClearDepthxOES), 0, 0 }, - { "glClearNamedBufferData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferData), 4, 5 }, - { "glClearNamedBufferDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferDataEXT), 0, 0 }, - { "glClearNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferSubData), 4, 5 }, - { "glClearNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedBufferSubDataEXT), 0, 0 }, - { "glClearNamedFramebufferfi", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfi), 4, 5 }, - { "glClearNamedFramebufferfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfv), 4, 5 }, - { "glClearNamedFramebufferiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferiv), 4, 5 }, - { "glClearNamedFramebufferuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glClearNamedFramebufferuiv), 4, 5 }, - { "glClearTexImage", "GL_ARB_clear_texture\0", offsetof(struct opengl_funcs, p_glClearTexImage), 4, 4 }, - { "glClearTexSubImage", "GL_ARB_clear_texture\0", offsetof(struct opengl_funcs, p_glClearTexSubImage), 4, 4 }, - { "glClientActiveTexture", "\0", offsetof(struct opengl_funcs, p_glClientActiveTexture), 1, 3 }, - { "glClientActiveTextureARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glClientActiveTextureARB), 0, 0 }, - { "glClientActiveVertexStreamATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glClientActiveVertexStreamATI), 0, 0 }, - { "glClientAttribDefaultEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glClientAttribDefaultEXT), 0, 0 }, - { "glClientWaitSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glClientWaitSemaphoreui64NVX), 0, 0 }, - { "glClientWaitSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glClientWaitSync), 3, 2 }, - { "glClipControl", "GL_ARB_clip_control\0", offsetof(struct opengl_funcs, p_glClipControl), 4, 5 }, - { "glClipPlanef", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClipPlanef), 0, 0 }, - { "glClipPlanefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glClipPlanefOES), 0, 0 }, - { "glClipPlanex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glClipPlanex), 0, 0 }, - { "glClipPlanexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glClipPlanexOES), 0, 0 }, - { "glColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor3fVertex3fSUN), 0, 0 }, - { "glColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor3fVertex3fvSUN), 0, 0 }, - { "glColor3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor3hNV), 0, 0 }, - { "glColor3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor3hvNV), 0, 0 }, - { "glColor3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor3xOES), 0, 0 }, - { "glColor3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor3xvOES), 0, 0 }, - { "glColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fSUN), 0, 0 }, - { "glColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fvSUN), 0, 0 }, - { "glColor4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor4hNV), 0, 0 }, - { "glColor4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glColor4hvNV), 0, 0 }, - { "glColor4ubVertex2fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex2fSUN), 0, 0 }, - { "glColor4ubVertex2fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex2fvSUN), 0, 0 }, - { "glColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex3fSUN), 0, 0 }, - { "glColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glColor4ubVertex3fvSUN), 0, 0 }, - { "glColor4x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glColor4x), 0, 0 }, - { "glColor4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor4xOES), 0, 0 }, - { "glColor4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glColor4xvOES), 0, 0 }, - { "glColorFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glColorFormatNV), 0, 0 }, - { "glColorFragmentOp1ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp1ATI), 0, 0 }, - { "glColorFragmentOp2ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp2ATI), 0, 0 }, - { "glColorFragmentOp3ATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glColorFragmentOp3ATI), 0, 0 }, - { "glColorMaskIndexedEXT", "GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glColorMaskIndexedEXT), 0, 0 }, - { "glColorMaski", "\0", offsetof(struct opengl_funcs, p_glColorMaski), 3, 0 }, - { "glColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP3ui), 3, 3 }, - { "glColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP3uiv), 3, 3 }, - { "glColorP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP4ui), 3, 3 }, - { "glColorP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glColorP4uiv), 3, 3 }, - { "glColorPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glColorPointerEXT), 0, 0 }, - { "glColorPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glColorPointerListIBM), 0, 0 }, - { "glColorPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glColorPointervINTEL), 0, 0 }, - { "glColorSubTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorSubTable), 0, 0 }, - { "glColorSubTableEXT", "GL_EXT_color_subtable\0", offsetof(struct opengl_funcs, p_glColorSubTableEXT), 0, 0 }, - { "glColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTable), 0, 0 }, - { "glColorTableEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glColorTableEXT), 0, 0 }, - { "glColorTableParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTableParameterfv), 0, 0 }, - { "glColorTableParameterfvSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableParameterfvSGI), 0, 0 }, - { "glColorTableParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glColorTableParameteriv), 0, 0 }, - { "glColorTableParameterivSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableParameterivSGI), 0, 0 }, - { "glColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glColorTableSGI), 0, 0 }, - { "glCombinerInputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerInputNV), 0, 0 }, - { "glCombinerOutputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerOutputNV), 0, 0 }, - { "glCombinerParameterfNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterfNV), 0, 0 }, - { "glCombinerParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterfvNV), 0, 0 }, - { "glCombinerParameteriNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameteriNV), 0, 0 }, - { "glCombinerParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glCombinerParameterivNV), 0, 0 }, - { "glCombinerStageParameterfvNV", "GL_NV_register_combiners2\0", offsetof(struct opengl_funcs, p_glCombinerStageParameterfvNV), 0, 0 }, - { "glCommandListSegmentsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCommandListSegmentsNV), 0, 0 }, - { "glCompileCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCompileCommandListNV), 0, 0 }, - { "glCompileShader", "\0", offsetof(struct opengl_funcs, p_glCompileShader), 2, 0 }, - { "glCompileShaderARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCompileShaderARB), 0, 0 }, - { "glCompileShaderIncludeARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glCompileShaderIncludeARB), 0, 0 }, - { "glCompressedMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage1DEXT), 0, 0 }, - { "glCompressedMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage2DEXT), 0, 0 }, - { "glCompressedMultiTexImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage3DEXT), 0, 0 }, - { "glCompressedMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage1DEXT), 0, 0 }, - { "glCompressedMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage2DEXT), 0, 0 }, - { "glCompressedMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage3DEXT), 0, 0 }, - { "glCompressedTexImage1D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexImage1D), 1, 3 }, - { "glCompressedTexImage1DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexImage1DARB), 1, 3 }, - { "glCompressedTexImage2D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexImage2D), 1, 3 }, - { "glCompressedTexImage2DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexImage2DARB), 1, 3 }, - { "glCompressedTexImage3D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexImage3D), 1, 3 }, - { "glCompressedTexImage3DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexImage3DARB), 1, 3 }, - { "glCompressedTexSubImage1D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1D), 1, 3 }, - { "glCompressedTexSubImage1DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1DARB), 1, 3 }, - { "glCompressedTexSubImage2D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2D), 1, 3 }, - { "glCompressedTexSubImage2DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2DARB), 1, 3 }, - { "glCompressedTexSubImage3D", "\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3D), 1, 3 }, - { "glCompressedTexSubImage3DARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3DARB), 1, 3 }, - { "glCompressedTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage1DEXT), 0, 0 }, - { "glCompressedTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage2DEXT), 0, 0 }, - { "glCompressedTextureImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureImage3DEXT), 0, 0 }, - { "glCompressedTextureSubImage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1D), 4, 5 }, - { "glCompressedTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1DEXT), 0, 0 }, - { "glCompressedTextureSubImage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2D), 4, 5 }, - { "glCompressedTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2DEXT), 0, 0 }, - { "glCompressedTextureSubImage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3D), 4, 5 }, - { "glCompressedTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3DEXT), 0, 0 }, - { "glConservativeRasterParameterfNV", "GL_NV_conservative_raster_dilate\0", offsetof(struct opengl_funcs, p_glConservativeRasterParameterfNV), 0, 0 }, - { "glConservativeRasterParameteriNV", "GL_NV_conservative_raster_pre_snap_triangles\0", offsetof(struct opengl_funcs, p_glConservativeRasterParameteriNV), 0, 0 }, - { "glConvolutionFilter1D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionFilter1D), 0, 0 }, - { "glConvolutionFilter1DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionFilter1DEXT), 0, 0 }, - { "glConvolutionFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionFilter2D), 0, 0 }, - { "glConvolutionFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionFilter2DEXT), 0, 0 }, - { "glConvolutionParameterf", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameterf), 0, 0 }, - { "glConvolutionParameterfEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfEXT), 0, 0 }, - { "glConvolutionParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfv), 0, 0 }, - { "glConvolutionParameterfvEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterfvEXT), 0, 0 }, - { "glConvolutionParameteri", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameteri), 0, 0 }, - { "glConvolutionParameteriEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameteriEXT), 0, 0 }, - { "glConvolutionParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glConvolutionParameteriv), 0, 0 }, - { "glConvolutionParameterivEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glConvolutionParameterivEXT), 0, 0 }, - { "glConvolutionParameterxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glConvolutionParameterxOES), 0, 0 }, - { "glConvolutionParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glConvolutionParameterxvOES), 0, 0 }, - { "glCopyBufferSubData", "GL_ARB_copy_buffer\0GL_EXT_copy_buffer\0", offsetof(struct opengl_funcs, p_glCopyBufferSubData), 3, 1 }, - { "glCopyColorSubTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyColorSubTable), 0, 0 }, - { "glCopyColorSubTableEXT", "GL_EXT_color_subtable\0", offsetof(struct opengl_funcs, p_glCopyColorSubTableEXT), 0, 0 }, - { "glCopyColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyColorTable), 0, 0 }, - { "glCopyColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glCopyColorTableSGI), 0, 0 }, - { "glCopyConvolutionFilter1D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1D), 0, 0 }, - { "glCopyConvolutionFilter1DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1DEXT), 0, 0 }, - { "glCopyConvolutionFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2D), 0, 0 }, - { "glCopyConvolutionFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2DEXT), 0, 0 }, - { "glCopyImageSubData", "GL_ARB_copy_image\0", offsetof(struct opengl_funcs, p_glCopyImageSubData), 4, 3 }, - { "glCopyImageSubDataNV", "GL_NV_copy_image\0", offsetof(struct opengl_funcs, p_glCopyImageSubDataNV), 0, 0 }, - { "glCopyMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexImage1DEXT), 0, 0 }, - { "glCopyMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexImage2DEXT), 0, 0 }, - { "glCopyMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage1DEXT), 0, 0 }, - { "glCopyMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage2DEXT), 0, 0 }, - { "glCopyMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage3DEXT), 0, 0 }, - { "glCopyNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyNamedBufferSubData), 4, 5 }, - { "glCopyPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCopyPathNV), 0, 0 }, - { "glCopyTexImage1DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexImage1DEXT), 1, 2 }, - { "glCopyTexImage2DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexImage2DEXT), 1, 2 }, - { "glCopyTexSubImage1DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage1DEXT), 1, 2 }, - { "glCopyTexSubImage2DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage2DEXT), 1, 2 }, - { "glCopyTexSubImage3D", "\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage3D), 1, 2 }, - { "glCopyTexSubImage3DEXT", "GL_EXT_copy_texture\0", offsetof(struct opengl_funcs, p_glCopyTexSubImage3DEXT), 1, 2 }, - { "glCopyTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureImage1DEXT), 0, 0 }, - { "glCopyTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureImage2DEXT), 0, 0 }, - { "glCopyTextureSubImage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1D), 4, 5 }, - { "glCopyTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1DEXT), 0, 0 }, - { "glCopyTextureSubImage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2D), 4, 5 }, - { "glCopyTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2DEXT), 0, 0 }, - { "glCopyTextureSubImage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3D), 4, 5 }, - { "glCopyTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3DEXT), 0, 0 }, - { "glCoverFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverFillPathInstancedNV), 0, 0 }, - { "glCoverFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverFillPathNV), 0, 0 }, - { "glCoverStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverStrokePathInstancedNV), 0, 0 }, - { "glCoverStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glCoverStrokePathNV), 0, 0 }, - { "glCoverageModulationNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glCoverageModulationNV), 0, 0 }, - { "glCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glCoverageModulationTableNV), 0, 0 }, - { "glCreateBuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateBuffers), 4, 5 }, - { "glCreateCommandListsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCreateCommandListsNV), 0, 0 }, - { "glCreateFramebuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateFramebuffers), 4, 5 }, - { "glCreateMemoryObjectsEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glCreateMemoryObjectsEXT), 0, 0 }, - { "glCreatePerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glCreatePerfQueryINTEL), 0, 0 }, - { "glCreateProgram", "\0", offsetof(struct opengl_funcs, p_glCreateProgram), 2, 0 }, - { "glCreateProgramObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateProgramObjectARB), 0, 0 }, - { "glCreateProgramPipelines", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateProgramPipelines), 4, 5 }, - { "glCreateProgressFenceNVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glCreateProgressFenceNVX), 0, 0 }, - { "glCreateQueries", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateQueries), 4, 5 }, - { "glCreateRenderbuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateRenderbuffers), 4, 5 }, - { "glCreateSamplers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateSamplers), 4, 5 }, - { "glCreateSemaphoresNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glCreateSemaphoresNV), 0, 0 }, - { "glCreateShader", "\0", offsetof(struct opengl_funcs, p_glCreateShader), 2, 0 }, - { "glCreateShaderObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderObjectARB), 0, 0 }, - { "glCreateShaderProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderProgramEXT), 0, 0 }, - { "glCreateShaderProgramv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glCreateShaderProgramv), 4, 1 }, - { "glCreateStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glCreateStatesNV), 0, 0 }, - { "glCreateSyncFromCLeventARB", "GL_ARB_cl_event\0", offsetof(struct opengl_funcs, p_glCreateSyncFromCLeventARB), 0, 0 }, - { "glCreateTextures", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateTextures), 4, 5 }, - { "glCreateTransformFeedbacks", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateTransformFeedbacks), 4, 5 }, - { "glCreateVertexArrays", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glCreateVertexArrays), 4, 5 }, - { "glCullParameterdvEXT", "GL_EXT_cull_vertex\0", offsetof(struct opengl_funcs, p_glCullParameterdvEXT), 0, 0 }, - { "glCullParameterfvEXT", "GL_EXT_cull_vertex\0", offsetof(struct opengl_funcs, p_glCullParameterfvEXT), 0, 0 }, - { "glCurrentPaletteMatrixARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glCurrentPaletteMatrixARB), 0, 0 }, - { "glDebugMessageCallback", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glDebugMessageCallback), 4, 3 }, - { "glDebugMessageCallbackAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageCallbackAMD), 0, 0 }, - { "glDebugMessageCallbackARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageCallbackARB), 0, 0 }, - { "glDebugMessageControl", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glDebugMessageControl), 4, 3 }, - { "glDebugMessageControlARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageControlARB), 0, 0 }, - { "glDebugMessageEnableAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageEnableAMD), 0, 0 }, - { "glDebugMessageInsert", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glDebugMessageInsert), 4, 3 }, - { "glDebugMessageInsertAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageInsertAMD), 0, 0 }, - { "glDebugMessageInsertARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glDebugMessageInsertARB), 0, 0 }, - { "glDeformSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformSGIX), 0, 0 }, - { "glDeformationMap3dSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformationMap3dSGIX), 0, 0 }, - { "glDeformationMap3fSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glDeformationMap3fSGIX), 0, 0 }, - { "glDeleteAsyncMarkersSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glDeleteAsyncMarkersSGIX), 0, 0 }, - { "glDeleteBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glDeleteBufferRegion), 0, 0 }, - { "glDeleteBuffers", "\0", offsetof(struct opengl_funcs, p_glDeleteBuffers), 1, 5 }, - { "glDeleteBuffersARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glDeleteBuffersARB), 0, 0 }, - { "glDeleteCommandListsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDeleteCommandListsNV), 0, 0 }, - { "glDeleteFencesAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glDeleteFencesAPPLE), 0, 0 }, - { "glDeleteFencesNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glDeleteFencesNV), 0, 0 }, - { "glDeleteFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glDeleteFragmentShaderATI), 0, 0 }, - { "glDeleteFramebuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteFramebuffers), 3, 0 }, - { "glDeleteFramebuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteFramebuffersEXT), 0, 0 }, - { "glDeleteMemoryObjectsEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glDeleteMemoryObjectsEXT), 0, 0 }, - { "glDeleteNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glDeleteNamedStringARB), 0, 0 }, - { "glDeleteNamesAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glDeleteNamesAMD), 0, 0 }, - { "glDeleteObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glDeleteObjectARB), 0, 0 }, - { "glDeleteObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteObjectBufferATI), 0, 0 }, - { "glDeleteOcclusionQueriesNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glDeleteOcclusionQueriesNV), 0, 0 }, - { "glDeletePathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glDeletePathsNV), 0, 0 }, - { "glDeletePerfMonitorsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glDeletePerfMonitorsAMD), 0, 0 }, - { "glDeletePerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glDeletePerfQueryINTEL), 0, 0 }, - { "glDeleteProgram", "\0", offsetof(struct opengl_funcs, p_glDeleteProgram), 2, 0 }, - { "glDeleteProgramPipelines", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glDeleteProgramPipelines), 4, 1 }, - { "glDeleteProgramsARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glDeleteProgramsARB), 0, 0 }, - { "glDeleteProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glDeleteProgramsNV), 0, 0 }, - { "glDeleteQueries", "\0", offsetof(struct opengl_funcs, p_glDeleteQueries), 1, 5 }, - { "glDeleteQueriesARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glDeleteQueriesARB), 0, 0 }, - { "glDeleteQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glDeleteQueryResourceTagNV), 0, 0 }, - { "glDeleteRenderbuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffers), 3, 0 }, - { "glDeleteRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glDeleteRenderbuffersEXT), 0, 0 }, - { "glDeleteSamplers", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glDeleteSamplers), 3, 3 }, - { "glDeleteSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glDeleteSemaphoresEXT), 0, 0 }, - { "glDeleteShader", "\0", offsetof(struct opengl_funcs, p_glDeleteShader), 2, 0 }, - { "glDeleteStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDeleteStatesNV), 0, 0 }, - { "glDeleteSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glDeleteSync), 3, 2 }, - { "glDeleteTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glDeleteTexturesEXT), 0, 0 }, - { "glDeleteTransformFeedbacks", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacks), 4, 0 }, - { "glDeleteTransformFeedbacksNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacksNV), 0, 0 }, - { "glDeleteVertexArrays", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteVertexArrays), 3, 0 }, - { "glDeleteVertexArraysAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glDeleteVertexArraysAPPLE), 0, 0 }, - { "glDeleteVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glDeleteVertexShaderEXT), 0, 0 }, - { "glDepthBoundsEXT", "GL_EXT_depth_bounds_test\0", offsetof(struct opengl_funcs, p_glDepthBoundsEXT), 0, 0 }, - { "glDepthBoundsdNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glDepthBoundsdNV), 0, 0 }, - { "glDepthRangeArraydvNV", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeArraydvNV), 0, 0 }, - { "glDepthRangeArrayv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeArrayv), 4, 1 }, - { "glDepthRangeIndexed", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeIndexed), 4, 1 }, - { "glDepthRangeIndexeddNV", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glDepthRangeIndexeddNV), 0, 0 }, - { "glDepthRangedNV", "GL_NV_depth_buffer_float\0", offsetof(struct opengl_funcs, p_glDepthRangedNV), 0, 0 }, - { "glDepthRangef", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glDepthRangef), 4, 1 }, - { "glDepthRangefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glDepthRangefOES), 0, 0 }, - { "glDepthRangex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glDepthRangex), 0, 0 }, - { "glDepthRangexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glDepthRangexOES), 0, 0 }, - { "glDetachObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glDetachObjectARB), 0, 0 }, - { "glDetachShader", "\0", offsetof(struct opengl_funcs, p_glDetachShader), 2, 0 }, - { "glDetailTexFuncSGIS", "GL_SGIS_detail_texture\0", offsetof(struct opengl_funcs, p_glDetailTexFuncSGIS), 0, 0 }, - { "glDisableClientStateIndexedEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableClientStateIndexedEXT), 0, 0 }, - { "glDisableClientStateiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableClientStateiEXT), 0, 0 }, - { "glDisableIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glDisableIndexedEXT), 0, 0 }, - { "glDisableVariantClientStateEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glDisableVariantClientStateEXT), 0, 0 }, - { "glDisableVertexArrayAttrib", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttrib), 4, 5 }, - { "glDisableVertexArrayAttribEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttribEXT), 0, 0 }, - { "glDisableVertexArrayEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glDisableVertexArrayEXT), 0, 0 }, - { "glDisableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribAPPLE), 0, 0 }, - { "glDisableVertexAttribArray", "\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribArray), 2, 0 }, - { "glDisableVertexAttribArrayARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glDisableVertexAttribArrayARB), 0, 0 }, - { "glDisablei", "\0", offsetof(struct opengl_funcs, p_glDisablei), 3, 0 }, - { "glDispatchCompute", "GL_ARB_compute_shader\0", offsetof(struct opengl_funcs, p_glDispatchCompute), 4, 3 }, - { "glDispatchComputeGroupSizeARB", "GL_ARB_compute_variable_group_size\0", offsetof(struct opengl_funcs, p_glDispatchComputeGroupSizeARB), 0, 0 }, - { "glDispatchComputeIndirect", "GL_ARB_compute_shader\0", offsetof(struct opengl_funcs, p_glDispatchComputeIndirect), 4, 3 }, - { "glDrawArraysEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glDrawArraysEXT), 0, 0 }, - { "glDrawArraysIndirect", "GL_ARB_draw_indirect\0", offsetof(struct opengl_funcs, p_glDrawArraysIndirect), 4, 0 }, - { "glDrawArraysInstanced", "\0", offsetof(struct opengl_funcs, p_glDrawArraysInstanced), 3, 1 }, - { "glDrawArraysInstancedARB", "GL_ARB_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedARB), 0, 0 }, - { "glDrawArraysInstancedBaseInstance", "GL_ARB_base_instance\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedBaseInstance), 4, 2 }, - { "glDrawArraysInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedEXT), 0, 0 }, - { "glDrawBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glDrawBufferRegion), 0, 0 }, - { "glDrawBuffers", "\0", offsetof(struct opengl_funcs, p_glDrawBuffers), 2, 0 }, - { "glDrawBuffersARB", "GL_ARB_draw_buffers\0", offsetof(struct opengl_funcs, p_glDrawBuffersARB), 0, 0 }, - { "glDrawBuffersATI", "GL_ATI_draw_buffers\0", offsetof(struct opengl_funcs, p_glDrawBuffersATI), 0, 0 }, - { "glDrawCommandsAddressNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsAddressNV), 0, 0 }, - { "glDrawCommandsNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsNV), 0, 0 }, - { "glDrawCommandsStatesAddressNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsStatesAddressNV), 0, 0 }, - { "glDrawCommandsStatesNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glDrawCommandsStatesNV), 0, 0 }, - { "glDrawElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glDrawElementArrayAPPLE), 0, 0 }, - { "glDrawElementArrayATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glDrawElementArrayATI), 0, 0 }, - { "glDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glDrawElementsBaseVertex), 3, 2 }, - { "glDrawElementsIndirect", "GL_ARB_draw_indirect\0", offsetof(struct opengl_funcs, p_glDrawElementsIndirect), 4, 0 }, - { "glDrawElementsInstanced", "\0", offsetof(struct opengl_funcs, p_glDrawElementsInstanced), 3, 1 }, - { "glDrawElementsInstancedARB", "GL_ARB_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedARB), 0, 0 }, - { "glDrawElementsInstancedBaseInstance", "GL_ARB_base_instance\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseInstance), 4, 2 }, - { "glDrawElementsInstancedBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertex), 3, 2 }, - { "glDrawElementsInstancedBaseVertexBaseInstance", "GL_ARB_base_instance\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertexBaseInstance), 4, 2 }, - { "glDrawElementsInstancedEXT", "GL_EXT_draw_instanced\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedEXT), 0, 0 }, - { "glDrawMeshArraysSUN", "GL_SUN_mesh_array\0", offsetof(struct opengl_funcs, p_glDrawMeshArraysSUN), 0, 0 }, - { "glDrawMeshTasksEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksEXT), 0, 0 }, - { "glDrawMeshTasksIndirectEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectEXT), 0, 0 }, - { "glDrawMeshTasksIndirectNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectNV), 0, 0 }, - { "glDrawMeshTasksNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glDrawMeshTasksNV), 0, 0 }, - { "glDrawRangeElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayAPPLE), 0, 0 }, - { "glDrawRangeElementArrayATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayATI), 0, 0 }, - { "glDrawRangeElements", "\0", offsetof(struct opengl_funcs, p_glDrawRangeElements), 1, 2 }, - { "glDrawRangeElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glDrawRangeElementsBaseVertex), 3, 2 }, - { "glDrawRangeElementsEXT", "GL_EXT_draw_range_elements\0", offsetof(struct opengl_funcs, p_glDrawRangeElementsEXT), 0, 0 }, - { "glDrawTextureNV", "GL_NV_draw_texture\0", offsetof(struct opengl_funcs, p_glDrawTextureNV), 0, 0 }, - { "glDrawTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedback), 4, 0 }, - { "glDrawTransformFeedbackInstanced", "GL_ARB_transform_feedback_instanced\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackInstanced), 4, 2 }, - { "glDrawTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackNV), 0, 0 }, - { "glDrawTransformFeedbackStream", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStream), 4, 0 }, - { "glDrawTransformFeedbackStreamInstanced", "GL_ARB_transform_feedback_instanced\0", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStreamInstanced), 4, 2 }, - { "glDrawVkImageNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glDrawVkImageNV), 0, 0 }, - { "glEGLImageTargetTexStorageEXT", "GL_EXT_EGL_image_storage\0", offsetof(struct opengl_funcs, p_glEGLImageTargetTexStorageEXT), 0, 0 }, - { "glEGLImageTargetTextureStorageEXT", "GL_EXT_EGL_image_storage\0", offsetof(struct opengl_funcs, p_glEGLImageTargetTextureStorageEXT), 0, 0 }, - { "glEdgeFlagFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glEdgeFlagFormatNV), 0, 0 }, - { "glEdgeFlagPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glEdgeFlagPointerEXT), 0, 0 }, - { "glEdgeFlagPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glEdgeFlagPointerListIBM), 0, 0 }, - { "glElementPointerAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glElementPointerAPPLE), 0, 0 }, - { "glElementPointerATI", "GL_ATI_element_array\0", offsetof(struct opengl_funcs, p_glElementPointerATI), 0, 0 }, - { "glEnableClientStateIndexedEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableClientStateIndexedEXT), 0, 0 }, - { "glEnableClientStateiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableClientStateiEXT), 0, 0 }, - { "glEnableIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glEnableIndexedEXT), 0, 0 }, - { "glEnableVariantClientStateEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glEnableVariantClientStateEXT), 0, 0 }, - { "glEnableVertexArrayAttrib", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttrib), 4, 5 }, - { "glEnableVertexArrayAttribEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttribEXT), 0, 0 }, - { "glEnableVertexArrayEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glEnableVertexArrayEXT), 0, 0 }, - { "glEnableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribAPPLE), 0, 0 }, - { "glEnableVertexAttribArray", "\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribArray), 2, 0 }, - { "glEnableVertexAttribArrayARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glEnableVertexAttribArrayARB), 0, 0 }, - { "glEnablei", "\0", offsetof(struct opengl_funcs, p_glEnablei), 3, 0 }, - { "glEndConditionalRender", "\0", offsetof(struct opengl_funcs, p_glEndConditionalRender), 3, 0 }, - { "glEndConditionalRenderNV", "GL_NV_conditional_render\0", offsetof(struct opengl_funcs, p_glEndConditionalRenderNV), 0, 0 }, - { "glEndConditionalRenderNVX", "GL_NVX_conditional_render\0", offsetof(struct opengl_funcs, p_glEndConditionalRenderNVX), 0, 0 }, - { "glEndFragmentShaderATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glEndFragmentShaderATI), 0, 0 }, - { "glEndOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glEndOcclusionQueryNV), 0, 0 }, - { "glEndPerfMonitorAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glEndPerfMonitorAMD), 0, 0 }, - { "glEndPerfQueryINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glEndPerfQueryINTEL), 0, 0 }, - { "glEndQuery", "\0", offsetof(struct opengl_funcs, p_glEndQuery), 1, 5 }, - { "glEndQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glEndQueryARB), 0, 0 }, - { "glEndQueryIndexed", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glEndQueryIndexed), 4, 0 }, - { "glEndTransformFeedback", "\0", offsetof(struct opengl_funcs, p_glEndTransformFeedback), 3, 0 }, - { "glEndTransformFeedbackEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glEndTransformFeedbackEXT), 0, 0 }, - { "glEndTransformFeedbackNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glEndTransformFeedbackNV), 0, 0 }, - { "glEndVertexShaderEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glEndVertexShaderEXT), 0, 0 }, - { "glEndVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glEndVideoCaptureNV), 0, 0 }, - { "glEvalCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord1xOES), 0, 0 }, - { "glEvalCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord1xvOES), 0, 0 }, - { "glEvalCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord2xOES), 0, 0 }, - { "glEvalCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glEvalCoord2xvOES), 0, 0 }, - { "glEvalMapsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glEvalMapsNV), 0, 0 }, - { "glEvaluateDepthValuesARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glEvaluateDepthValuesARB), 0, 0 }, - { "glExecuteProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glExecuteProgramNV), 0, 0 }, - { "glExtractComponentEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glExtractComponentEXT), 0, 0 }, - { "glFeedbackBufferxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFeedbackBufferxOES), 0, 0 }, - { "glFenceSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glFenceSync), 3, 2 }, - { "glFinalCombinerInputNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glFinalCombinerInputNV), 0, 0 }, - { "glFinishAsyncSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glFinishAsyncSGIX), 0, 0 }, - { "glFinishFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glFinishFenceAPPLE), 0, 0 }, - { "glFinishFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glFinishFenceNV), 0, 0 }, - { "glFinishObjectAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glFinishObjectAPPLE), 0, 0 }, - { "glFinishTextureSUNX", "GL_SUNX_constant_data\0", offsetof(struct opengl_funcs, p_glFinishTextureSUNX), 0, 0 }, - { "glFlushMappedBufferRange", "GL_ARB_map_buffer_range\0", offsetof(struct opengl_funcs, p_glFlushMappedBufferRange), 3, 0 }, - { "glFlushMappedBufferRangeAPPLE", "GL_APPLE_flush_buffer_range\0", offsetof(struct opengl_funcs, p_glFlushMappedBufferRangeAPPLE), 0, 0 }, - { "glFlushMappedNamedBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRange), 4, 5 }, - { "glFlushMappedNamedBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRangeEXT), 0, 0 }, - { "glFlushPixelDataRangeNV", "GL_NV_pixel_data_range\0", offsetof(struct opengl_funcs, p_glFlushPixelDataRangeNV), 0, 0 }, - { "glFlushRasterSGIX", "GL_SGIX_flush_raster\0", offsetof(struct opengl_funcs, p_glFlushRasterSGIX), 0, 0 }, - { "glFlushStaticDataIBM", "GL_IBM_static_data\0", offsetof(struct opengl_funcs, p_glFlushStaticDataIBM), 0, 0 }, - { "glFlushVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeAPPLE), 0, 0 }, - { "glFlushVertexArrayRangeNV", "GL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeNV), 0, 0 }, - { "glFogCoordFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glFogCoordFormatNV), 0, 0 }, - { "glFogCoordPointer", "\0", offsetof(struct opengl_funcs, p_glFogCoordPointer), 1, 4 }, - { "glFogCoordPointerEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordPointerEXT), 0, 0 }, - { "glFogCoordPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glFogCoordPointerListIBM), 0, 0 }, - { "glFogCoordd", "\0", offsetof(struct opengl_funcs, p_glFogCoordd), 1, 4 }, - { "glFogCoorddEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoorddEXT), 0, 0 }, - { "glFogCoorddv", "\0", offsetof(struct opengl_funcs, p_glFogCoorddv), 1, 4 }, - { "glFogCoorddvEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoorddvEXT), 0, 0 }, - { "glFogCoordf", "\0", offsetof(struct opengl_funcs, p_glFogCoordf), 1, 4 }, - { "glFogCoordfEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordfEXT), 0, 0 }, - { "glFogCoordfv", "\0", offsetof(struct opengl_funcs, p_glFogCoordfv), 1, 4 }, - { "glFogCoordfvEXT", "GL_EXT_fog_coord\0", offsetof(struct opengl_funcs, p_glFogCoordfvEXT), 0, 0 }, - { "glFogCoordhNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glFogCoordhNV), 0, 0 }, - { "glFogCoordhvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glFogCoordhvNV), 0, 0 }, - { "glFogFuncSGIS", "GL_SGIS_fog_function\0", offsetof(struct opengl_funcs, p_glFogFuncSGIS), 0, 0 }, - { "glFogx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFogx), 0, 0 }, - { "glFogxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFogxOES), 0, 0 }, - { "glFogxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFogxv), 0, 0 }, - { "glFogxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFogxvOES), 0, 0 }, - { "glFragmentColorMaterialSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentColorMaterialSGIX), 0, 0 }, - { "glFragmentCoverageColorNV", "GL_NV_fragment_coverage_to_color\0", offsetof(struct opengl_funcs, p_glFragmentCoverageColorNV), 0, 0 }, - { "glFragmentLightModelfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelfSGIX), 0, 0 }, - { "glFragmentLightModelfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelfvSGIX), 0, 0 }, - { "glFragmentLightModeliSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModeliSGIX), 0, 0 }, - { "glFragmentLightModelivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightModelivSGIX), 0, 0 }, - { "glFragmentLightfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightfSGIX), 0, 0 }, - { "glFragmentLightfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightfvSGIX), 0, 0 }, - { "glFragmentLightiSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightiSGIX), 0, 0 }, - { "glFragmentLightivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentLightivSGIX), 0, 0 }, - { "glFragmentMaterialfSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialfSGIX), 0, 0 }, - { "glFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialfvSGIX), 0, 0 }, - { "glFragmentMaterialiSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialiSGIX), 0, 0 }, - { "glFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glFragmentMaterialivSGIX), 0, 0 }, - { "glFrameTerminatorGREMEDY", "GL_GREMEDY_frame_terminator\0", offsetof(struct opengl_funcs, p_glFrameTerminatorGREMEDY), 0, 0 }, - { "glFrameZoomSGIX", "GL_SGIX_framezoom\0", offsetof(struct opengl_funcs, p_glFrameZoomSGIX), 0, 0 }, - { "glFramebufferDrawBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferDrawBufferEXT), 0, 0 }, - { "glFramebufferDrawBuffersEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferDrawBuffersEXT), 0, 0 }, - { "glFramebufferFetchBarrierEXT", "GL_EXT_shader_framebuffer_fetch_non_coherent\0", offsetof(struct opengl_funcs, p_glFramebufferFetchBarrierEXT), 0, 0 }, - { "glFramebufferParameteri", "GL_ARB_framebuffer_no_attachments\0", offsetof(struct opengl_funcs, p_glFramebufferParameteri), 4, 3 }, - { "glFramebufferParameteriMESA", "GL_MESA_framebuffer_flip_y\0", offsetof(struct opengl_funcs, p_glFramebufferParameteriMESA), 0, 0 }, - { "glFramebufferReadBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glFramebufferReadBufferEXT), 0, 0 }, - { "glFramebufferRenderbuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferRenderbuffer), 3, 0 }, - { "glFramebufferRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferRenderbufferEXT), 0, 0 }, - { "glFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvARB), 0, 0 }, - { "glFramebufferSampleLocationsfvNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvNV), 0, 0 }, - { "glFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glFramebufferSamplePositionsfvAMD), 0, 0 }, - { "glFramebufferShadingRateEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glFramebufferShadingRateEXT), 0, 0 }, - { "glFramebufferTexture", "\0", offsetof(struct opengl_funcs, p_glFramebufferTexture), 3, 2 }, - { "glFramebufferTexture1D", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture1D), 3, 0 }, - { "glFramebufferTexture1DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture1DEXT), 0, 0 }, - { "glFramebufferTexture2D", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture2D), 3, 0 }, - { "glFramebufferTexture2DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture2DEXT), 0, 0 }, - { "glFramebufferTexture3D", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3D), 3, 0 }, - { "glFramebufferTexture3DEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTexture3DEXT), 0, 0 }, - { "glFramebufferTextureARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureARB), 0, 0 }, - { "glFramebufferTextureEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureEXT), 0, 0 }, - { "glFramebufferTextureFaceARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceARB), 0, 0 }, - { "glFramebufferTextureFaceEXT", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceEXT), 0, 0 }, - { "glFramebufferTextureLayer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayer), 3, 0 }, - { "glFramebufferTextureLayerARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerARB), 0, 0 }, - { "glFramebufferTextureLayerEXT", "GL_EXT_texture_array\0GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerEXT), 0, 0 }, - { "glFramebufferTextureMultiviewOVR", "GL_OVR_multiview\0", offsetof(struct opengl_funcs, p_glFramebufferTextureMultiviewOVR), 0, 0 }, - { "glFreeObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glFreeObjectBufferATI), 0, 0 }, - { "glFrustumf", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFrustumf), 0, 0 }, - { "glFrustumfOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glFrustumfOES), 0, 0 }, - { "glFrustumx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glFrustumx), 0, 0 }, - { "glFrustumxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glFrustumxOES), 0, 0 }, - { "glGenAsyncMarkersSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glGenAsyncMarkersSGIX), 0, 0 }, - { "glGenBuffers", "\0", offsetof(struct opengl_funcs, p_glGenBuffers), 1, 5 }, - { "glGenBuffersARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGenBuffersARB), 0, 0 }, - { "glGenFencesAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glGenFencesAPPLE), 0, 0 }, - { "glGenFencesNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glGenFencesNV), 0, 0 }, - { "glGenFragmentShadersATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glGenFragmentShadersATI), 0, 0 }, - { "glGenFramebuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenFramebuffers), 3, 0 }, - { "glGenFramebuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenFramebuffersEXT), 0, 0 }, - { "glGenNamesAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glGenNamesAMD), 0, 0 }, - { "glGenOcclusionQueriesNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGenOcclusionQueriesNV), 0, 0 }, - { "glGenPathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGenPathsNV), 0, 0 }, - { "glGenPerfMonitorsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGenPerfMonitorsAMD), 0, 0 }, - { "glGenProgramPipelines", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glGenProgramPipelines), 4, 1 }, - { "glGenProgramsARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGenProgramsARB), 0, 0 }, - { "glGenProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGenProgramsNV), 0, 0 }, - { "glGenQueries", "\0", offsetof(struct opengl_funcs, p_glGenQueries), 1, 5 }, - { "glGenQueriesARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGenQueriesARB), 0, 0 }, - { "glGenQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glGenQueryResourceTagNV), 0, 0 }, - { "glGenRenderbuffers", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenRenderbuffers), 3, 0 }, - { "glGenRenderbuffersEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenRenderbuffersEXT), 0, 0 }, - { "glGenSamplers", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGenSamplers), 3, 3 }, - { "glGenSemaphoresEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGenSemaphoresEXT), 0, 0 }, - { "glGenSymbolsEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGenSymbolsEXT), 0, 0 }, - { "glGenTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glGenTexturesEXT), 0, 0 }, - { "glGenTransformFeedbacks", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glGenTransformFeedbacks), 4, 0 }, - { "glGenTransformFeedbacksNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glGenTransformFeedbacksNV), 0, 0 }, - { "glGenVertexArrays", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGenVertexArrays), 3, 0 }, - { "glGenVertexArraysAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGenVertexArraysAPPLE), 0, 0 }, - { "glGenVertexShadersEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGenVertexShadersEXT), 0, 0 }, - { "glGenerateMipmap", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenerateMipmap), 3, 0 }, - { "glGenerateMipmapEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGenerateMipmapEXT), 0, 0 }, - { "glGenerateMultiTexMipmapEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateMultiTexMipmapEXT), 0, 0 }, - { "glGenerateTextureMipmap", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateTextureMipmap), 4, 5 }, - { "glGenerateTextureMipmapEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGenerateTextureMipmapEXT), 0, 0 }, - { "glGetActiveAtomicCounterBufferiv", "GL_ARB_shader_atomic_counters\0", offsetof(struct opengl_funcs, p_glGetActiveAtomicCounterBufferiv), 4, 2 }, - { "glGetActiveAttrib", "\0", offsetof(struct opengl_funcs, p_glGetActiveAttrib), 2, 0 }, - { "glGetActiveAttribARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetActiveAttribARB), 0, 0 }, - { "glGetActiveSubroutineName", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineName), 4, 0 }, - { "glGetActiveSubroutineUniformName", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformName), 4, 0 }, - { "glGetActiveSubroutineUniformiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformiv), 4, 0 }, - { "glGetActiveUniform", "\0", offsetof(struct opengl_funcs, p_glGetActiveUniform), 2, 0 }, - { "glGetActiveUniformARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetActiveUniformARB), 0, 0 }, - { "glGetActiveUniformBlockName", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockName), 3, 1 }, - { "glGetActiveUniformBlockiv", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockiv), 3, 1 }, - { "glGetActiveUniformName", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformName), 3, 1 }, - { "glGetActiveUniformsiv", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetActiveUniformsiv), 3, 1 }, - { "glGetActiveVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetActiveVaryingNV), 0, 0 }, - { "glGetArrayObjectfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetArrayObjectfvATI), 0, 0 }, - { "glGetArrayObjectivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetArrayObjectivATI), 0, 0 }, - { "glGetAttachedObjectsARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetAttachedObjectsARB), 0, 0 }, - { "glGetAttachedShaders", "\0", offsetof(struct opengl_funcs, p_glGetAttachedShaders), 2, 0 }, - { "glGetAttribLocation", "\0", offsetof(struct opengl_funcs, p_glGetAttribLocation), 2, 0 }, - { "glGetAttribLocationARB", "GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetAttribLocationARB), 0, 0 }, - { "glGetBooleanIndexedvEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glGetBooleanIndexedvEXT), 0, 0 }, - { "glGetBooleani_v", "\0", offsetof(struct opengl_funcs, p_glGetBooleani_v), 3, 0 }, - { "glGetBufferParameteri64v", "\0", offsetof(struct opengl_funcs, p_glGetBufferParameteri64v), 3, 2 }, - { "glGetBufferParameteriv", "\0", offsetof(struct opengl_funcs, p_glGetBufferParameteriv), 1, 5 }, - { "glGetBufferParameterivARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferParameterivARB), 0, 0 }, - { "glGetBufferParameterui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetBufferParameterui64vNV), 0, 0 }, - { "glGetBufferPointerv", "\0", offsetof(struct opengl_funcs, p_glGetBufferPointerv), 1, 5 }, - { "glGetBufferPointervARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferPointervARB), 0, 0 }, - { "glGetBufferSubData", "\0", offsetof(struct opengl_funcs, p_glGetBufferSubData), 1, 5 }, - { "glGetBufferSubDataARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glGetBufferSubDataARB), 0, 0 }, - { "glGetClipPlanef", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetClipPlanef), 0, 0 }, - { "glGetClipPlanefOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glGetClipPlanefOES), 0, 0 }, - { "glGetClipPlanex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetClipPlanex), 0, 0 }, - { "glGetClipPlanexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetClipPlanexOES), 0, 0 }, - { "glGetColorTable", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTable), 0, 0 }, - { "glGetColorTableEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableEXT), 0, 0 }, - { "glGetColorTableParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfv), 0, 0 }, - { "glGetColorTableParameterfvEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvEXT), 0, 0 }, - { "glGetColorTableParameterfvSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvSGI), 0, 0 }, - { "glGetColorTableParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetColorTableParameteriv), 0, 0 }, - { "glGetColorTableParameterivEXT", "GL_EXT_paletted_texture\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterivEXT), 0, 0 }, - { "glGetColorTableParameterivSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableParameterivSGI), 0, 0 }, - { "glGetColorTableSGI", "GL_SGI_color_table\0", offsetof(struct opengl_funcs, p_glGetColorTableSGI), 0, 0 }, - { "glGetCombinerInputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterfvNV), 0, 0 }, - { "glGetCombinerInputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterivNV), 0, 0 }, - { "glGetCombinerOutputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterfvNV), 0, 0 }, - { "glGetCombinerOutputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterivNV), 0, 0 }, - { "glGetCombinerStageParameterfvNV", "GL_NV_register_combiners2\0", offsetof(struct opengl_funcs, p_glGetCombinerStageParameterfvNV), 0, 0 }, - { "glGetCommandHeaderNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glGetCommandHeaderNV), 0, 0 }, - { "glGetCompressedMultiTexImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedMultiTexImageEXT), 0, 0 }, - { "glGetCompressedTexImage", "\0", offsetof(struct opengl_funcs, p_glGetCompressedTexImage), 1, 3 }, - { "glGetCompressedTexImageARB", "GL_ARB_texture_compression\0", offsetof(struct opengl_funcs, p_glGetCompressedTexImageARB), 1, 3 }, - { "glGetCompressedTextureImage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureImage), 4, 5 }, - { "glGetCompressedTextureImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureImageEXT), 0, 0 }, - { "glGetCompressedTextureSubImage", "GL_ARB_get_texture_sub_image\0", offsetof(struct opengl_funcs, p_glGetCompressedTextureSubImage), 4, 5 }, - { "glGetConvolutionFilter", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionFilter), 0, 0 }, - { "glGetConvolutionFilterEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionFilterEXT), 0, 0 }, - { "glGetConvolutionParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfv), 0, 0 }, - { "glGetConvolutionParameterfvEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfvEXT), 0, 0 }, - { "glGetConvolutionParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameteriv), 0, 0 }, - { "glGetConvolutionParameterivEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterivEXT), 0, 0 }, - { "glGetConvolutionParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetConvolutionParameterxvOES), 0, 0 }, - { "glGetCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glGetCoverageModulationTableNV), 0, 0 }, - { "glGetDebugMessageLog", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLog), 4, 3 }, - { "glGetDebugMessageLogAMD", "GL_AMDX_debug_output\0GL_AMD_debug_output\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLogAMD), 0, 0 }, - { "glGetDebugMessageLogARB", "GL_ARB_debug_output\0", offsetof(struct opengl_funcs, p_glGetDebugMessageLogARB), 0, 0 }, - { "glGetDetailTexFuncSGIS", "GL_SGIS_detail_texture\0", offsetof(struct opengl_funcs, p_glGetDetailTexFuncSGIS), 0, 0 }, - { "glGetDoubleIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetDoubleIndexedvEXT), 0, 0 }, - { "glGetDoublei_v", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glGetDoublei_v), 4, 1 }, - { "glGetDoublei_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetDoublei_vEXT), 0, 0 }, - { "glGetFenceivNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glGetFenceivNV), 0, 0 }, - { "glGetFinalCombinerInputParameterfvNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterfvNV), 0, 0 }, - { "glGetFinalCombinerInputParameterivNV", "GL_NV_register_combiners\0", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterivNV), 0, 0 }, - { "glGetFirstPerfQueryIdINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetFirstPerfQueryIdINTEL), 0, 0 }, - { "glGetFixedv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetFixedv), 0, 0 }, - { "glGetFixedvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetFixedvOES), 0, 0 }, - { "glGetFloatIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFloatIndexedvEXT), 0, 0 }, - { "glGetFloati_v", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glGetFloati_v), 4, 1 }, - { "glGetFloati_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFloati_vEXT), 0, 0 }, - { "glGetFogFuncSGIS", "GL_SGIS_fog_function\0", offsetof(struct opengl_funcs, p_glGetFogFuncSGIS), 0, 0 }, - { "glGetFragDataIndex", "GL_ARB_blend_func_extended\0", offsetof(struct opengl_funcs, p_glGetFragDataIndex), 3, 3 }, - { "glGetFragDataLocation", "\0", offsetof(struct opengl_funcs, p_glGetFragDataLocation), 3, 0 }, - { "glGetFragDataLocationEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glGetFragDataLocationEXT), 0, 0 }, - { "glGetFragmentLightfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentLightfvSGIX), 0, 0 }, - { "glGetFragmentLightivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentLightivSGIX), 0, 0 }, - { "glGetFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentMaterialfvSGIX), 0, 0 }, - { "glGetFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glGetFragmentMaterialivSGIX), 0, 0 }, - { "glGetFragmentShadingRatesEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glGetFragmentShadingRatesEXT), 0, 0 }, - { "glGetFramebufferAttachmentParameteriv", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameteriv), 3, 0 }, - { "glGetFramebufferAttachmentParameterivEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameterivEXT), 0, 0 }, - { "glGetFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterfvAMD), 0, 0 }, - { "glGetFramebufferParameteriv", "GL_ARB_framebuffer_no_attachments\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameteriv), 4, 3 }, - { "glGetFramebufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivEXT), 0, 0 }, - { "glGetFramebufferParameterivMESA", "GL_MESA_framebuffer_flip_y\0", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivMESA), 0, 0 }, - { "glGetGraphicsResetStatus", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatus), 4, 5 }, - { "glGetGraphicsResetStatusARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatusARB), 0, 0 }, - { "glGetHandleARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetHandleARB), 0, 0 }, - { "glGetHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogram), 0, 0 }, - { "glGetHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramEXT), 0, 0 }, - { "glGetHistogramParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterfv), 0, 0 }, - { "glGetHistogramParameterfvEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterfvEXT), 0, 0 }, - { "glGetHistogramParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetHistogramParameteriv), 0, 0 }, - { "glGetHistogramParameterivEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterivEXT), 0, 0 }, - { "glGetHistogramParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetHistogramParameterxvOES), 0, 0 }, - { "glGetImageHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetImageHandleARB), 0, 0 }, - { "glGetImageHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetImageHandleNV), 0, 0 }, - { "glGetImageTransformParameterfvHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glGetImageTransformParameterfvHP), 0, 0 }, - { "glGetImageTransformParameterivHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glGetImageTransformParameterivHP), 0, 0 }, - { "glGetInfoLogARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetInfoLogARB), 0, 0 }, - { "glGetInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glGetInstrumentsSGIX), 0, 0 }, - { "glGetInteger64i_v", "\0", offsetof(struct opengl_funcs, p_glGetInteger64i_v), 3, 2 }, - { "glGetInteger64v", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glGetInteger64v), 3, 2 }, - { "glGetIntegerIndexedvEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glGetIntegerIndexedvEXT), 0, 0 }, - { "glGetIntegeri_v", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetIntegeri_v), 3, 0 }, - { "glGetIntegerui64i_vNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glGetIntegerui64i_vNV), 0, 0 }, - { "glGetIntegerui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetIntegerui64vNV), 0, 0 }, - { "glGetInternalformatSampleivNV", "GL_NV_internalformat_sample_query\0", offsetof(struct opengl_funcs, p_glGetInternalformatSampleivNV), 0, 0 }, - { "glGetInternalformati64v", "GL_ARB_internalformat_query2\0", offsetof(struct opengl_funcs, p_glGetInternalformati64v), 4, 3 }, - { "glGetInternalformativ", "GL_ARB_internalformat_query\0", offsetof(struct opengl_funcs, p_glGetInternalformativ), 4, 2 }, - { "glGetInvariantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantBooleanvEXT), 0, 0 }, - { "glGetInvariantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantFloatvEXT), 0, 0 }, - { "glGetInvariantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetInvariantIntegervEXT), 0, 0 }, - { "glGetLightxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetLightxOES), 0, 0 }, - { "glGetLightxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetLightxv), 0, 0 }, - { "glGetListParameterfvSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glGetListParameterfvSGIX), 0, 0 }, - { "glGetListParameterivSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glGetListParameterivSGIX), 0, 0 }, - { "glGetLocalConstantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantBooleanvEXT), 0, 0 }, - { "glGetLocalConstantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantFloatvEXT), 0, 0 }, - { "glGetLocalConstantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetLocalConstantIntegervEXT), 0, 0 }, - { "glGetMapAttribParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapAttribParameterfvNV), 0, 0 }, - { "glGetMapAttribParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapAttribParameterivNV), 0, 0 }, - { "glGetMapControlPointsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapControlPointsNV), 0, 0 }, - { "glGetMapParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapParameterfvNV), 0, 0 }, - { "glGetMapParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glGetMapParameterivNV), 0, 0 }, - { "glGetMapxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetMapxvOES), 0, 0 }, - { "glGetMaterialxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetMaterialxOES), 0, 0 }, - { "glGetMaterialxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetMaterialxv), 0, 0 }, - { "glGetMemoryObjectDetachedResourcesuivNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glGetMemoryObjectDetachedResourcesuivNV), 0, 0 }, - { "glGetMemoryObjectParameterivEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glGetMemoryObjectParameterivEXT), 0, 0 }, - { "glGetMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmax), 0, 0 }, - { "glGetMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxEXT), 0, 0 }, - { "glGetMinmaxParameterfv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfv), 0, 0 }, - { "glGetMinmaxParameterfvEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfvEXT), 0, 0 }, - { "glGetMinmaxParameteriv", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameteriv), 0, 0 }, - { "glGetMinmaxParameterivEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glGetMinmaxParameterivEXT), 0, 0 }, - { "glGetMultiTexEnvfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexEnvfvEXT), 0, 0 }, - { "glGetMultiTexEnvivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexEnvivEXT), 0, 0 }, - { "glGetMultiTexGendvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGendvEXT), 0, 0 }, - { "glGetMultiTexGenfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGenfvEXT), 0, 0 }, - { "glGetMultiTexGenivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexGenivEXT), 0, 0 }, - { "glGetMultiTexImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexImageEXT), 0, 0 }, - { "glGetMultiTexLevelParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterfvEXT), 0, 0 }, - { "glGetMultiTexLevelParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterivEXT), 0, 0 }, - { "glGetMultiTexParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIivEXT), 0, 0 }, - { "glGetMultiTexParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIuivEXT), 0, 0 }, - { "glGetMultiTexParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterfvEXT), 0, 0 }, - { "glGetMultiTexParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetMultiTexParameterivEXT), 0, 0 }, - { "glGetMultisamplefv", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glGetMultisamplefv), 3, 2 }, - { "glGetMultisamplefvNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glGetMultisamplefvNV), 0, 0 }, - { "glGetNamedBufferParameteri64v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteri64v), 4, 5 }, - { "glGetNamedBufferParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteriv), 4, 5 }, - { "glGetNamedBufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterivEXT), 0, 0 }, - { "glGetNamedBufferParameterui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterui64vNV), 0, 0 }, - { "glGetNamedBufferPointerv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferPointerv), 4, 5 }, - { "glGetNamedBufferPointervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferPointervEXT), 0, 0 }, - { "glGetNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferSubData), 4, 5 }, - { "glGetNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedBufferSubDataEXT), 0, 0 }, - { "glGetNamedFramebufferAttachmentParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameteriv), 4, 5 }, - { "glGetNamedFramebufferAttachmentParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameterivEXT), 0, 0 }, - { "glGetNamedFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterfvAMD), 0, 0 }, - { "glGetNamedFramebufferParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameteriv), 4, 5 }, - { "glGetNamedFramebufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterivEXT), 0, 0 }, - { "glGetNamedProgramLocalParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIivEXT), 0, 0 }, - { "glGetNamedProgramLocalParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIuivEXT), 0, 0 }, - { "glGetNamedProgramLocalParameterdvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterdvEXT), 0, 0 }, - { "glGetNamedProgramLocalParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterfvEXT), 0, 0 }, - { "glGetNamedProgramStringEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramStringEXT), 0, 0 }, - { "glGetNamedProgramivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedProgramivEXT), 0, 0 }, - { "glGetNamedRenderbufferParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameteriv), 4, 5 }, - { "glGetNamedRenderbufferParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameterivEXT), 0, 0 }, - { "glGetNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glGetNamedStringARB), 0, 0 }, - { "glGetNamedStringivARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glGetNamedStringivARB), 0, 0 }, - { "glGetNextPerfQueryIdINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetNextPerfQueryIdINTEL), 0, 0 }, - { "glGetObjectBufferfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetObjectBufferfvATI), 0, 0 }, - { "glGetObjectBufferivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetObjectBufferivATI), 0, 0 }, - { "glGetObjectLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glGetObjectLabel), 4, 3 }, - { "glGetObjectLabelEXT", "GL_EXT_debug_label\0", offsetof(struct opengl_funcs, p_glGetObjectLabelEXT), 0, 0 }, - { "glGetObjectParameterfvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetObjectParameterfvARB), 0, 0 }, - { "glGetObjectParameterivAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glGetObjectParameterivAPPLE), 0, 0 }, - { "glGetObjectParameterivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetObjectParameterivARB), 0, 0 }, - { "glGetObjectPtrLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glGetObjectPtrLabel), 4, 3 }, - { "glGetOcclusionQueryivNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetOcclusionQueryivNV), 0, 0 }, - { "glGetOcclusionQueryuivNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetOcclusionQueryuivNV), 0, 0 }, - { "glGetPathColorGenfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathColorGenfvNV), 0, 0 }, - { "glGetPathColorGenivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathColorGenivNV), 0, 0 }, - { "glGetPathCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathCommandsNV), 0, 0 }, - { "glGetPathCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathCoordsNV), 0, 0 }, - { "glGetPathDashArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathDashArrayNV), 0, 0 }, - { "glGetPathLengthNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathLengthNV), 0, 0 }, - { "glGetPathMetricRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathMetricRangeNV), 0, 0 }, - { "glGetPathMetricsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathMetricsNV), 0, 0 }, - { "glGetPathParameterfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathParameterfvNV), 0, 0 }, - { "glGetPathParameterivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathParameterivNV), 0, 0 }, - { "glGetPathSpacingNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathSpacingNV), 0, 0 }, - { "glGetPathTexGenfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathTexGenfvNV), 0, 0 }, - { "glGetPathTexGenivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetPathTexGenivNV), 0, 0 }, - { "glGetPerfCounterInfoINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfCounterInfoINTEL), 0, 0 }, - { "glGetPerfMonitorCounterDataAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterDataAMD), 0, 0 }, - { "glGetPerfMonitorCounterInfoAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterInfoAMD), 0, 0 }, - { "glGetPerfMonitorCounterStringAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterStringAMD), 0, 0 }, - { "glGetPerfMonitorCountersAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorCountersAMD), 0, 0 }, - { "glGetPerfMonitorGroupStringAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupStringAMD), 0, 0 }, - { "glGetPerfMonitorGroupsAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupsAMD), 0, 0 }, - { "glGetPerfQueryDataINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryDataINTEL), 0, 0 }, - { "glGetPerfQueryIdByNameINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryIdByNameINTEL), 0, 0 }, - { "glGetPerfQueryInfoINTEL", "GL_INTEL_performance_query\0", offsetof(struct opengl_funcs, p_glGetPerfQueryInfoINTEL), 0, 0 }, - { "glGetPixelMapxv", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetPixelMapxv), 0, 0 }, - { "glGetPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterfvSGIS), 0, 0 }, - { "glGetPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterivSGIS), 0, 0 }, - { "glGetPixelTransformParameterfvEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterfvEXT), 0, 0 }, - { "glGetPixelTransformParameterivEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterivEXT), 0, 0 }, - { "glGetPointerIndexedvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetPointerIndexedvEXT), 0, 0 }, - { "glGetPointeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetPointeri_vEXT), 0, 0 }, - { "glGetPointervEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glGetPointervEXT), 0, 0 }, - { "glGetProgramBinary", "GL_ARB_get_program_binary\0", offsetof(struct opengl_funcs, p_glGetProgramBinary), 4, 1 }, - { "glGetProgramEnvParameterIivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIivNV), 0, 0 }, - { "glGetProgramEnvParameterIuivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIuivNV), 0, 0 }, - { "glGetProgramEnvParameterdvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterdvARB), 0, 0 }, - { "glGetProgramEnvParameterfvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterfvARB), 0, 0 }, - { "glGetProgramInfoLog", "\0", offsetof(struct opengl_funcs, p_glGetProgramInfoLog), 2, 0 }, - { "glGetProgramInterfaceiv", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramInterfaceiv), 4, 3 }, - { "glGetProgramLocalParameterIivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIivNV), 0, 0 }, - { "glGetProgramLocalParameterIuivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIuivNV), 0, 0 }, - { "glGetProgramLocalParameterdvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterdvARB), 0, 0 }, - { "glGetProgramLocalParameterfvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterfvARB), 0, 0 }, - { "glGetProgramNamedParameterdvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterdvNV), 0, 0 }, - { "glGetProgramNamedParameterfvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterfvNV), 0, 0 }, - { "glGetProgramParameterdvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramParameterdvNV), 0, 0 }, - { "glGetProgramParameterfvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramParameterfvNV), 0, 0 }, - { "glGetProgramPipelineInfoLog", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glGetProgramPipelineInfoLog), 4, 1 }, - { "glGetProgramPipelineiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glGetProgramPipelineiv), 4, 1 }, - { "glGetProgramResourceIndex", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceIndex), 4, 3 }, - { "glGetProgramResourceLocation", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceLocation), 4, 3 }, - { "glGetProgramResourceLocationIndex", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceLocationIndex), 4, 3 }, - { "glGetProgramResourceName", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceName), 4, 3 }, - { "glGetProgramResourcefvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glGetProgramResourcefvNV), 0, 0 }, - { "glGetProgramResourceiv", "GL_ARB_program_interface_query\0", offsetof(struct opengl_funcs, p_glGetProgramResourceiv), 4, 3 }, - { "glGetProgramStageiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetProgramStageiv), 4, 0 }, - { "glGetProgramStringARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramStringARB), 0, 0 }, - { "glGetProgramStringNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramStringNV), 0, 0 }, - { "glGetProgramSubroutineParameteruivNV", "GL_NV_gpu_program5\0GL_NV_gpu_program_fp64\0", offsetof(struct opengl_funcs, p_glGetProgramSubroutineParameteruivNV), 0, 0 }, - { "glGetProgramiv", "\0", offsetof(struct opengl_funcs, p_glGetProgramiv), 2, 0 }, - { "glGetProgramivARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramivARB), 0, 0 }, - { "glGetProgramivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetProgramivNV), 0, 0 }, - { "glGetQueryBufferObjecti64v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjecti64v), 4, 5 }, - { "glGetQueryBufferObjectiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectiv), 4, 5 }, - { "glGetQueryBufferObjectui64v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectui64v), 4, 5 }, - { "glGetQueryBufferObjectuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectuiv), 4, 5 }, - { "glGetQueryIndexediv", "GL_ARB_transform_feedback3\0", offsetof(struct opengl_funcs, p_glGetQueryIndexediv), 4, 0 }, - { "glGetQueryObjecti64v", "GL_ARB_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64v), 3, 3 }, - { "glGetQueryObjecti64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjecti64vEXT), 0, 0 }, - { "glGetQueryObjectiv", "\0", offsetof(struct opengl_funcs, p_glGetQueryObjectiv), 1, 5 }, - { "glGetQueryObjectivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectivARB), 0, 0 }, - { "glGetQueryObjectui64v", "GL_ARB_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64v), 3, 3 }, - { "glGetQueryObjectui64vEXT", "GL_EXT_timer_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectui64vEXT), 0, 0 }, - { "glGetQueryObjectuiv", "\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuiv), 1, 5 }, - { "glGetQueryObjectuivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryObjectuivARB), 0, 0 }, - { "glGetQueryiv", "\0", offsetof(struct opengl_funcs, p_glGetQueryiv), 1, 5 }, - { "glGetQueryivARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glGetQueryivARB), 0, 0 }, - { "glGetRenderbufferParameteriv", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetRenderbufferParameteriv), 3, 0 }, - { "glGetRenderbufferParameterivEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glGetRenderbufferParameterivEXT), 0, 0 }, - { "glGetSamplerParameterIiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIiv), 3, 3 }, - { "glGetSamplerParameterIuiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterIuiv), 3, 3 }, - { "glGetSamplerParameterfv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameterfv), 3, 3 }, - { "glGetSamplerParameteriv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glGetSamplerParameteriv), 3, 3 }, - { "glGetSemaphoreParameterivNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterivNV), 0, 0 }, - { "glGetSemaphoreParameterui64vEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterui64vEXT), 0, 0 }, - { "glGetSeparableFilter", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glGetSeparableFilter), 0, 0 }, - { "glGetSeparableFilterEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glGetSeparableFilterEXT), 0, 0 }, - { "glGetShaderInfoLog", "\0", offsetof(struct opengl_funcs, p_glGetShaderInfoLog), 2, 0 }, - { "glGetShaderPrecisionFormat", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glGetShaderPrecisionFormat), 4, 1 }, - { "glGetShaderSource", "\0", offsetof(struct opengl_funcs, p_glGetShaderSource), 2, 0 }, - { "glGetShaderSourceARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetShaderSourceARB), 0, 0 }, - { "glGetShaderiv", "\0", offsetof(struct opengl_funcs, p_glGetShaderiv), 2, 0 }, - { "glGetShadingRateImagePaletteNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glGetShadingRateImagePaletteNV), 0, 0 }, - { "glGetShadingRateSampleLocationivNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glGetShadingRateSampleLocationivNV), 0, 0 }, - { "glGetSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture\0", offsetof(struct opengl_funcs, p_glGetSharpenTexFuncSGIS), 0, 0 }, - { "glGetStageIndexNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glGetStageIndexNV), 0, 0 }, - { "glGetStringi", "\0", offsetof(struct opengl_funcs, p_glGetStringi), 3, 0 }, - { "glGetSubroutineIndex", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetSubroutineIndex), 4, 0 }, - { "glGetSubroutineUniformLocation", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetSubroutineUniformLocation), 4, 0 }, - { "glGetSynciv", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glGetSynciv), 3, 2 }, - { "glGetTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glGetTexBumpParameterfvATI), 0, 0 }, - { "glGetTexBumpParameterivATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glGetTexBumpParameterivATI), 0, 0 }, - { "glGetTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexEnvxv), 0, 0 }, - { "glGetTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexEnvxvOES), 0, 0 }, - { "glGetTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glGetTexFilterFuncSGIS), 0, 0 }, - { "glGetTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexGenxvOES), 0, 0 }, - { "glGetTexLevelParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexLevelParameterxvOES), 0, 0 }, - { "glGetTexParameterIiv", "\0", offsetof(struct opengl_funcs, p_glGetTexParameterIiv), 3, 0 }, - { "glGetTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIivEXT), 0, 0 }, - { "glGetTexParameterIuiv", "\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuiv), 3, 0 }, - { "glGetTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glGetTexParameterIuivEXT), 0, 0 }, - { "glGetTexParameterPointervAPPLE", "GL_APPLE_texture_range\0", offsetof(struct opengl_funcs, p_glGetTexParameterPointervAPPLE), 0, 0 }, - { "glGetTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glGetTexParameterxv), 0, 0 }, - { "glGetTexParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glGetTexParameterxvOES), 0, 0 }, - { "glGetTextureHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureHandleARB), 0, 0 }, - { "glGetTextureHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureHandleNV), 0, 0 }, - { "glGetTextureImage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureImage), 4, 5 }, - { "glGetTextureImageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureImageEXT), 0, 0 }, - { "glGetTextureLevelParameterfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfv), 4, 5 }, - { "glGetTextureLevelParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfvEXT), 0, 0 }, - { "glGetTextureLevelParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameteriv), 4, 5 }, - { "glGetTextureLevelParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterivEXT), 0, 0 }, - { "glGetTextureParameterIiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIiv), 4, 5 }, - { "glGetTextureParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIivEXT), 0, 0 }, - { "glGetTextureParameterIuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIuiv), 4, 5 }, - { "glGetTextureParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterIuivEXT), 0, 0 }, - { "glGetTextureParameterfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterfv), 4, 5 }, - { "glGetTextureParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterfvEXT), 0, 0 }, - { "glGetTextureParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameteriv), 4, 5 }, - { "glGetTextureParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTextureParameterivEXT), 0, 0 }, - { "glGetTextureSamplerHandleARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleARB), 0, 0 }, - { "glGetTextureSamplerHandleNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleNV), 0, 0 }, - { "glGetTextureSubImage", "GL_ARB_get_texture_sub_image\0", offsetof(struct opengl_funcs, p_glGetTextureSubImage), 4, 5 }, - { "glGetTrackMatrixivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetTrackMatrixivNV), 0, 0 }, - { "glGetTransformFeedbackVarying", "\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVarying), 3, 0 }, - { "glGetTransformFeedbackVaryingEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingEXT), 0, 0 }, - { "glGetTransformFeedbackVaryingNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingNV), 0, 0 }, - { "glGetTransformFeedbacki64_v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki64_v), 4, 5 }, - { "glGetTransformFeedbacki_v", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki_v), 4, 5 }, - { "glGetTransformFeedbackiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetTransformFeedbackiv), 4, 5 }, - { "glGetUniformBlockIndex", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetUniformBlockIndex), 3, 1 }, - { "glGetUniformBufferSizeEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glGetUniformBufferSizeEXT), 0, 0 }, - { "glGetUniformIndices", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glGetUniformIndices), 3, 1 }, - { "glGetUniformLocation", "\0", offsetof(struct opengl_funcs, p_glGetUniformLocation), 2, 0 }, - { "glGetUniformLocationARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformLocationARB), 0, 0 }, - { "glGetUniformOffsetEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glGetUniformOffsetEXT), 0, 0 }, - { "glGetUniformSubroutineuiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glGetUniformSubroutineuiv), 4, 0 }, - { "glGetUniformdv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glGetUniformdv), 4, 0 }, - { "glGetUniformfv", "\0", offsetof(struct opengl_funcs, p_glGetUniformfv), 2, 0 }, - { "glGetUniformfvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformfvARB), 0, 0 }, - { "glGetUniformi64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetUniformi64vARB), 0, 0 }, - { "glGetUniformi64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glGetUniformi64vNV), 0, 0 }, - { "glGetUniformiv", "\0", offsetof(struct opengl_funcs, p_glGetUniformiv), 2, 0 }, - { "glGetUniformivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glGetUniformivARB), 0, 0 }, - { "glGetUniformui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetUniformui64vARB), 0, 0 }, - { "glGetUniformui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glGetUniformui64vNV), 0, 0 }, - { "glGetUniformuiv", "\0", offsetof(struct opengl_funcs, p_glGetUniformuiv), 3, 0 }, - { "glGetUniformuivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glGetUniformuivEXT), 0, 0 }, - { "glGetUnsignedBytei_vEXT", "GL_EXT_memory_object\0GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetUnsignedBytei_vEXT), 0, 0 }, - { "glGetUnsignedBytevEXT", "GL_EXT_memory_object\0GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glGetUnsignedBytevEXT), 0, 0 }, - { "glGetVariantArrayObjectfvATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectfvATI), 0, 0 }, - { "glGetVariantArrayObjectivATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectivATI), 0, 0 }, - { "glGetVariantBooleanvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantBooleanvEXT), 0, 0 }, - { "glGetVariantFloatvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantFloatvEXT), 0, 0 }, - { "glGetVariantIntegervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantIntegervEXT), 0, 0 }, - { "glGetVariantPointervEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVariantPointervEXT), 0, 0 }, - { "glGetVaryingLocationNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glGetVaryingLocationNV), 0, 0 }, - { "glGetVertexArrayIndexed64iv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexed64iv), 4, 5 }, - { "glGetVertexArrayIndexediv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexediv), 4, 5 }, - { "glGetVertexArrayIntegeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegeri_vEXT), 0, 0 }, - { "glGetVertexArrayIntegervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegervEXT), 0, 0 }, - { "glGetVertexArrayPointeri_vEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayPointeri_vEXT), 0, 0 }, - { "glGetVertexArrayPointervEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayPointervEXT), 0, 0 }, - { "glGetVertexArrayiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glGetVertexArrayiv), 4, 5 }, - { "glGetVertexAttribArrayObjectfvATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectfvATI), 0, 0 }, - { "glGetVertexAttribArrayObjectivATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectivATI), 0, 0 }, - { "glGetVertexAttribIiv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIiv), 3, 0 }, - { "glGetVertexAttribIivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIivEXT), 0, 0 }, - { "glGetVertexAttribIuiv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIuiv), 3, 0 }, - { "glGetVertexAttribIuivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glGetVertexAttribIuivEXT), 0, 0 }, - { "glGetVertexAttribLdv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLdv), 4, 1 }, - { "glGetVertexAttribLdvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLdvEXT), 0, 0 }, - { "glGetVertexAttribLi64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLi64vNV), 0, 0 }, - { "glGetVertexAttribLui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vARB), 0, 0 }, - { "glGetVertexAttribLui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vNV), 0, 0 }, - { "glGetVertexAttribPointerv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointerv), 2, 0 }, - { "glGetVertexAttribPointervARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervARB), 0, 0 }, - { "glGetVertexAttribPointervNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervNV), 0, 0 }, - { "glGetVertexAttribdv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdv), 2, 0 }, - { "glGetVertexAttribdvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdvARB), 0, 0 }, - { "glGetVertexAttribdvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribdvNV), 0, 0 }, - { "glGetVertexAttribfv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfv), 2, 0 }, - { "glGetVertexAttribfvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfvARB), 0, 0 }, - { "glGetVertexAttribfvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribfvNV), 0, 0 }, - { "glGetVertexAttribiv", "\0", offsetof(struct opengl_funcs, p_glGetVertexAttribiv), 2, 0 }, - { "glGetVertexAttribivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glGetVertexAttribivARB), 0, 0 }, - { "glGetVertexAttribivNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glGetVertexAttribivNV), 0, 0 }, - { "glGetVideoCaptureStreamdvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamdvNV), 0, 0 }, - { "glGetVideoCaptureStreamfvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamfvNV), 0, 0 }, - { "glGetVideoCaptureStreamivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamivNV), 0, 0 }, - { "glGetVideoCaptureivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glGetVideoCaptureivNV), 0, 0 }, - { "glGetVideoi64vNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoi64vNV), 0, 0 }, - { "glGetVideoivNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoivNV), 0, 0 }, - { "glGetVideoui64vNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideoui64vNV), 0, 0 }, - { "glGetVideouivNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glGetVideouivNV), 0, 0 }, - { "glGetVkProcAddrNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glGetVkProcAddrNV), 0, 0 }, - { "glGetnColorTable", "\0", offsetof(struct opengl_funcs, p_glGetnColorTable), 4, 5 }, - { "glGetnColorTableARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnColorTableARB), 0, 0 }, - { "glGetnCompressedTexImage", "\0", offsetof(struct opengl_funcs, p_glGetnCompressedTexImage), 4, 5 }, - { "glGetnCompressedTexImageARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnCompressedTexImageARB), 0, 0 }, - { "glGetnConvolutionFilter", "\0", offsetof(struct opengl_funcs, p_glGetnConvolutionFilter), 4, 5 }, - { "glGetnConvolutionFilterARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnConvolutionFilterARB), 0, 0 }, - { "glGetnHistogram", "\0", offsetof(struct opengl_funcs, p_glGetnHistogram), 4, 5 }, - { "glGetnHistogramARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnHistogramARB), 0, 0 }, - { "glGetnMapdv", "\0", offsetof(struct opengl_funcs, p_glGetnMapdv), 4, 5 }, - { "glGetnMapdvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapdvARB), 0, 0 }, - { "glGetnMapfv", "\0", offsetof(struct opengl_funcs, p_glGetnMapfv), 4, 5 }, - { "glGetnMapfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapfvARB), 0, 0 }, - { "glGetnMapiv", "\0", offsetof(struct opengl_funcs, p_glGetnMapiv), 4, 5 }, - { "glGetnMapivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMapivARB), 0, 0 }, - { "glGetnMinmax", "\0", offsetof(struct opengl_funcs, p_glGetnMinmax), 4, 5 }, - { "glGetnMinmaxARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnMinmaxARB), 0, 0 }, - { "glGetnPixelMapfv", "\0", offsetof(struct opengl_funcs, p_glGetnPixelMapfv), 4, 5 }, - { "glGetnPixelMapfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapfvARB), 0, 0 }, - { "glGetnPixelMapuiv", "\0", offsetof(struct opengl_funcs, p_glGetnPixelMapuiv), 4, 5 }, - { "glGetnPixelMapuivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapuivARB), 0, 0 }, - { "glGetnPixelMapusv", "\0", offsetof(struct opengl_funcs, p_glGetnPixelMapusv), 4, 5 }, - { "glGetnPixelMapusvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPixelMapusvARB), 0, 0 }, - { "glGetnPolygonStipple", "\0", offsetof(struct opengl_funcs, p_glGetnPolygonStipple), 4, 5 }, - { "glGetnPolygonStippleARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnPolygonStippleARB), 0, 0 }, - { "glGetnSeparableFilter", "\0", offsetof(struct opengl_funcs, p_glGetnSeparableFilter), 4, 5 }, - { "glGetnSeparableFilterARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnSeparableFilterARB), 0, 0 }, - { "glGetnTexImage", "\0", offsetof(struct opengl_funcs, p_glGetnTexImage), 4, 5 }, - { "glGetnTexImageARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnTexImageARB), 0, 0 }, - { "glGetnUniformdv", "\0", offsetof(struct opengl_funcs, p_glGetnUniformdv), 4, 5 }, - { "glGetnUniformdvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformdvARB), 0, 0 }, - { "glGetnUniformfv", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformfv), 4, 5 }, - { "glGetnUniformfvARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformfvARB), 0, 0 }, - { "glGetnUniformi64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetnUniformi64vARB), 0, 0 }, - { "glGetnUniformiv", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformiv), 4, 5 }, - { "glGetnUniformivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformivARB), 0, 0 }, - { "glGetnUniformui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glGetnUniformui64vARB), 0, 0 }, - { "glGetnUniformuiv", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformuiv), 4, 5 }, - { "glGetnUniformuivARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glGetnUniformuivARB), 0, 0 }, - { "glGlobalAlphaFactorbSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorbSUN), 0, 0 }, - { "glGlobalAlphaFactordSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactordSUN), 0, 0 }, - { "glGlobalAlphaFactorfSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorfSUN), 0, 0 }, - { "glGlobalAlphaFactoriSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoriSUN), 0, 0 }, - { "glGlobalAlphaFactorsSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorsSUN), 0, 0 }, - { "glGlobalAlphaFactorubSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorubSUN), 0, 0 }, - { "glGlobalAlphaFactoruiSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoruiSUN), 0, 0 }, - { "glGlobalAlphaFactorusSUN", "GL_SUN_global_alpha\0", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorusSUN), 0, 0 }, - { "glHintPGI", "GL_PGI_misc_hints\0", offsetof(struct opengl_funcs, p_glHintPGI), 0, 0 }, - { "glHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glHistogram), 0, 0 }, - { "glHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glHistogramEXT), 0, 0 }, - { "glIglooInterfaceSGIX", "GL_SGIX_igloo_interface\0", offsetof(struct opengl_funcs, p_glIglooInterfaceSGIX), 0, 0 }, - { "glImageTransformParameterfHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterfHP), 0, 0 }, - { "glImageTransformParameterfvHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterfvHP), 0, 0 }, - { "glImageTransformParameteriHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameteriHP), 0, 0 }, - { "glImageTransformParameterivHP", "GL_HP_image_transform\0", offsetof(struct opengl_funcs, p_glImageTransformParameterivHP), 0, 0 }, - { "glImportMemoryWin32HandleEXT", "GL_EXT_memory_object_win32\0", offsetof(struct opengl_funcs, p_glImportMemoryWin32HandleEXT), 0, 0 }, - { "glImportMemoryWin32NameEXT", "GL_EXT_memory_object_win32\0", offsetof(struct opengl_funcs, p_glImportMemoryWin32NameEXT), 0, 0 }, - { "glImportSemaphoreWin32HandleEXT", "GL_EXT_semaphore_win32\0", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32HandleEXT), 0, 0 }, - { "glImportSemaphoreWin32NameEXT", "GL_EXT_semaphore_win32\0", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32NameEXT), 0, 0 }, - { "glImportSyncEXT", "GL_EXT_x11_sync_object\0", offsetof(struct opengl_funcs, p_glImportSyncEXT), 0, 0 }, - { "glIndexFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glIndexFormatNV), 0, 0 }, - { "glIndexFuncEXT", "GL_EXT_index_func\0", offsetof(struct opengl_funcs, p_glIndexFuncEXT), 0, 0 }, - { "glIndexMaterialEXT", "GL_EXT_index_material\0", offsetof(struct opengl_funcs, p_glIndexMaterialEXT), 0, 0 }, - { "glIndexPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glIndexPointerEXT), 0, 0 }, - { "glIndexPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glIndexPointerListIBM), 0, 0 }, - { "glIndexxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glIndexxOES), 0, 0 }, - { "glIndexxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glIndexxvOES), 0, 0 }, - { "glInsertComponentEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glInsertComponentEXT), 0, 0 }, - { "glInsertEventMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glInsertEventMarkerEXT), 0, 0 }, - { "glInstrumentsBufferSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glInstrumentsBufferSGIX), 0, 0 }, - { "glInterpolatePathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glInterpolatePathsNV), 0, 0 }, - { "glInvalidateBufferData", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateBufferData), 4, 3 }, - { "glInvalidateBufferSubData", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateBufferSubData), 4, 3 }, - { "glInvalidateFramebuffer", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateFramebuffer), 4, 3 }, - { "glInvalidateNamedFramebufferData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferData), 4, 5 }, - { "glInvalidateNamedFramebufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferSubData), 4, 5 }, - { "glInvalidateSubFramebuffer", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateSubFramebuffer), 4, 3 }, - { "glInvalidateTexImage", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateTexImage), 4, 3 }, - { "glInvalidateTexSubImage", "GL_ARB_invalidate_subdata\0", offsetof(struct opengl_funcs, p_glInvalidateTexSubImage), 4, 3 }, - { "glIsAsyncMarkerSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glIsAsyncMarkerSGIX), 0, 0 }, - { "glIsBuffer", "\0", offsetof(struct opengl_funcs, p_glIsBuffer), 1, 5 }, - { "glIsBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glIsBufferARB), 0, 0 }, - { "glIsBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glIsBufferResidentNV), 0, 0 }, - { "glIsCommandListNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glIsCommandListNV), 0, 0 }, - { "glIsEnabledIndexedEXT", "GL_EXT_direct_state_access\0GL_EXT_draw_buffers2\0", offsetof(struct opengl_funcs, p_glIsEnabledIndexedEXT), 0, 0 }, - { "glIsEnabledi", "\0", offsetof(struct opengl_funcs, p_glIsEnabledi), 3, 0 }, - { "glIsFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glIsFenceAPPLE), 0, 0 }, - { "glIsFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glIsFenceNV), 0, 0 }, - { "glIsFramebuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsFramebuffer), 3, 0 }, - { "glIsFramebufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsFramebufferEXT), 0, 0 }, - { "glIsImageHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsImageHandleResidentARB), 0, 0 }, - { "glIsImageHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsImageHandleResidentNV), 0, 0 }, - { "glIsMemoryObjectEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glIsMemoryObjectEXT), 0, 0 }, - { "glIsNameAMD", "GL_AMD_name_gen_delete\0", offsetof(struct opengl_funcs, p_glIsNameAMD), 0, 0 }, - { "glIsNamedBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glIsNamedBufferResidentNV), 0, 0 }, - { "glIsNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glIsNamedStringARB), 0, 0 }, - { "glIsObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsObjectBufferATI), 0, 0 }, - { "glIsOcclusionQueryNV", "GL_NV_occlusion_query\0", offsetof(struct opengl_funcs, p_glIsOcclusionQueryNV), 0, 0 }, - { "glIsPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPathNV), 0, 0 }, - { "glIsPointInFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPointInFillPathNV), 0, 0 }, - { "glIsPointInStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glIsPointInStrokePathNV), 0, 0 }, - { "glIsProgram", "\0", offsetof(struct opengl_funcs, p_glIsProgram), 2, 0 }, - { "glIsProgramARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glIsProgramARB), 0, 0 }, - { "glIsProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glIsProgramNV), 0, 0 }, - { "glIsProgramPipeline", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glIsProgramPipeline), 4, 1 }, - { "glIsQuery", "\0", offsetof(struct opengl_funcs, p_glIsQuery), 1, 5 }, - { "glIsQueryARB", "GL_ARB_occlusion_query\0", offsetof(struct opengl_funcs, p_glIsQueryARB), 0, 0 }, - { "glIsRenderbuffer", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsRenderbuffer), 3, 0 }, - { "glIsRenderbufferEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glIsRenderbufferEXT), 0, 0 }, - { "glIsSampler", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glIsSampler), 3, 3 }, - { "glIsSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glIsSemaphoreEXT), 0, 0 }, - { "glIsShader", "\0", offsetof(struct opengl_funcs, p_glIsShader), 2, 0 }, - { "glIsStateNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glIsStateNV), 0, 0 }, - { "glIsSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glIsSync), 3, 2 }, - { "glIsTextureEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glIsTextureEXT), 0, 0 }, - { "glIsTextureHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentARB), 0, 0 }, - { "glIsTextureHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentNV), 0, 0 }, - { "glIsTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glIsTransformFeedback), 4, 0 }, - { "glIsTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glIsTransformFeedbackNV), 0, 0 }, - { "glIsVariantEnabledEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glIsVariantEnabledEXT), 0, 0 }, - { "glIsVertexArray", "GL_ARB_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsVertexArray), 3, 0 }, - { "glIsVertexArrayAPPLE", "GL_APPLE_vertex_array_object\0", offsetof(struct opengl_funcs, p_glIsVertexArrayAPPLE), 0, 0 }, - { "glIsVertexAttribEnabledAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glIsVertexAttribEnabledAPPLE), 0, 0 }, - { "glLGPUCopyImageSubDataNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUCopyImageSubDataNVX), 0, 0 }, - { "glLGPUInterlockNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUInterlockNVX), 0, 0 }, - { "glLGPUNamedBufferSubDataNVX", "GL_NVX_linked_gpu_multicast\0", offsetof(struct opengl_funcs, p_glLGPUNamedBufferSubDataNVX), 0, 0 }, - { "glLabelObjectEXT", "GL_EXT_debug_label\0", offsetof(struct opengl_funcs, p_glLabelObjectEXT), 0, 0 }, - { "glLightEnviSGIX", "GL_SGIX_fragment_lighting\0", offsetof(struct opengl_funcs, p_glLightEnviSGIX), 0, 0 }, - { "glLightModelx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightModelx), 0, 0 }, - { "glLightModelxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightModelxOES), 0, 0 }, - { "glLightModelxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightModelxv), 0, 0 }, - { "glLightModelxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightModelxvOES), 0, 0 }, - { "glLightx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightx), 0, 0 }, - { "glLightxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightxOES), 0, 0 }, - { "glLightxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLightxv), 0, 0 }, - { "glLightxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLightxvOES), 0, 0 }, - { "glLineWidthx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLineWidthx), 0, 0 }, - { "glLineWidthxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLineWidthxOES), 0, 0 }, - { "glLinkProgram", "\0", offsetof(struct opengl_funcs, p_glLinkProgram), 2, 0 }, - { "glLinkProgramARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glLinkProgramARB), 0, 0 }, - { "glListDrawCommandsStatesClientNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glListDrawCommandsStatesClientNV), 0, 0 }, - { "glListParameterfSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterfSGIX), 0, 0 }, - { "glListParameterfvSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterfvSGIX), 0, 0 }, - { "glListParameteriSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameteriSGIX), 0, 0 }, - { "glListParameterivSGIX", "GL_SGIX_list_priority\0", offsetof(struct opengl_funcs, p_glListParameterivSGIX), 0, 0 }, - { "glLoadIdentityDeformationMapSGIX", "GL_SGIX_polynomial_ffd\0", offsetof(struct opengl_funcs, p_glLoadIdentityDeformationMapSGIX), 0, 0 }, - { "glLoadMatrixx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glLoadMatrixx), 0, 0 }, - { "glLoadMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLoadMatrixxOES), 0, 0 }, - { "glLoadProgramNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glLoadProgramNV), 0, 0 }, - { "glLoadTransposeMatrixd", "\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixd), 1, 3 }, - { "glLoadTransposeMatrixdARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixdARB), 0, 0 }, - { "glLoadTransposeMatrixf", "\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixf), 1, 3 }, - { "glLoadTransposeMatrixfARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixfARB), 0, 0 }, - { "glLoadTransposeMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixxOES), 0, 0 }, - { "glLockArraysEXT", "GL_EXT_compiled_vertex_array\0", offsetof(struct opengl_funcs, p_glLockArraysEXT), 0, 0 }, - { "glMTexCoord2fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMTexCoord2fSGIS), 0, 0 }, - { "glMTexCoord2fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMTexCoord2fvSGIS), 0, 0 }, - { "glMakeBufferNonResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeBufferNonResidentNV), 0, 0 }, - { "glMakeBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeBufferResidentNV), 0, 0 }, - { "glMakeImageHandleNonResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentARB), 0, 0 }, - { "glMakeImageHandleNonResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentNV), 0, 0 }, - { "glMakeImageHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentARB), 0, 0 }, - { "glMakeImageHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentNV), 0, 0 }, - { "glMakeNamedBufferNonResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeNamedBufferNonResidentNV), 0, 0 }, - { "glMakeNamedBufferResidentNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glMakeNamedBufferResidentNV), 0, 0 }, - { "glMakeTextureHandleNonResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentARB), 0, 0 }, - { "glMakeTextureHandleNonResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentNV), 0, 0 }, - { "glMakeTextureHandleResidentARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentARB), 0, 0 }, - { "glMakeTextureHandleResidentNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentNV), 0, 0 }, - { "glMap1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMap1xOES), 0, 0 }, - { "glMap2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMap2xOES), 0, 0 }, - { "glMapBuffer", "\0", offsetof(struct opengl_funcs, p_glMapBuffer), 1, 5 }, - { "glMapBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glMapBufferARB), 0, 0 }, - { "glMapBufferRange", "GL_ARB_map_buffer_range\0", offsetof(struct opengl_funcs, p_glMapBufferRange), 3, 0 }, - { "glMapControlPointsNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapControlPointsNV), 0, 0 }, - { "glMapGrid1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMapGrid1xOES), 0, 0 }, - { "glMapGrid2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMapGrid2xOES), 0, 0 }, - { "glMapNamedBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBuffer), 4, 5 }, - { "glMapNamedBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferEXT), 0, 0 }, - { "glMapNamedBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferRange), 4, 5 }, - { "glMapNamedBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMapNamedBufferRangeEXT), 0, 0 }, - { "glMapObjectBufferATI", "GL_ATI_map_object_buffer\0", offsetof(struct opengl_funcs, p_glMapObjectBufferATI), 0, 0 }, - { "glMapParameterfvNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapParameterfvNV), 0, 0 }, - { "glMapParameterivNV", "GL_NV_evaluators\0", offsetof(struct opengl_funcs, p_glMapParameterivNV), 0, 0 }, - { "glMapTexture2DINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glMapTexture2DINTEL), 0, 0 }, - { "glMapVertexAttrib1dAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib1dAPPLE), 0, 0 }, - { "glMapVertexAttrib1fAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib1fAPPLE), 0, 0 }, - { "glMapVertexAttrib2dAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib2dAPPLE), 0, 0 }, - { "glMapVertexAttrib2fAPPLE", "GL_APPLE_vertex_program_evaluators\0", offsetof(struct opengl_funcs, p_glMapVertexAttrib2fAPPLE), 0, 0 }, - { "glMaterialx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMaterialx), 0, 0 }, - { "glMaterialxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMaterialxOES), 0, 0 }, - { "glMaterialxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMaterialxv), 0, 0 }, - { "glMaterialxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMaterialxvOES), 0, 0 }, - { "glMatrixFrustumEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixFrustumEXT), 0, 0 }, - { "glMatrixIndexPointerARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexPointerARB), 0, 0 }, - { "glMatrixIndexubvARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexubvARB), 0, 0 }, - { "glMatrixIndexuivARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexuivARB), 0, 0 }, - { "glMatrixIndexusvARB", "GL_ARB_matrix_palette\0", offsetof(struct opengl_funcs, p_glMatrixIndexusvARB), 0, 0 }, - { "glMatrixLoad3x2fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoad3x2fNV), 0, 0 }, - { "glMatrixLoad3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoad3x3fNV), 0, 0 }, - { "glMatrixLoadIdentityEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadIdentityEXT), 0, 0 }, - { "glMatrixLoadTranspose3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTranspose3x3fNV), 0, 0 }, - { "glMatrixLoadTransposedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTransposedEXT), 0, 0 }, - { "glMatrixLoadTransposefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadTransposefEXT), 0, 0 }, - { "glMatrixLoaddEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoaddEXT), 0, 0 }, - { "glMatrixLoadfEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixLoadfEXT), 0, 0 }, - { "glMatrixMult3x2fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMult3x2fNV), 0, 0 }, - { "glMatrixMult3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMult3x3fNV), 0, 0 }, - { "glMatrixMultTranspose3x3fNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTranspose3x3fNV), 0, 0 }, - { "glMatrixMultTransposedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTransposedEXT), 0, 0 }, - { "glMatrixMultTransposefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultTransposefEXT), 0, 0 }, - { "glMatrixMultdEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultdEXT), 0, 0 }, - { "glMatrixMultfEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixMultfEXT), 0, 0 }, - { "glMatrixOrthoEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixOrthoEXT), 0, 0 }, - { "glMatrixPopEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixPopEXT), 0, 0 }, - { "glMatrixPushEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixPushEXT), 0, 0 }, - { "glMatrixRotatedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixRotatedEXT), 0, 0 }, - { "glMatrixRotatefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixRotatefEXT), 0, 0 }, - { "glMatrixScaledEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixScaledEXT), 0, 0 }, - { "glMatrixScalefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixScalefEXT), 0, 0 }, - { "glMatrixTranslatedEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixTranslatedEXT), 0, 0 }, - { "glMatrixTranslatefEXT", "GL_EXT_direct_state_access\0GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glMatrixTranslatefEXT), 0, 0 }, - { "glMaxShaderCompilerThreadsARB", "GL_ARB_parallel_shader_compile\0", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsARB), 0, 0 }, - { "glMaxShaderCompilerThreadsKHR", "GL_KHR_parallel_shader_compile\0", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsKHR), 0, 0 }, - { "glMemoryBarrier", "GL_ARB_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glMemoryBarrier), 4, 2 }, - { "glMemoryBarrierByRegion", "GL_ARB_ES3_1_compatibility\0GL_NV_ES3_1_compatibility\0", offsetof(struct opengl_funcs, p_glMemoryBarrierByRegion), 4, 5 }, - { "glMemoryBarrierEXT", "GL_EXT_shader_image_load_store\0", offsetof(struct opengl_funcs, p_glMemoryBarrierEXT), 0, 0 }, - { "glMemoryObjectParameterivEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glMemoryObjectParameterivEXT), 0, 0 }, - { "glMinSampleShading", "\0", offsetof(struct opengl_funcs, p_glMinSampleShading), 4, 0 }, - { "glMinSampleShadingARB", "GL_ARB_sample_shading\0", offsetof(struct opengl_funcs, p_glMinSampleShadingARB), 0, 0 }, - { "glMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glMinmax), 0, 0 }, - { "glMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glMinmaxEXT), 0, 0 }, - { "glMultMatrixx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMultMatrixx), 0, 0 }, - { "glMultMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultMatrixxOES), 0, 0 }, - { "glMultTransposeMatrixd", "\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixd), 1, 3 }, - { "glMultTransposeMatrixdARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixdARB), 0, 0 }, - { "glMultTransposeMatrixf", "\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixf), 1, 3 }, - { "glMultTransposeMatrixfARB", "GL_ARB_transpose_matrix\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixfARB), 0, 0 }, - { "glMultTransposeMatrixxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultTransposeMatrixxOES), 0, 0 }, - { "glMultiDrawArrays", "\0", offsetof(struct opengl_funcs, p_glMultiDrawArrays), 1, 4 }, - { "glMultiDrawArraysEXT", "GL_EXT_multi_draw_arrays\0GL_SUN_multi_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysEXT), 0, 0 }, - { "glMultiDrawArraysIndirect", "GL_ARB_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirect), 4, 3 }, - { "glMultiDrawArraysIndirectAMD", "GL_AMD_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectAMD), 0, 0 }, - { "glMultiDrawArraysIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessCountNV), 0, 0 }, - { "glMultiDrawArraysIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessNV), 0, 0 }, - { "glMultiDrawArraysIndirectCount", "\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCount), 4, 6 }, - { "glMultiDrawArraysIndirectCountARB", "GL_ARB_indirect_parameters\0", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCountARB), 0, 0 }, - { "glMultiDrawElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glMultiDrawElementArrayAPPLE), 0, 0 }, - { "glMultiDrawElements", "\0", offsetof(struct opengl_funcs, p_glMultiDrawElements), 1, 4 }, - { "glMultiDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsBaseVertex), 3, 2 }, - { "glMultiDrawElementsEXT", "GL_EXT_multi_draw_arrays\0GL_SUN_multi_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsEXT), 0, 0 }, - { "glMultiDrawElementsIndirect", "GL_ARB_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirect), 4, 3 }, - { "glMultiDrawElementsIndirectAMD", "GL_AMD_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectAMD), 0, 0 }, - { "glMultiDrawElementsIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessCountNV), 0, 0 }, - { "glMultiDrawElementsIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessNV), 0, 0 }, - { "glMultiDrawElementsIndirectCount", "\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCount), 4, 6 }, - { "glMultiDrawElementsIndirectCountARB", "GL_ARB_indirect_parameters\0", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCountARB), 0, 0 }, - { "glMultiDrawMeshTasksIndirectCountEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountEXT), 0, 0 }, - { "glMultiDrawMeshTasksIndirectCountNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountNV), 0, 0 }, - { "glMultiDrawMeshTasksIndirectEXT", "GL_EXT_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectEXT), 0, 0 }, - { "glMultiDrawMeshTasksIndirectNV", "GL_NV_mesh_shader\0", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectNV), 0, 0 }, - { "glMultiDrawRangeElementArrayAPPLE", "GL_APPLE_element_array\0", offsetof(struct opengl_funcs, p_glMultiDrawRangeElementArrayAPPLE), 0, 0 }, - { "glMultiModeDrawArraysIBM", "GL_IBM_multimode_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiModeDrawArraysIBM), 0, 0 }, - { "glMultiModeDrawElementsIBM", "GL_IBM_multimode_draw_arrays\0", offsetof(struct opengl_funcs, p_glMultiModeDrawElementsIBM), 0, 0 }, - { "glMultiTexBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexBufferEXT), 0, 0 }, - { "glMultiTexCoord1bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1bOES), 0, 0 }, - { "glMultiTexCoord1bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1bvOES), 0, 0 }, - { "glMultiTexCoord1d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1d), 1, 3 }, - { "glMultiTexCoord1dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dARB), 0, 0 }, - { "glMultiTexCoord1dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dSGIS), 0, 0 }, - { "glMultiTexCoord1dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dv), 1, 3 }, - { "glMultiTexCoord1dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvARB), 0, 0 }, - { "glMultiTexCoord1dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvSGIS), 0, 0 }, - { "glMultiTexCoord1f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1f), 1, 3 }, - { "glMultiTexCoord1fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fARB), 0, 0 }, - { "glMultiTexCoord1fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fSGIS), 0, 0 }, - { "glMultiTexCoord1fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fv), 1, 3 }, - { "glMultiTexCoord1fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvARB), 0, 0 }, - { "glMultiTexCoord1fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvSGIS), 0, 0 }, - { "glMultiTexCoord1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1hNV), 0, 0 }, - { "glMultiTexCoord1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1hvNV), 0, 0 }, - { "glMultiTexCoord1i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1i), 1, 3 }, - { "glMultiTexCoord1iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iARB), 0, 0 }, - { "glMultiTexCoord1iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iSGIS), 0, 0 }, - { "glMultiTexCoord1iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1iv), 1, 3 }, - { "glMultiTexCoord1ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivARB), 0, 0 }, - { "glMultiTexCoord1ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivSGIS), 0, 0 }, - { "glMultiTexCoord1s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1s), 1, 3 }, - { "glMultiTexCoord1sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sARB), 0, 0 }, - { "glMultiTexCoord1sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sSGIS), 0, 0 }, - { "glMultiTexCoord1sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1sv), 1, 3 }, - { "glMultiTexCoord1svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1svARB), 0, 0 }, - { "glMultiTexCoord1svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1svSGIS), 0, 0 }, - { "glMultiTexCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1xOES), 0, 0 }, - { "glMultiTexCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord1xvOES), 0, 0 }, - { "glMultiTexCoord2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2bOES), 0, 0 }, - { "glMultiTexCoord2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2bvOES), 0, 0 }, - { "glMultiTexCoord2d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2d), 1, 3 }, - { "glMultiTexCoord2dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dARB), 0, 0 }, - { "glMultiTexCoord2dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dSGIS), 0, 0 }, - { "glMultiTexCoord2dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dv), 1, 3 }, - { "glMultiTexCoord2dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvARB), 0, 0 }, - { "glMultiTexCoord2dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvSGIS), 0, 0 }, - { "glMultiTexCoord2f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2f), 1, 3 }, - { "glMultiTexCoord2fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fARB), 0, 0 }, - { "glMultiTexCoord2fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fSGIS), 0, 0 }, - { "glMultiTexCoord2fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fv), 1, 3 }, - { "glMultiTexCoord2fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvARB), 0, 0 }, - { "glMultiTexCoord2fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvSGIS), 0, 0 }, - { "glMultiTexCoord2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2hNV), 0, 0 }, - { "glMultiTexCoord2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2hvNV), 0, 0 }, - { "glMultiTexCoord2i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2i), 1, 3 }, - { "glMultiTexCoord2iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iARB), 0, 0 }, - { "glMultiTexCoord2iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iSGIS), 0, 0 }, - { "glMultiTexCoord2iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2iv), 1, 3 }, - { "glMultiTexCoord2ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivARB), 0, 0 }, - { "glMultiTexCoord2ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivSGIS), 0, 0 }, - { "glMultiTexCoord2s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2s), 1, 3 }, - { "glMultiTexCoord2sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sARB), 0, 0 }, - { "glMultiTexCoord2sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sSGIS), 0, 0 }, - { "glMultiTexCoord2sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2sv), 1, 3 }, - { "glMultiTexCoord2svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2svARB), 0, 0 }, - { "glMultiTexCoord2svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2svSGIS), 0, 0 }, - { "glMultiTexCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2xOES), 0, 0 }, - { "glMultiTexCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord2xvOES), 0, 0 }, - { "glMultiTexCoord3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3bOES), 0, 0 }, - { "glMultiTexCoord3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3bvOES), 0, 0 }, - { "glMultiTexCoord3d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3d), 1, 3 }, - { "glMultiTexCoord3dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dARB), 0, 0 }, - { "glMultiTexCoord3dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dSGIS), 0, 0 }, - { "glMultiTexCoord3dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dv), 1, 3 }, - { "glMultiTexCoord3dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvARB), 0, 0 }, - { "glMultiTexCoord3dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvSGIS), 0, 0 }, - { "glMultiTexCoord3f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3f), 1, 3 }, - { "glMultiTexCoord3fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fARB), 0, 0 }, - { "glMultiTexCoord3fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fSGIS), 0, 0 }, - { "glMultiTexCoord3fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fv), 1, 3 }, - { "glMultiTexCoord3fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvARB), 0, 0 }, - { "glMultiTexCoord3fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvSGIS), 0, 0 }, - { "glMultiTexCoord3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3hNV), 0, 0 }, - { "glMultiTexCoord3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3hvNV), 0, 0 }, - { "glMultiTexCoord3i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3i), 1, 3 }, - { "glMultiTexCoord3iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iARB), 0, 0 }, - { "glMultiTexCoord3iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iSGIS), 0, 0 }, - { "glMultiTexCoord3iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3iv), 1, 3 }, - { "glMultiTexCoord3ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivARB), 0, 0 }, - { "glMultiTexCoord3ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivSGIS), 0, 0 }, - { "glMultiTexCoord3s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3s), 1, 3 }, - { "glMultiTexCoord3sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sARB), 0, 0 }, - { "glMultiTexCoord3sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sSGIS), 0, 0 }, - { "glMultiTexCoord3sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3sv), 1, 3 }, - { "glMultiTexCoord3svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3svARB), 0, 0 }, - { "glMultiTexCoord3svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3svSGIS), 0, 0 }, - { "glMultiTexCoord3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3xOES), 0, 0 }, - { "glMultiTexCoord3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord3xvOES), 0, 0 }, - { "glMultiTexCoord4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4bOES), 0, 0 }, - { "glMultiTexCoord4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4bvOES), 0, 0 }, - { "glMultiTexCoord4d", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4d), 1, 3 }, - { "glMultiTexCoord4dARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dARB), 0, 0 }, - { "glMultiTexCoord4dSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dSGIS), 0, 0 }, - { "glMultiTexCoord4dv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dv), 1, 3 }, - { "glMultiTexCoord4dvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvARB), 0, 0 }, - { "glMultiTexCoord4dvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvSGIS), 0, 0 }, - { "glMultiTexCoord4f", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4f), 1, 3 }, - { "glMultiTexCoord4fARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fARB), 0, 0 }, - { "glMultiTexCoord4fSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fSGIS), 0, 0 }, - { "glMultiTexCoord4fv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fv), 1, 3 }, - { "glMultiTexCoord4fvARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvARB), 0, 0 }, - { "glMultiTexCoord4fvSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvSGIS), 0, 0 }, - { "glMultiTexCoord4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4hNV), 0, 0 }, - { "glMultiTexCoord4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4hvNV), 0, 0 }, - { "glMultiTexCoord4i", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4i), 1, 3 }, - { "glMultiTexCoord4iARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iARB), 0, 0 }, - { "glMultiTexCoord4iSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iSGIS), 0, 0 }, - { "glMultiTexCoord4iv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4iv), 1, 3 }, - { "glMultiTexCoord4ivARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivARB), 0, 0 }, - { "glMultiTexCoord4ivSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivSGIS), 0, 0 }, - { "glMultiTexCoord4s", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4s), 1, 3 }, - { "glMultiTexCoord4sARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sARB), 0, 0 }, - { "glMultiTexCoord4sSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sSGIS), 0, 0 }, - { "glMultiTexCoord4sv", "\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4sv), 1, 3 }, - { "glMultiTexCoord4svARB", "GL_ARB_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4svARB), 0, 0 }, - { "glMultiTexCoord4svSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4svSGIS), 0, 0 }, - { "glMultiTexCoord4x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4x), 0, 0 }, - { "glMultiTexCoord4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4xOES), 0, 0 }, - { "glMultiTexCoord4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glMultiTexCoord4xvOES), 0, 0 }, - { "glMultiTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP1ui), 3, 3 }, - { "glMultiTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP1uiv), 3, 3 }, - { "glMultiTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP2ui), 3, 3 }, - { "glMultiTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP2uiv), 3, 3 }, - { "glMultiTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP3ui), 3, 3 }, - { "glMultiTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP3uiv), 3, 3 }, - { "glMultiTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP4ui), 3, 3 }, - { "glMultiTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glMultiTexCoordP4uiv), 3, 3 }, - { "glMultiTexCoordPointerEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerEXT), 0, 0 }, - { "glMultiTexCoordPointerSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerSGIS), 0, 0 }, - { "glMultiTexEnvfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvfEXT), 0, 0 }, - { "glMultiTexEnvfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvfvEXT), 0, 0 }, - { "glMultiTexEnviEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnviEXT), 0, 0 }, - { "glMultiTexEnvivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexEnvivEXT), 0, 0 }, - { "glMultiTexGendEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGendEXT), 0, 0 }, - { "glMultiTexGendvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGendvEXT), 0, 0 }, - { "glMultiTexGenfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenfEXT), 0, 0 }, - { "glMultiTexGenfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenfvEXT), 0, 0 }, - { "glMultiTexGeniEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGeniEXT), 0, 0 }, - { "glMultiTexGenivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexGenivEXT), 0, 0 }, - { "glMultiTexImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage1DEXT), 0, 0 }, - { "glMultiTexImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage2DEXT), 0, 0 }, - { "glMultiTexImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexImage3DEXT), 0, 0 }, - { "glMultiTexParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterIivEXT), 0, 0 }, - { "glMultiTexParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterIuivEXT), 0, 0 }, - { "glMultiTexParameterfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterfEXT), 0, 0 }, - { "glMultiTexParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterfvEXT), 0, 0 }, - { "glMultiTexParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameteriEXT), 0, 0 }, - { "glMultiTexParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexParameterivEXT), 0, 0 }, - { "glMultiTexRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexRenderbufferEXT), 0, 0 }, - { "glMultiTexSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage1DEXT), 0, 0 }, - { "glMultiTexSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage2DEXT), 0, 0 }, - { "glMultiTexSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glMultiTexSubImage3DEXT), 0, 0 }, - { "glMulticastBarrierNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBarrierNV), 0, 0 }, - { "glMulticastBlitFramebufferNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBlitFramebufferNV), 0, 0 }, - { "glMulticastBufferSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastBufferSubDataNV), 0, 0 }, - { "glMulticastCopyBufferSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastCopyBufferSubDataNV), 0, 0 }, - { "glMulticastCopyImageSubDataNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastCopyImageSubDataNV), 0, 0 }, - { "glMulticastFramebufferSampleLocationsfvNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastFramebufferSampleLocationsfvNV), 0, 0 }, - { "glMulticastGetQueryObjecti64vNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjecti64vNV), 0, 0 }, - { "glMulticastGetQueryObjectivNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectivNV), 0, 0 }, - { "glMulticastGetQueryObjectui64vNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectui64vNV), 0, 0 }, - { "glMulticastGetQueryObjectuivNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectuivNV), 0, 0 }, - { "glMulticastScissorArrayvNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastScissorArrayvNVX), 0, 0 }, - { "glMulticastViewportArrayvNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastViewportArrayvNVX), 0, 0 }, - { "glMulticastViewportPositionWScaleNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glMulticastViewportPositionWScaleNVX), 0, 0 }, - { "glMulticastWaitSyncNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glMulticastWaitSyncNV), 0, 0 }, - { "glNamedBufferAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glNamedBufferAttachMemoryNV), 0, 0 }, - { "glNamedBufferData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferData), 4, 5 }, - { "glNamedBufferDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferDataEXT), 0, 0 }, - { "glNamedBufferPageCommitmentARB", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentARB), 0, 0 }, - { "glNamedBufferPageCommitmentEXT", "GL_ARB_sparse_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentEXT), 0, 0 }, - { "glNamedBufferPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentMemNV), 0, 0 }, - { "glNamedBufferStorage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferStorage), 4, 5 }, - { "glNamedBufferStorageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageEXT), 0, 0 }, - { "glNamedBufferStorageExternalEXT", "GL_EXT_external_buffer\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageExternalEXT), 0, 0 }, - { "glNamedBufferStorageMemEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glNamedBufferStorageMemEXT), 0, 0 }, - { "glNamedBufferSubData", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferSubData), 4, 5 }, - { "glNamedBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedBufferSubDataEXT), 0, 0 }, - { "glNamedCopyBufferSubDataEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedCopyBufferSubDataEXT), 0, 0 }, - { "glNamedFramebufferDrawBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffer), 4, 5 }, - { "glNamedFramebufferDrawBuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffers), 4, 5 }, - { "glNamedFramebufferParameteri", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteri), 4, 5 }, - { "glNamedFramebufferParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteriEXT), 0, 0 }, - { "glNamedFramebufferReadBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferReadBuffer), 4, 5 }, - { "glNamedFramebufferRenderbuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbuffer), 4, 5 }, - { "glNamedFramebufferRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbufferEXT), 0, 0 }, - { "glNamedFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvARB), 0, 0 }, - { "glNamedFramebufferSampleLocationsfvNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvNV), 0, 0 }, - { "glNamedFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions\0", offsetof(struct opengl_funcs, p_glNamedFramebufferSamplePositionsfvAMD), 0, 0 }, - { "glNamedFramebufferTexture", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture), 4, 5 }, - { "glNamedFramebufferTexture1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture1DEXT), 0, 0 }, - { "glNamedFramebufferTexture2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture2DEXT), 0, 0 }, - { "glNamedFramebufferTexture3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture3DEXT), 0, 0 }, - { "glNamedFramebufferTextureEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureEXT), 0, 0 }, - { "glNamedFramebufferTextureFaceEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureFaceEXT), 0, 0 }, - { "glNamedFramebufferTextureLayer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayer), 4, 5 }, - { "glNamedFramebufferTextureLayerEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayerEXT), 0, 0 }, - { "glNamedFramebufferTextureMultiviewOVR", "GL_OVR_multiview\0", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureMultiviewOVR), 0, 0 }, - { "glNamedProgramLocalParameter4dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dEXT), 0, 0 }, - { "glNamedProgramLocalParameter4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dvEXT), 0, 0 }, - { "glNamedProgramLocalParameter4fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fEXT), 0, 0 }, - { "glNamedProgramLocalParameter4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fvEXT), 0, 0 }, - { "glNamedProgramLocalParameterI4iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4iEXT), 0, 0 }, - { "glNamedProgramLocalParameterI4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4ivEXT), 0, 0 }, - { "glNamedProgramLocalParameterI4uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uiEXT), 0, 0 }, - { "glNamedProgramLocalParameterI4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uivEXT), 0, 0 }, - { "glNamedProgramLocalParameters4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameters4fvEXT), 0, 0 }, - { "glNamedProgramLocalParametersI4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4ivEXT), 0, 0 }, - { "glNamedProgramLocalParametersI4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4uivEXT), 0, 0 }, - { "glNamedProgramStringEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedProgramStringEXT), 0, 0 }, - { "glNamedRenderbufferStorage", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorage), 4, 5 }, - { "glNamedRenderbufferStorageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageEXT), 0, 0 }, - { "glNamedRenderbufferStorageMultisample", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisample), 4, 5 }, - { "glNamedRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleAdvancedAMD), 0, 0 }, - { "glNamedRenderbufferStorageMultisampleCoverageEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleCoverageEXT), 0, 0 }, - { "glNamedRenderbufferStorageMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleEXT), 0, 0 }, - { "glNamedStringARB", "GL_ARB_shading_language_include\0", offsetof(struct opengl_funcs, p_glNamedStringARB), 0, 0 }, - { "glNewBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glNewBufferRegion), 0, 0 }, - { "glNewObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glNewObjectBufferATI), 0, 0 }, - { "glNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glNormal3fVertex3fSUN), 0, 0 }, - { "glNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glNormal3fVertex3fvSUN), 0, 0 }, - { "glNormal3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glNormal3hNV), 0, 0 }, - { "glNormal3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glNormal3hvNV), 0, 0 }, - { "glNormal3x", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glNormal3x), 0, 0 }, - { "glNormal3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glNormal3xOES), 0, 0 }, - { "glNormal3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glNormal3xvOES), 0, 0 }, - { "glNormalFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glNormalFormatNV), 0, 0 }, - { "glNormalP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glNormalP3ui), 3, 3 }, - { "glNormalP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glNormalP3uiv), 3, 3 }, - { "glNormalPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glNormalPointerEXT), 0, 0 }, - { "glNormalPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glNormalPointerListIBM), 0, 0 }, - { "glNormalPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glNormalPointervINTEL), 0, 0 }, - { "glNormalStream3bATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3bATI), 0, 0 }, - { "glNormalStream3bvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3bvATI), 0, 0 }, - { "glNormalStream3dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3dATI), 0, 0 }, - { "glNormalStream3dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3dvATI), 0, 0 }, - { "glNormalStream3fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3fATI), 0, 0 }, - { "glNormalStream3fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3fvATI), 0, 0 }, - { "glNormalStream3iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3iATI), 0, 0 }, - { "glNormalStream3ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3ivATI), 0, 0 }, - { "glNormalStream3sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3sATI), 0, 0 }, - { "glNormalStream3svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glNormalStream3svATI), 0, 0 }, - { "glObjectLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glObjectLabel), 4, 3 }, - { "glObjectPtrLabel", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glObjectPtrLabel), 4, 3 }, - { "glObjectPurgeableAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glObjectPurgeableAPPLE), 0, 0 }, - { "glObjectUnpurgeableAPPLE", "GL_APPLE_object_purgeable\0", offsetof(struct opengl_funcs, p_glObjectUnpurgeableAPPLE), 0, 0 }, - { "glOrthof", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glOrthof), 0, 0 }, - { "glOrthofOES", "GL_OES_single_precision\0", offsetof(struct opengl_funcs, p_glOrthofOES), 0, 0 }, - { "glOrthox", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glOrthox), 0, 0 }, - { "glOrthoxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glOrthoxOES), 0, 0 }, - { "glPNTrianglesfATI", "GL_ATI_pn_triangles\0", offsetof(struct opengl_funcs, p_glPNTrianglesfATI), 0, 0 }, - { "glPNTrianglesiATI", "GL_ATI_pn_triangles\0", offsetof(struct opengl_funcs, p_glPNTrianglesiATI), 0, 0 }, - { "glPassTexCoordATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glPassTexCoordATI), 0, 0 }, - { "glPassThroughxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPassThroughxOES), 0, 0 }, - { "glPatchParameterfv", "GL_ARB_tessellation_shader\0", offsetof(struct opengl_funcs, p_glPatchParameterfv), 4, 0 }, - { "glPatchParameteri", "GL_ARB_tessellation_shader\0", offsetof(struct opengl_funcs, p_glPatchParameteri), 4, 0 }, - { "glPathColorGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathColorGenNV), 0, 0 }, - { "glPathCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCommandsNV), 0, 0 }, - { "glPathCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCoordsNV), 0, 0 }, - { "glPathCoverDepthFuncNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathCoverDepthFuncNV), 0, 0 }, - { "glPathDashArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathDashArrayNV), 0, 0 }, - { "glPathFogGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathFogGenNV), 0, 0 }, - { "glPathGlyphIndexArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphIndexArrayNV), 0, 0 }, - { "glPathGlyphIndexRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphIndexRangeNV), 0, 0 }, - { "glPathGlyphRangeNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphRangeNV), 0, 0 }, - { "glPathGlyphsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathGlyphsNV), 0, 0 }, - { "glPathMemoryGlyphIndexArrayNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathMemoryGlyphIndexArrayNV), 0, 0 }, - { "glPathParameterfNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterfNV), 0, 0 }, - { "glPathParameterfvNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterfvNV), 0, 0 }, - { "glPathParameteriNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameteriNV), 0, 0 }, - { "glPathParameterivNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathParameterivNV), 0, 0 }, - { "glPathStencilDepthOffsetNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStencilDepthOffsetNV), 0, 0 }, - { "glPathStencilFuncNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStencilFuncNV), 0, 0 }, - { "glPathStringNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathStringNV), 0, 0 }, - { "glPathSubCommandsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathSubCommandsNV), 0, 0 }, - { "glPathSubCoordsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathSubCoordsNV), 0, 0 }, - { "glPathTexGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPathTexGenNV), 0, 0 }, - { "glPauseTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glPauseTransformFeedback), 4, 0 }, - { "glPauseTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glPauseTransformFeedbackNV), 0, 0 }, - { "glPixelDataRangeNV", "GL_NV_pixel_data_range\0", offsetof(struct opengl_funcs, p_glPixelDataRangeNV), 0, 0 }, - { "glPixelMapx", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelMapx), 0, 0 }, - { "glPixelStorex", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelStorex), 0, 0 }, - { "glPixelTexGenParameterfSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfSGIS), 0, 0 }, - { "glPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfvSGIS), 0, 0 }, - { "glPixelTexGenParameteriSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameteriSGIS), 0, 0 }, - { "glPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenParameterivSGIS), 0, 0 }, - { "glPixelTexGenSGIX", "GL_SGIX_pixel_texture\0", offsetof(struct opengl_funcs, p_glPixelTexGenSGIX), 0, 0 }, - { "glPixelTransferxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelTransferxOES), 0, 0 }, - { "glPixelTransformParameterfEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterfEXT), 0, 0 }, - { "glPixelTransformParameterfvEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterfvEXT), 0, 0 }, - { "glPixelTransformParameteriEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameteriEXT), 0, 0 }, - { "glPixelTransformParameterivEXT", "GL_EXT_pixel_transform\0", offsetof(struct opengl_funcs, p_glPixelTransformParameterivEXT), 0, 0 }, - { "glPixelZoomxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPixelZoomxOES), 0, 0 }, - { "glPointAlongPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glPointAlongPathNV), 0, 0 }, - { "glPointParameterf", "\0", offsetof(struct opengl_funcs, p_glPointParameterf), 1, 4 }, - { "glPointParameterfARB", "GL_ARB_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfARB), 0, 0 }, - { "glPointParameterfEXT", "GL_EXT_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfEXT), 0, 0 }, - { "glPointParameterfSGIS", "GL_SGIS_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfSGIS), 0, 0 }, - { "glPointParameterfv", "\0", offsetof(struct opengl_funcs, p_glPointParameterfv), 1, 4 }, - { "glPointParameterfvARB", "GL_ARB_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvARB), 0, 0 }, - { "glPointParameterfvEXT", "GL_EXT_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvEXT), 0, 0 }, - { "glPointParameterfvSGIS", "GL_SGIS_point_parameters\0", offsetof(struct opengl_funcs, p_glPointParameterfvSGIS), 0, 0 }, - { "glPointParameteri", "\0", offsetof(struct opengl_funcs, p_glPointParameteri), 1, 4 }, - { "glPointParameteriNV", "GL_NV_point_sprite\0", offsetof(struct opengl_funcs, p_glPointParameteriNV), 0, 0 }, - { "glPointParameteriv", "\0", offsetof(struct opengl_funcs, p_glPointParameteriv), 1, 4 }, - { "glPointParameterivNV", "GL_NV_point_sprite\0", offsetof(struct opengl_funcs, p_glPointParameterivNV), 0, 0 }, - { "glPointParameterx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointParameterx), 0, 0 }, - { "glPointParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointParameterxv), 0, 0 }, - { "glPointParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPointParameterxvOES), 0, 0 }, - { "glPointSizex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPointSizex), 0, 0 }, - { "glPointSizexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPointSizexOES), 0, 0 }, - { "glPollAsyncSGIX", "GL_SGIX_async\0", offsetof(struct opengl_funcs, p_glPollAsyncSGIX), 0, 0 }, - { "glPollInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glPollInstrumentsSGIX), 0, 0 }, - { "glPolygonOffsetClamp", "GL_ARB_polygon_offset_clamp\0", offsetof(struct opengl_funcs, p_glPolygonOffsetClamp), 4, 6 }, - { "glPolygonOffsetClampEXT", "GL_EXT_polygon_offset_clamp\0", offsetof(struct opengl_funcs, p_glPolygonOffsetClampEXT), 0, 0 }, - { "glPolygonOffsetEXT", "GL_EXT_polygon_offset\0", offsetof(struct opengl_funcs, p_glPolygonOffsetEXT), 0, 0 }, - { "glPolygonOffsetx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glPolygonOffsetx), 0, 0 }, - { "glPolygonOffsetxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPolygonOffsetxOES), 0, 0 }, - { "glPopDebugGroup", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glPopDebugGroup), 4, 3 }, - { "glPopGroupMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glPopGroupMarkerEXT), 0, 0 }, - { "glPresentFrameDualFillNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glPresentFrameDualFillNV), 0, 0 }, - { "glPresentFrameKeyedNV", "GL_NV_present_video\0", offsetof(struct opengl_funcs, p_glPresentFrameKeyedNV), 0, 0 }, - { "glPrimitiveBoundingBox", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBox), 0, 0 }, - { "glPrimitiveBoundingBoxARB", "GL_ARB_ES3_2_compatibility\0", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBoxARB), 0, 0 }, - { "glPrimitiveRestartIndex", "\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndex), 3, 1 }, - { "glPrimitiveRestartIndexNV", "GL_NV_primitive_restart\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndexNV), 0, 0 }, - { "glPrimitiveRestartNV", "GL_NV_primitive_restart\0", offsetof(struct opengl_funcs, p_glPrimitiveRestartNV), 0, 0 }, - { "glPrioritizeTexturesEXT", "GL_EXT_texture_object\0", offsetof(struct opengl_funcs, p_glPrioritizeTexturesEXT), 0, 0 }, - { "glPrioritizeTexturesxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glPrioritizeTexturesxOES), 0, 0 }, - { "glProgramBinary", "GL_ARB_get_program_binary\0", offsetof(struct opengl_funcs, p_glProgramBinary), 4, 1 }, - { "glProgramBufferParametersIivNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersIivNV), 0, 0 }, - { "glProgramBufferParametersIuivNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersIuivNV), 0, 0 }, - { "glProgramBufferParametersfvNV", "GL_NV_parameter_buffer_object\0", offsetof(struct opengl_funcs, p_glProgramBufferParametersfvNV), 0, 0 }, - { "glProgramEnvParameter4dARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dARB), 0, 0 }, - { "glProgramEnvParameter4dvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dvARB), 0, 0 }, - { "glProgramEnvParameter4fARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fARB), 0, 0 }, - { "glProgramEnvParameter4fvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fvARB), 0, 0 }, - { "glProgramEnvParameterI4iNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4iNV), 0, 0 }, - { "glProgramEnvParameterI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4ivNV), 0, 0 }, - { "glProgramEnvParameterI4uiNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uiNV), 0, 0 }, - { "glProgramEnvParameterI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uivNV), 0, 0 }, - { "glProgramEnvParameters4fvEXT", "GL_EXT_gpu_program_parameters\0", offsetof(struct opengl_funcs, p_glProgramEnvParameters4fvEXT), 0, 0 }, - { "glProgramEnvParametersI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4ivNV), 0, 0 }, - { "glProgramEnvParametersI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4uivNV), 0, 0 }, - { "glProgramLocalParameter4dARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dARB), 0, 0 }, - { "glProgramLocalParameter4dvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dvARB), 0, 0 }, - { "glProgramLocalParameter4fARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fARB), 0, 0 }, - { "glProgramLocalParameter4fvARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fvARB), 0, 0 }, - { "glProgramLocalParameterI4iNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4iNV), 0, 0 }, - { "glProgramLocalParameterI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4ivNV), 0, 0 }, - { "glProgramLocalParameterI4uiNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uiNV), 0, 0 }, - { "glProgramLocalParameterI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uivNV), 0, 0 }, - { "glProgramLocalParameters4fvEXT", "GL_EXT_gpu_program_parameters\0", offsetof(struct opengl_funcs, p_glProgramLocalParameters4fvEXT), 0, 0 }, - { "glProgramLocalParametersI4ivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4ivNV), 0, 0 }, - { "glProgramLocalParametersI4uivNV", "GL_NV_gpu_program4\0", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4uivNV), 0, 0 }, - { "glProgramNamedParameter4dNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dNV), 0, 0 }, - { "glProgramNamedParameter4dvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dvNV), 0, 0 }, - { "glProgramNamedParameter4fNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fNV), 0, 0 }, - { "glProgramNamedParameter4fvNV", "GL_NV_fragment_program\0", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fvNV), 0, 0 }, - { "glProgramParameter4dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4dNV), 0, 0 }, - { "glProgramParameter4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4dvNV), 0, 0 }, - { "glProgramParameter4fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4fNV), 0, 0 }, - { "glProgramParameter4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameter4fvNV), 0, 0 }, - { "glProgramParameteri", "GL_ARB_get_program_binary\0GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramParameteri), 4, 1 }, - { "glProgramParameteriARB", "GL_ARB_geometry_shader4\0", offsetof(struct opengl_funcs, p_glProgramParameteriARB), 0, 0 }, - { "glProgramParameteriEXT", "GL_EXT_geometry_shader4\0", offsetof(struct opengl_funcs, p_glProgramParameteriEXT), 0, 0 }, - { "glProgramParameters4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameters4dvNV), 0, 0 }, - { "glProgramParameters4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramParameters4fvNV), 0, 0 }, - { "glProgramPathFragmentInputGenNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glProgramPathFragmentInputGenNV), 0, 0 }, - { "glProgramStringARB", "GL_ARB_fragment_program\0GL_ARB_vertex_program\0", offsetof(struct opengl_funcs, p_glProgramStringARB), 0, 0 }, - { "glProgramSubroutineParametersuivNV", "GL_NV_gpu_program5\0GL_NV_gpu_program_fp64\0", offsetof(struct opengl_funcs, p_glProgramSubroutineParametersuivNV), 0, 0 }, - { "glProgramUniform1d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1d), 4, 1 }, - { "glProgramUniform1dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1dEXT), 0, 0 }, - { "glProgramUniform1dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1dv), 4, 1 }, - { "glProgramUniform1dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1dvEXT), 0, 0 }, - { "glProgramUniform1f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1f), 4, 1 }, - { "glProgramUniform1fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1fEXT), 0, 0 }, - { "glProgramUniform1fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1fv), 4, 1 }, - { "glProgramUniform1fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1fvEXT), 0, 0 }, - { "glProgramUniform1i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1i), 4, 1 }, - { "glProgramUniform1i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64ARB), 0, 0 }, - { "glProgramUniform1i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64NV), 0, 0 }, - { "glProgramUniform1i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64vARB), 0, 0 }, - { "glProgramUniform1i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1i64vNV), 0, 0 }, - { "glProgramUniform1iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1iEXT), 0, 0 }, - { "glProgramUniform1iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1iv), 4, 1 }, - { "glProgramUniform1ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1ivEXT), 0, 0 }, - { "glProgramUniform1ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui), 4, 1 }, - { "glProgramUniform1ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64ARB), 0, 0 }, - { "glProgramUniform1ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64NV), 0, 0 }, - { "glProgramUniform1ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vARB), 0, 0 }, - { "glProgramUniform1ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vNV), 0, 0 }, - { "glProgramUniform1uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1uiEXT), 0, 0 }, - { "glProgramUniform1uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform1uiv), 4, 1 }, - { "glProgramUniform1uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform1uivEXT), 0, 0 }, - { "glProgramUniform2d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2d), 4, 1 }, - { "glProgramUniform2dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2dEXT), 0, 0 }, - { "glProgramUniform2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2dv), 4, 1 }, - { "glProgramUniform2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2dvEXT), 0, 0 }, - { "glProgramUniform2f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2f), 4, 1 }, - { "glProgramUniform2fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2fEXT), 0, 0 }, - { "glProgramUniform2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2fv), 4, 1 }, - { "glProgramUniform2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2fvEXT), 0, 0 }, - { "glProgramUniform2i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2i), 4, 1 }, - { "glProgramUniform2i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64ARB), 0, 0 }, - { "glProgramUniform2i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64NV), 0, 0 }, - { "glProgramUniform2i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64vARB), 0, 0 }, - { "glProgramUniform2i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2i64vNV), 0, 0 }, - { "glProgramUniform2iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2iEXT), 0, 0 }, - { "glProgramUniform2iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2iv), 4, 1 }, - { "glProgramUniform2ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2ivEXT), 0, 0 }, - { "glProgramUniform2ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui), 4, 1 }, - { "glProgramUniform2ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64ARB), 0, 0 }, - { "glProgramUniform2ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64NV), 0, 0 }, - { "glProgramUniform2ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vARB), 0, 0 }, - { "glProgramUniform2ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vNV), 0, 0 }, - { "glProgramUniform2uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2uiEXT), 0, 0 }, - { "glProgramUniform2uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform2uiv), 4, 1 }, - { "glProgramUniform2uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform2uivEXT), 0, 0 }, - { "glProgramUniform3d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3d), 4, 1 }, - { "glProgramUniform3dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3dEXT), 0, 0 }, - { "glProgramUniform3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3dv), 4, 1 }, - { "glProgramUniform3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3dvEXT), 0, 0 }, - { "glProgramUniform3f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3f), 4, 1 }, - { "glProgramUniform3fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3fEXT), 0, 0 }, - { "glProgramUniform3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3fv), 4, 1 }, - { "glProgramUniform3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3fvEXT), 0, 0 }, - { "glProgramUniform3i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3i), 4, 1 }, - { "glProgramUniform3i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64ARB), 0, 0 }, - { "glProgramUniform3i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64NV), 0, 0 }, - { "glProgramUniform3i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64vARB), 0, 0 }, - { "glProgramUniform3i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3i64vNV), 0, 0 }, - { "glProgramUniform3iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3iEXT), 0, 0 }, - { "glProgramUniform3iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3iv), 4, 1 }, - { "glProgramUniform3ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3ivEXT), 0, 0 }, - { "glProgramUniform3ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui), 4, 1 }, - { "glProgramUniform3ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64ARB), 0, 0 }, - { "glProgramUniform3ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64NV), 0, 0 }, - { "glProgramUniform3ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vARB), 0, 0 }, - { "glProgramUniform3ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vNV), 0, 0 }, - { "glProgramUniform3uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3uiEXT), 0, 0 }, - { "glProgramUniform3uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform3uiv), 4, 1 }, - { "glProgramUniform3uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform3uivEXT), 0, 0 }, - { "glProgramUniform4d", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4d), 4, 1 }, - { "glProgramUniform4dEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4dEXT), 0, 0 }, - { "glProgramUniform4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4dv), 4, 1 }, - { "glProgramUniform4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4dvEXT), 0, 0 }, - { "glProgramUniform4f", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4f), 4, 1 }, - { "glProgramUniform4fEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4fEXT), 0, 0 }, - { "glProgramUniform4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4fv), 4, 1 }, - { "glProgramUniform4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4fvEXT), 0, 0 }, - { "glProgramUniform4i", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4i), 4, 1 }, - { "glProgramUniform4i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64ARB), 0, 0 }, - { "glProgramUniform4i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64NV), 0, 0 }, - { "glProgramUniform4i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64vARB), 0, 0 }, - { "glProgramUniform4i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4i64vNV), 0, 0 }, - { "glProgramUniform4iEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4iEXT), 0, 0 }, - { "glProgramUniform4iv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4iv), 4, 1 }, - { "glProgramUniform4ivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4ivEXT), 0, 0 }, - { "glProgramUniform4ui", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui), 4, 1 }, - { "glProgramUniform4ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64ARB), 0, 0 }, - { "glProgramUniform4ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64NV), 0, 0 }, - { "glProgramUniform4ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vARB), 0, 0 }, - { "glProgramUniform4ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vNV), 0, 0 }, - { "glProgramUniform4uiEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4uiEXT), 0, 0 }, - { "glProgramUniform4uiv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniform4uiv), 4, 1 }, - { "glProgramUniform4uivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniform4uivEXT), 0, 0 }, - { "glProgramUniformHandleui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64ARB), 0, 0 }, - { "glProgramUniformHandleui64NV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64NV), 0, 0 }, - { "glProgramUniformHandleui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vARB), 0, 0 }, - { "glProgramUniformHandleui64vNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vNV), 0, 0 }, - { "glProgramUniformMatrix2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dv), 4, 1 }, - { "glProgramUniformMatrix2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dvEXT), 0, 0 }, - { "glProgramUniformMatrix2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fv), 4, 1 }, - { "glProgramUniformMatrix2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fvEXT), 0, 0 }, - { "glProgramUniformMatrix2x3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dv), 4, 1 }, - { "glProgramUniformMatrix2x3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dvEXT), 0, 0 }, - { "glProgramUniformMatrix2x3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fv), 4, 1 }, - { "glProgramUniformMatrix2x3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fvEXT), 0, 0 }, - { "glProgramUniformMatrix2x4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dv), 4, 1 }, - { "glProgramUniformMatrix2x4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dvEXT), 0, 0 }, - { "glProgramUniformMatrix2x4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fv), 4, 1 }, - { "glProgramUniformMatrix2x4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fvEXT), 0, 0 }, - { "glProgramUniformMatrix3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dv), 4, 1 }, - { "glProgramUniformMatrix3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dvEXT), 0, 0 }, - { "glProgramUniformMatrix3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fv), 4, 1 }, - { "glProgramUniformMatrix3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fvEXT), 0, 0 }, - { "glProgramUniformMatrix3x2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dv), 4, 1 }, - { "glProgramUniformMatrix3x2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dvEXT), 0, 0 }, - { "glProgramUniformMatrix3x2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fv), 4, 1 }, - { "glProgramUniformMatrix3x2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fvEXT), 0, 0 }, - { "glProgramUniformMatrix3x4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dv), 4, 1 }, - { "glProgramUniformMatrix3x4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dvEXT), 0, 0 }, - { "glProgramUniformMatrix3x4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fv), 4, 1 }, - { "glProgramUniformMatrix3x4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fvEXT), 0, 0 }, - { "glProgramUniformMatrix4dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dv), 4, 1 }, - { "glProgramUniformMatrix4dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dvEXT), 0, 0 }, - { "glProgramUniformMatrix4fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fv), 4, 1 }, - { "glProgramUniformMatrix4fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fvEXT), 0, 0 }, - { "glProgramUniformMatrix4x2dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dv), 4, 1 }, - { "glProgramUniformMatrix4x2dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dvEXT), 0, 0 }, - { "glProgramUniformMatrix4x2fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fv), 4, 1 }, - { "glProgramUniformMatrix4x2fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fvEXT), 0, 0 }, - { "glProgramUniformMatrix4x3dv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dv), 4, 1 }, - { "glProgramUniformMatrix4x3dvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dvEXT), 0, 0 }, - { "glProgramUniformMatrix4x3fv", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fv), 4, 1 }, - { "glProgramUniformMatrix4x3fvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fvEXT), 0, 0 }, - { "glProgramUniformui64NV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glProgramUniformui64NV), 0, 0 }, - { "glProgramUniformui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glProgramUniformui64vNV), 0, 0 }, - { "glProgramVertexLimitNV", "GL_NV_geometry_program4\0", offsetof(struct opengl_funcs, p_glProgramVertexLimitNV), 0, 0 }, - { "glProvokingVertex", "GL_ARB_provoking_vertex\0", offsetof(struct opengl_funcs, p_glProvokingVertex), 3, 2 }, - { "glProvokingVertexEXT", "GL_EXT_provoking_vertex\0", offsetof(struct opengl_funcs, p_glProvokingVertexEXT), 0, 0 }, - { "glPushClientAttribDefaultEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glPushClientAttribDefaultEXT), 0, 0 }, - { "glPushDebugGroup", "GL_KHR_debug\0", offsetof(struct opengl_funcs, p_glPushDebugGroup), 4, 3 }, - { "glPushGroupMarkerEXT", "GL_EXT_debug_marker\0", offsetof(struct opengl_funcs, p_glPushGroupMarkerEXT), 0, 0 }, - { "glQueryCounter", "GL_ARB_timer_query\0", offsetof(struct opengl_funcs, p_glQueryCounter), 3, 3 }, - { "glQueryMatrixxOES", "GL_OES_query_matrix\0", offsetof(struct opengl_funcs, p_glQueryMatrixxOES), 0, 0 }, - { "glQueryObjectParameteruiAMD", "GL_AMD_occlusion_query_event\0", offsetof(struct opengl_funcs, p_glQueryObjectParameteruiAMD), 0, 0 }, - { "glQueryResourceNV", "GL_NV_query_resource\0", offsetof(struct opengl_funcs, p_glQueryResourceNV), 0, 0 }, - { "glQueryResourceTagNV", "GL_NV_query_resource_tag\0", offsetof(struct opengl_funcs, p_glQueryResourceTagNV), 0, 0 }, - { "glRasterPos2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos2xOES), 0, 0 }, - { "glRasterPos2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos2xvOES), 0, 0 }, - { "glRasterPos3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos3xOES), 0, 0 }, - { "glRasterPos3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos3xvOES), 0, 0 }, - { "glRasterPos4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos4xOES), 0, 0 }, - { "glRasterPos4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRasterPos4xvOES), 0, 0 }, - { "glRasterSamplesEXT", "GL_EXT_raster_multisample\0GL_NV_framebuffer_mixed_samples\0", offsetof(struct opengl_funcs, p_glRasterSamplesEXT), 0, 0 }, - { "glReadBufferRegion", "GL_KTX_buffer_region\0", offsetof(struct opengl_funcs, p_glReadBufferRegion), 0, 0 }, - { "glReadInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glReadInstrumentsSGIX), 0, 0 }, - { "glReadnPixels", "GL_KHR_robustness\0", offsetof(struct opengl_funcs, p_glReadnPixels), 4, 5 }, - { "glReadnPixelsARB", "GL_ARB_robustness\0", offsetof(struct opengl_funcs, p_glReadnPixelsARB), 0, 0 }, - { "glRectxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRectxOES), 0, 0 }, - { "glRectxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRectxvOES), 0, 0 }, - { "glReferencePlaneSGIX", "GL_SGIX_reference_plane\0", offsetof(struct opengl_funcs, p_glReferencePlaneSGIX), 0, 0 }, - { "glReleaseKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex\0", offsetof(struct opengl_funcs, p_glReleaseKeyedMutexWin32EXT), 0, 0 }, - { "glReleaseShaderCompiler", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glReleaseShaderCompiler), 4, 1 }, - { "glRenderGpuMaskNV", "GL_NV_gpu_multicast\0", offsetof(struct opengl_funcs, p_glRenderGpuMaskNV), 0, 0 }, - { "glRenderbufferStorage", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glRenderbufferStorage), 3, 0 }, - { "glRenderbufferStorageEXT", "GL_EXT_framebuffer_object\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageEXT), 0, 0 }, - { "glRenderbufferStorageMultisample", "GL_ARB_framebuffer_object\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisample), 3, 0 }, - { "glRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleAdvancedAMD), 0, 0 }, - { "glRenderbufferStorageMultisampleCoverageNV", "GL_NV_framebuffer_multisample_coverage\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleCoverageNV), 0, 0 }, - { "glRenderbufferStorageMultisampleEXT", "GL_EXT_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleEXT), 0, 0 }, - { "glReplacementCodePointerSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodePointerSUN), 0, 0 }, - { "glReplacementCodeubSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubSUN), 0, 0 }, - { "glReplacementCodeubvSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeubvSUN), 0, 0 }, - { "glReplacementCodeuiColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuiColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuiNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuiSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiSUN), 0, 0 }, - { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuiTexCoord2fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiTexCoord2fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuiVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fSUN), 0, 0 }, - { "glReplacementCodeuiVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fvSUN), 0, 0 }, - { "glReplacementCodeuivSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeuivSUN), 0, 0 }, - { "glReplacementCodeusSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeusSUN), 0, 0 }, - { "glReplacementCodeusvSUN", "GL_SUN_triangle_list\0", offsetof(struct opengl_funcs, p_glReplacementCodeusvSUN), 0, 0 }, - { "glRequestResidentProgramsNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glRequestResidentProgramsNV), 0, 0 }, - { "glResetHistogram", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glResetHistogram), 0, 0 }, - { "glResetHistogramEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glResetHistogramEXT), 0, 0 }, - { "glResetMemoryObjectParameterNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glResetMemoryObjectParameterNV), 0, 0 }, - { "glResetMinmax", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glResetMinmax), 0, 0 }, - { "glResetMinmaxEXT", "GL_EXT_histogram\0", offsetof(struct opengl_funcs, p_glResetMinmaxEXT), 0, 0 }, - { "glResizeBuffersMESA", "GL_MESA_resize_buffers\0", offsetof(struct opengl_funcs, p_glResizeBuffersMESA), 0, 0 }, - { "glResolveDepthValuesNV", "GL_NV_sample_locations\0", offsetof(struct opengl_funcs, p_glResolveDepthValuesNV), 0, 0 }, - { "glResumeTransformFeedback", "GL_ARB_transform_feedback2\0", offsetof(struct opengl_funcs, p_glResumeTransformFeedback), 4, 0 }, - { "glResumeTransformFeedbackNV", "GL_NV_transform_feedback2\0", offsetof(struct opengl_funcs, p_glResumeTransformFeedbackNV), 0, 0 }, - { "glRotatex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glRotatex), 0, 0 }, - { "glRotatexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glRotatexOES), 0, 0 }, - { "glSampleCoverage", "\0", offsetof(struct opengl_funcs, p_glSampleCoverage), 1, 3 }, - { "glSampleCoverageARB", "GL_ARB_multisample\0", offsetof(struct opengl_funcs, p_glSampleCoverageARB), 0, 0 }, - { "glSampleCoveragex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glSampleCoveragex), 0, 0 }, - { "glSampleMapATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glSampleMapATI), 0, 0 }, - { "glSampleMaskEXT", "GL_EXT_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskEXT), 0, 0 }, - { "glSampleMaskIndexedNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskIndexedNV), 0, 0 }, - { "glSampleMaskSGIS", "GL_SGIS_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaskSGIS), 0, 0 }, - { "glSampleMaski", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glSampleMaski), 3, 2 }, - { "glSamplePatternEXT", "GL_EXT_multisample\0", offsetof(struct opengl_funcs, p_glSamplePatternEXT), 0, 0 }, - { "glSamplePatternSGIS", "GL_SGIS_multisample\0", offsetof(struct opengl_funcs, p_glSamplePatternSGIS), 0, 0 }, - { "glSamplerParameterIiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterIiv), 3, 3 }, - { "glSamplerParameterIuiv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterIuiv), 3, 3 }, - { "glSamplerParameterf", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterf), 3, 3 }, - { "glSamplerParameterfv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameterfv), 3, 3 }, - { "glSamplerParameteri", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameteri), 3, 3 }, - { "glSamplerParameteriv", "GL_ARB_sampler_objects\0", offsetof(struct opengl_funcs, p_glSamplerParameteriv), 3, 3 }, - { "glScalex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glScalex), 0, 0 }, - { "glScalexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glScalexOES), 0, 0 }, - { "glScissorArrayv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glScissorArrayv), 4, 1 }, - { "glScissorExclusiveArrayvNV", "GL_NV_scissor_exclusive\0", offsetof(struct opengl_funcs, p_glScissorExclusiveArrayvNV), 0, 0 }, - { "glScissorExclusiveNV", "GL_NV_scissor_exclusive\0", offsetof(struct opengl_funcs, p_glScissorExclusiveNV), 0, 0 }, - { "glScissorIndexed", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glScissorIndexed), 4, 1 }, - { "glScissorIndexedv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glScissorIndexedv), 4, 1 }, - { "glSecondaryColor3b", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3b), 1, 4 }, - { "glSecondaryColor3bEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bEXT), 0, 0 }, - { "glSecondaryColor3bv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bv), 1, 4 }, - { "glSecondaryColor3bvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3bvEXT), 0, 0 }, - { "glSecondaryColor3d", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3d), 1, 4 }, - { "glSecondaryColor3dEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dEXT), 0, 0 }, - { "glSecondaryColor3dv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dv), 1, 4 }, - { "glSecondaryColor3dvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3dvEXT), 0, 0 }, - { "glSecondaryColor3f", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3f), 1, 4 }, - { "glSecondaryColor3fEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fEXT), 0, 0 }, - { "glSecondaryColor3fv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fv), 1, 4 }, - { "glSecondaryColor3fvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3fvEXT), 0, 0 }, - { "glSecondaryColor3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glSecondaryColor3hNV), 0, 0 }, - { "glSecondaryColor3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glSecondaryColor3hvNV), 0, 0 }, - { "glSecondaryColor3i", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3i), 1, 4 }, - { "glSecondaryColor3iEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3iEXT), 0, 0 }, - { "glSecondaryColor3iv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3iv), 1, 4 }, - { "glSecondaryColor3ivEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ivEXT), 0, 0 }, - { "glSecondaryColor3s", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3s), 1, 4 }, - { "glSecondaryColor3sEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3sEXT), 0, 0 }, - { "glSecondaryColor3sv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3sv), 1, 4 }, - { "glSecondaryColor3svEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3svEXT), 0, 0 }, - { "glSecondaryColor3ub", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ub), 1, 4 }, - { "glSecondaryColor3ubEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubEXT), 0, 0 }, - { "glSecondaryColor3ubv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubv), 1, 4 }, - { "glSecondaryColor3ubvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ubvEXT), 0, 0 }, - { "glSecondaryColor3ui", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3ui), 1, 4 }, - { "glSecondaryColor3uiEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uiEXT), 0, 0 }, - { "glSecondaryColor3uiv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uiv), 1, 4 }, - { "glSecondaryColor3uivEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3uivEXT), 0, 0 }, - { "glSecondaryColor3us", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3us), 1, 4 }, - { "glSecondaryColor3usEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usEXT), 0, 0 }, - { "glSecondaryColor3usv", "\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usv), 1, 4 }, - { "glSecondaryColor3usvEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColor3usvEXT), 0, 0 }, - { "glSecondaryColorFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glSecondaryColorFormatNV), 0, 0 }, - { "glSecondaryColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glSecondaryColorP3ui), 3, 3 }, - { "glSecondaryColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glSecondaryColorP3uiv), 3, 3 }, - { "glSecondaryColorPointer", "\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointer), 1, 4 }, - { "glSecondaryColorPointerEXT", "GL_EXT_secondary_color\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointerEXT), 0, 0 }, - { "glSecondaryColorPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glSecondaryColorPointerListIBM), 0, 0 }, - { "glSelectPerfMonitorCountersAMD", "GL_AMD_performance_monitor\0", offsetof(struct opengl_funcs, p_glSelectPerfMonitorCountersAMD), 0, 0 }, - { "glSelectTextureCoordSetSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glSelectTextureCoordSetSGIS), 0, 0 }, - { "glSelectTextureSGIS", "GL_SGIS_multitexture\0", offsetof(struct opengl_funcs, p_glSelectTextureSGIS), 0, 0 }, - { "glSemaphoreParameterivNV", "GL_NV_timeline_semaphore\0", offsetof(struct opengl_funcs, p_glSemaphoreParameterivNV), 0, 0 }, - { "glSemaphoreParameterui64vEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glSemaphoreParameterui64vEXT), 0, 0 }, - { "glSeparableFilter2D", "GL_ARB_imaging\0", offsetof(struct opengl_funcs, p_glSeparableFilter2D), 0, 0 }, - { "glSeparableFilter2DEXT", "GL_EXT_convolution\0", offsetof(struct opengl_funcs, p_glSeparableFilter2DEXT), 0, 0 }, - { "glSetFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glSetFenceAPPLE), 0, 0 }, - { "glSetFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glSetFenceNV), 0, 0 }, - { "glSetFragmentShaderConstantATI", "GL_ATI_fragment_shader\0", offsetof(struct opengl_funcs, p_glSetFragmentShaderConstantATI), 0, 0 }, - { "glSetInvariantEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSetInvariantEXT), 0, 0 }, - { "glSetLocalConstantEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSetLocalConstantEXT), 0, 0 }, - { "glSetMultisamplefvAMD", "GL_AMD_sample_positions\0", offsetof(struct opengl_funcs, p_glSetMultisamplefvAMD), 0, 0 }, - { "glShaderBinary", "GL_ARB_ES2_compatibility\0", offsetof(struct opengl_funcs, p_glShaderBinary), 4, 1 }, - { "glShaderOp1EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp1EXT), 0, 0 }, - { "glShaderOp2EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp2EXT), 0, 0 }, - { "glShaderOp3EXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glShaderOp3EXT), 0, 0 }, - { "glShaderSource", "\0", offsetof(struct opengl_funcs, p_glShaderSource), 2, 0 }, - { "glShaderSourceARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glShaderSourceARB), 0, 0 }, - { "glShaderStorageBlockBinding", "GL_ARB_shader_storage_buffer_object\0", offsetof(struct opengl_funcs, p_glShaderStorageBlockBinding), 4, 3 }, - { "glShadingRateCombinerOpsEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glShadingRateCombinerOpsEXT), 0, 0 }, - { "glShadingRateEXT", "GL_EXT_fragment_shading_rate\0GL_EXT_fragment_shading_rate_attachment\0GL_EXT_fragment_shading_rate_primitive\0", offsetof(struct opengl_funcs, p_glShadingRateEXT), 0, 0 }, - { "glShadingRateImageBarrierNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateImageBarrierNV), 0, 0 }, - { "glShadingRateImagePaletteNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateImagePaletteNV), 0, 0 }, - { "glShadingRateSampleOrderCustomNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderCustomNV), 0, 0 }, - { "glShadingRateSampleOrderNV", "GL_NV_shading_rate_image\0", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderNV), 0, 0 }, - { "glSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture\0", offsetof(struct opengl_funcs, p_glSharpenTexFuncSGIS), 0, 0 }, - { "glSignalSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glSignalSemaphoreEXT), 0, 0 }, - { "glSignalSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glSignalSemaphoreui64NVX), 0, 0 }, - { "glSignalVkFenceNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glSignalVkFenceNV), 0, 0 }, - { "glSignalVkSemaphoreNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glSignalVkSemaphoreNV), 0, 0 }, - { "glSpecializeShader", "\0", offsetof(struct opengl_funcs, p_glSpecializeShader), 4, 6 }, - { "glSpecializeShaderARB", "GL_ARB_gl_spirv\0", offsetof(struct opengl_funcs, p_glSpecializeShaderARB), 0, 0 }, - { "glSpriteParameterfSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterfSGIX), 0, 0 }, - { "glSpriteParameterfvSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterfvSGIX), 0, 0 }, - { "glSpriteParameteriSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameteriSGIX), 0, 0 }, - { "glSpriteParameterivSGIX", "GL_SGIX_sprite\0", offsetof(struct opengl_funcs, p_glSpriteParameterivSGIX), 0, 0 }, - { "glStartInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glStartInstrumentsSGIX), 0, 0 }, - { "glStateCaptureNV", "GL_NV_command_list\0", offsetof(struct opengl_funcs, p_glStateCaptureNV), 0, 0 }, - { "glStencilClearTagEXT", "GL_EXT_stencil_clear_tag\0", offsetof(struct opengl_funcs, p_glStencilClearTagEXT), 0, 0 }, - { "glStencilFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilFillPathInstancedNV), 0, 0 }, - { "glStencilFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilFillPathNV), 0, 0 }, - { "glStencilFuncSeparate", "\0", offsetof(struct opengl_funcs, p_glStencilFuncSeparate), 2, 0 }, - { "glStencilFuncSeparateATI", "GL_ATI_separate_stencil\0", offsetof(struct opengl_funcs, p_glStencilFuncSeparateATI), 0, 0 }, - { "glStencilMaskSeparate", "\0", offsetof(struct opengl_funcs, p_glStencilMaskSeparate), 2, 0 }, - { "glStencilOpSeparate", "\0", offsetof(struct opengl_funcs, p_glStencilOpSeparate), 2, 0 }, - { "glStencilOpSeparateATI", "GL_ATI_separate_stencil\0", offsetof(struct opengl_funcs, p_glStencilOpSeparateATI), 0, 0 }, - { "glStencilOpValueAMD", "GL_AMD_stencil_operation_extended\0", offsetof(struct opengl_funcs, p_glStencilOpValueAMD), 0, 0 }, - { "glStencilStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilStrokePathInstancedNV), 0, 0 }, - { "glStencilStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilStrokePathNV), 0, 0 }, - { "glStencilThenCoverFillPathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathInstancedNV), 0, 0 }, - { "glStencilThenCoverFillPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathNV), 0, 0 }, - { "glStencilThenCoverStrokePathInstancedNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathInstancedNV), 0, 0 }, - { "glStencilThenCoverStrokePathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathNV), 0, 0 }, - { "glStopInstrumentsSGIX", "GL_SGIX_instruments\0", offsetof(struct opengl_funcs, p_glStopInstrumentsSGIX), 0, 0 }, - { "glStringMarkerGREMEDY", "GL_GREMEDY_string_marker\0", offsetof(struct opengl_funcs, p_glStringMarkerGREMEDY), 0, 0 }, - { "glSubpixelPrecisionBiasNV", "GL_NV_conservative_raster\0", offsetof(struct opengl_funcs, p_glSubpixelPrecisionBiasNV), 0, 0 }, - { "glSwizzleEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glSwizzleEXT), 0, 0 }, - { "glSyncTextureINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glSyncTextureINTEL), 0, 0 }, - { "glTagSampleBufferSGIX", "GL_SGIX_tag_sample_buffer\0", offsetof(struct opengl_funcs, p_glTagSampleBufferSGIX), 0, 0 }, - { "glTangent3bEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3bEXT), 0, 0 }, - { "glTangent3bvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3bvEXT), 0, 0 }, - { "glTangent3dEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3dEXT), 0, 0 }, - { "glTangent3dvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3dvEXT), 0, 0 }, - { "glTangent3fEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3fEXT), 0, 0 }, - { "glTangent3fvEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3fvEXT), 0, 0 }, - { "glTangent3iEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3iEXT), 0, 0 }, - { "glTangent3ivEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3ivEXT), 0, 0 }, - { "glTangent3sEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3sEXT), 0, 0 }, - { "glTangent3svEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangent3svEXT), 0, 0 }, - { "glTangentPointerEXT", "GL_EXT_coordinate_frame\0", offsetof(struct opengl_funcs, p_glTangentPointerEXT), 0, 0 }, - { "glTbufferMask3DFX", "GL_3DFX_tbuffer\0", offsetof(struct opengl_funcs, p_glTbufferMask3DFX), 0, 0 }, - { "glTessellationFactorAMD", "GL_AMD_vertex_shader_tessellator\0", offsetof(struct opengl_funcs, p_glTessellationFactorAMD), 0, 0 }, - { "glTessellationModeAMD", "GL_AMD_vertex_shader_tessellator\0", offsetof(struct opengl_funcs, p_glTessellationModeAMD), 0, 0 }, - { "glTestFenceAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glTestFenceAPPLE), 0, 0 }, - { "glTestFenceNV", "GL_NV_fence\0", offsetof(struct opengl_funcs, p_glTestFenceNV), 0, 0 }, - { "glTestObjectAPPLE", "GL_APPLE_fence\0", offsetof(struct opengl_funcs, p_glTestObjectAPPLE), 0, 0 }, - { "glTexAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glTexAttachMemoryNV), 0, 0 }, - { "glTexBuffer", "\0", offsetof(struct opengl_funcs, p_glTexBuffer), 3, 1 }, - { "glTexBufferARB", "GL_ARB_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferARB), 0, 0 }, - { "glTexBufferEXT", "GL_EXT_texture_buffer_object\0", offsetof(struct opengl_funcs, p_glTexBufferEXT), 0, 0 }, - { "glTexBufferRange", "GL_ARB_texture_buffer_range\0", offsetof(struct opengl_funcs, p_glTexBufferRange), 4, 3 }, - { "glTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterfvATI), 0, 0 }, - { "glTexBumpParameterivATI", "GL_ATI_envmap_bumpmap\0", offsetof(struct opengl_funcs, p_glTexBumpParameterivATI), 0, 0 }, - { "glTexCoord1bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord1bOES), 0, 0 }, - { "glTexCoord1bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord1bvOES), 0, 0 }, - { "glTexCoord1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord1hNV), 0, 0 }, - { "glTexCoord1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord1hvNV), 0, 0 }, - { "glTexCoord1xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord1xOES), 0, 0 }, - { "glTexCoord1xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord1xvOES), 0, 0 }, - { "glTexCoord2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord2bOES), 0, 0 }, - { "glTexCoord2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord2bvOES), 0, 0 }, - { "glTexCoord2fColor3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fSUN), 0, 0 }, - { "glTexCoord2fColor3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fvSUN), 0, 0 }, - { "glTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0 }, - { "glTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0 }, - { "glTexCoord2fColor4ubVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fSUN), 0, 0 }, - { "glTexCoord2fColor4ubVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fvSUN), 0, 0 }, - { "glTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fSUN), 0, 0 }, - { "glTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fvSUN), 0, 0 }, - { "glTexCoord2fVertex3fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fSUN), 0, 0 }, - { "glTexCoord2fVertex3fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fvSUN), 0, 0 }, - { "glTexCoord2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord2hNV), 0, 0 }, - { "glTexCoord2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord2hvNV), 0, 0 }, - { "glTexCoord2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord2xOES), 0, 0 }, - { "glTexCoord2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord2xvOES), 0, 0 }, - { "glTexCoord3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord3bOES), 0, 0 }, - { "glTexCoord3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord3bvOES), 0, 0 }, - { "glTexCoord3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord3hNV), 0, 0 }, - { "glTexCoord3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord3hvNV), 0, 0 }, - { "glTexCoord3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord3xOES), 0, 0 }, - { "glTexCoord3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord3xvOES), 0, 0 }, - { "glTexCoord4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord4bOES), 0, 0 }, - { "glTexCoord4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glTexCoord4bvOES), 0, 0 }, - { "glTexCoord4fColor4fNormal3fVertex4fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fSUN), 0, 0 }, - { "glTexCoord4fColor4fNormal3fVertex4fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fvSUN), 0, 0 }, - { "glTexCoord4fVertex4fSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fSUN), 0, 0 }, - { "glTexCoord4fVertex4fvSUN", "GL_SUN_vertex\0", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fvSUN), 0, 0 }, - { "glTexCoord4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord4hNV), 0, 0 }, - { "glTexCoord4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glTexCoord4hvNV), 0, 0 }, - { "glTexCoord4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord4xOES), 0, 0 }, - { "glTexCoord4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexCoord4xvOES), 0, 0 }, - { "glTexCoordFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glTexCoordFormatNV), 0, 0 }, - { "glTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP1ui), 3, 3 }, - { "glTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP1uiv), 3, 3 }, - { "glTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP2ui), 3, 3 }, - { "glTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP2uiv), 3, 3 }, - { "glTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP3ui), 3, 3 }, - { "glTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP3uiv), 3, 3 }, - { "glTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP4ui), 3, 3 }, - { "glTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glTexCoordP4uiv), 3, 3 }, - { "glTexCoordPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glTexCoordPointerEXT), 0, 0 }, - { "glTexCoordPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glTexCoordPointerListIBM), 0, 0 }, - { "glTexCoordPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glTexCoordPointervINTEL), 0, 0 }, - { "glTexEnvx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexEnvx), 0, 0 }, - { "glTexEnvxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexEnvxOES), 0, 0 }, - { "glTexEnvxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexEnvxv), 0, 0 }, - { "glTexEnvxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexEnvxvOES), 0, 0 }, - { "glTexFilterFuncSGIS", "GL_SGIS_texture_filter4\0", offsetof(struct opengl_funcs, p_glTexFilterFuncSGIS), 0, 0 }, - { "glTexGenxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxOES), 0, 0 }, - { "glTexGenxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexGenxvOES), 0, 0 }, - { "glTexImage2DMultisample", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisample), 3, 2 }, - { "glTexImage2DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage2DMultisampleCoverageNV), 0, 0 }, - { "glTexImage3D", "\0", offsetof(struct opengl_funcs, p_glTexImage3D), 1, 2 }, - { "glTexImage3DEXT", "GL_EXT_texture3D\0", offsetof(struct opengl_funcs, p_glTexImage3DEXT), 0, 0 }, - { "glTexImage3DMultisample", "GL_ARB_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage3DMultisample), 3, 2 }, - { "glTexImage3DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTexImage3DMultisampleCoverageNV), 0, 0 }, - { "glTexImage4DSGIS", "GL_SGIS_texture4D\0", offsetof(struct opengl_funcs, p_glTexImage4DSGIS), 0, 0 }, - { "glTexPageCommitmentARB", "GL_ARB_sparse_texture\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentARB), 0, 0 }, - { "glTexPageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glTexPageCommitmentMemNV), 0, 0 }, - { "glTexParameterIiv", "\0", offsetof(struct opengl_funcs, p_glTexParameterIiv), 3, 0 }, - { "glTexParameterIivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIivEXT), 0, 0 }, - { "glTexParameterIuiv", "\0", offsetof(struct opengl_funcs, p_glTexParameterIuiv), 3, 0 }, - { "glTexParameterIuivEXT", "GL_EXT_texture_integer\0", offsetof(struct opengl_funcs, p_glTexParameterIuivEXT), 0, 0 }, - { "glTexParameterx", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterx), 0, 0 }, - { "glTexParameterxOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexParameterxOES), 0, 0 }, - { "glTexParameterxv", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTexParameterxv), 0, 0 }, - { "glTexParameterxvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTexParameterxvOES), 0, 0 }, - { "glTexRenderbufferNV", "GL_NV_explicit_multisample\0", offsetof(struct opengl_funcs, p_glTexRenderbufferNV), 0, 0 }, - { "glTexStorage1D", "GL_ARB_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage1D), 4, 2 }, - { "glTexStorage1DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage1DEXT), 0, 0 }, - { "glTexStorage2D", "GL_ARB_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage2D), 4, 2 }, - { "glTexStorage2DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage2DEXT), 0, 0 }, - { "glTexStorage2DMultisample", "GL_ARB_texture_storage_multisample\0", offsetof(struct opengl_funcs, p_glTexStorage2DMultisample), 4, 3 }, - { "glTexStorage3D", "GL_ARB_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage3D), 4, 2 }, - { "glTexStorage3DEXT", "GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTexStorage3DEXT), 0, 0 }, - { "glTexStorage3DMultisample", "GL_ARB_texture_storage_multisample\0", offsetof(struct opengl_funcs, p_glTexStorage3DMultisample), 4, 3 }, - { "glTexStorageMem1DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem1DEXT), 0, 0 }, - { "glTexStorageMem2DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem2DEXT), 0, 0 }, - { "glTexStorageMem2DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem2DMultisampleEXT), 0, 0 }, - { "glTexStorageMem3DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem3DEXT), 0, 0 }, - { "glTexStorageMem3DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTexStorageMem3DMultisampleEXT), 0, 0 }, - { "glTexStorageSparseAMD", "GL_AMD_sparse_texture\0", offsetof(struct opengl_funcs, p_glTexStorageSparseAMD), 0, 0 }, - { "glTexSubImage1DEXT", "GL_EXT_subtexture\0", offsetof(struct opengl_funcs, p_glTexSubImage1DEXT), 0, 0 }, - { "glTexSubImage2DEXT", "GL_EXT_subtexture\0", offsetof(struct opengl_funcs, p_glTexSubImage2DEXT), 0, 0 }, - { "glTexSubImage3D", "\0", offsetof(struct opengl_funcs, p_glTexSubImage3D), 1, 2 }, - { "glTexSubImage3DEXT", "GL_EXT_texture3D\0", offsetof(struct opengl_funcs, p_glTexSubImage3DEXT), 0, 0 }, - { "glTexSubImage4DSGIS", "GL_SGIS_texture4D\0", offsetof(struct opengl_funcs, p_glTexSubImage4DSGIS), 0, 0 }, - { "glTextureAttachMemoryNV", "GL_NV_memory_attachment\0", offsetof(struct opengl_funcs, p_glTextureAttachMemoryNV), 0, 0 }, - { "glTextureBarrier", "GL_ARB_texture_barrier\0", offsetof(struct opengl_funcs, p_glTextureBarrier), 4, 5 }, - { "glTextureBarrierNV", "GL_NV_texture_barrier\0", offsetof(struct opengl_funcs, p_glTextureBarrierNV), 0, 0 }, - { "glTextureBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBuffer), 4, 5 }, - { "glTextureBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferEXT), 0, 0 }, - { "glTextureBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferRange), 4, 5 }, - { "glTextureBufferRangeEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureBufferRangeEXT), 0, 0 }, - { "glTextureColorMaskSGIS", "GL_SGIS_texture_color_mask\0", offsetof(struct opengl_funcs, p_glTextureColorMaskSGIS), 0, 0 }, - { "glTextureImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage1DEXT), 0, 0 }, - { "glTextureImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage2DEXT), 0, 0 }, - { "glTextureImage2DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleCoverageNV), 0, 0 }, - { "glTextureImage2DMultisampleNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleNV), 0, 0 }, - { "glTextureImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureImage3DEXT), 0, 0 }, - { "glTextureImage3DMultisampleCoverageNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleCoverageNV), 0, 0 }, - { "glTextureImage3DMultisampleNV", "GL_NV_texture_multisample\0", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleNV), 0, 0 }, - { "glTextureLightEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glTextureLightEXT), 0, 0 }, - { "glTextureMaterialEXT", "GL_EXT_light_texture\0", offsetof(struct opengl_funcs, p_glTextureMaterialEXT), 0, 0 }, - { "glTextureNormalEXT", "GL_EXT_texture_perturb_normal\0", offsetof(struct opengl_funcs, p_glTextureNormalEXT), 0, 0 }, - { "glTexturePageCommitmentEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTexturePageCommitmentEXT), 0, 0 }, - { "glTexturePageCommitmentMemNV", "GL_NV_memory_object_sparse\0", offsetof(struct opengl_funcs, p_glTexturePageCommitmentMemNV), 0, 0 }, - { "glTextureParameterIiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIiv), 4, 5 }, - { "glTextureParameterIivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIivEXT), 0, 0 }, - { "glTextureParameterIuiv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIuiv), 4, 5 }, - { "glTextureParameterIuivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterIuivEXT), 0, 0 }, - { "glTextureParameterf", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterf), 4, 5 }, - { "glTextureParameterfEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfEXT), 0, 0 }, - { "glTextureParameterfv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfv), 4, 5 }, - { "glTextureParameterfvEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterfvEXT), 0, 0 }, - { "glTextureParameteri", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameteri), 4, 5 }, - { "glTextureParameteriEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameteriEXT), 0, 0 }, - { "glTextureParameteriv", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameteriv), 4, 5 }, - { "glTextureParameterivEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureParameterivEXT), 0, 0 }, - { "glTextureRangeAPPLE", "GL_APPLE_texture_range\0", offsetof(struct opengl_funcs, p_glTextureRangeAPPLE), 0, 0 }, - { "glTextureRenderbufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureRenderbufferEXT), 0, 0 }, - { "glTextureStorage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage1D), 4, 5 }, - { "glTextureStorage1DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage1DEXT), 0, 0 }, - { "glTextureStorage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage2D), 4, 5 }, - { "glTextureStorage2DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage2DEXT), 0, 0 }, - { "glTextureStorage2DMultisample", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisample), 4, 5 }, - { "glTextureStorage2DMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisampleEXT), 0, 0 }, - { "glTextureStorage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage3D), 4, 5 }, - { "glTextureStorage3DEXT", "GL_EXT_direct_state_access\0GL_EXT_texture_storage\0", offsetof(struct opengl_funcs, p_glTextureStorage3DEXT), 0, 0 }, - { "glTextureStorage3DMultisample", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisample), 4, 5 }, - { "glTextureStorage3DMultisampleEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisampleEXT), 0, 0 }, - { "glTextureStorageMem1DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem1DEXT), 0, 0 }, - { "glTextureStorageMem2DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem2DEXT), 0, 0 }, - { "glTextureStorageMem2DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem2DMultisampleEXT), 0, 0 }, - { "glTextureStorageMem3DEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem3DEXT), 0, 0 }, - { "glTextureStorageMem3DMultisampleEXT", "GL_EXT_memory_object\0", offsetof(struct opengl_funcs, p_glTextureStorageMem3DMultisampleEXT), 0, 0 }, - { "glTextureStorageSparseAMD", "GL_AMD_sparse_texture\0", offsetof(struct opengl_funcs, p_glTextureStorageSparseAMD), 0, 0 }, - { "glTextureSubImage1D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage1D), 4, 5 }, - { "glTextureSubImage1DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage1DEXT), 0, 0 }, - { "glTextureSubImage2D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage2D), 4, 5 }, - { "glTextureSubImage2DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage2DEXT), 0, 0 }, - { "glTextureSubImage3D", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage3D), 4, 5 }, - { "glTextureSubImage3DEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glTextureSubImage3DEXT), 0, 0 }, - { "glTextureView", "GL_ARB_texture_view\0", offsetof(struct opengl_funcs, p_glTextureView), 4, 3 }, - { "glTrackMatrixNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glTrackMatrixNV), 0, 0 }, - { "glTransformFeedbackAttribsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackAttribsNV), 0, 0 }, - { "glTransformFeedbackBufferBase", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferBase), 4, 5 }, - { "glTransformFeedbackBufferRange", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferRange), 4, 5 }, - { "glTransformFeedbackStreamAttribsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackStreamAttribsNV), 0, 0 }, - { "glTransformFeedbackVaryings", "\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryings), 3, 0 }, - { "glTransformFeedbackVaryingsEXT", "GL_EXT_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsEXT), 0, 0 }, - { "glTransformFeedbackVaryingsNV", "GL_NV_transform_feedback\0", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsNV), 0, 0 }, - { "glTransformPathNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glTransformPathNV), 0, 0 }, - { "glTranslatex", "GL_NV_ES1_1_compatibility\0", offsetof(struct opengl_funcs, p_glTranslatex), 0, 0 }, - { "glTranslatexOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glTranslatexOES), 0, 0 }, - { "glUniform1d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform1d), 4, 0 }, - { "glUniform1dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform1dv), 4, 0 }, - { "glUniform1f", "\0", offsetof(struct opengl_funcs, p_glUniform1f), 2, 0 }, - { "glUniform1fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1fARB), 0, 0 }, - { "glUniform1fv", "\0", offsetof(struct opengl_funcs, p_glUniform1fv), 2, 0 }, - { "glUniform1fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1fvARB), 0, 0 }, - { "glUniform1i", "\0", offsetof(struct opengl_funcs, p_glUniform1i), 2, 0 }, - { "glUniform1i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1i64ARB), 0, 0 }, - { "glUniform1i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1i64NV), 0, 0 }, - { "glUniform1i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1i64vARB), 0, 0 }, - { "glUniform1i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1i64vNV), 0, 0 }, - { "glUniform1iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1iARB), 0, 0 }, - { "glUniform1iv", "\0", offsetof(struct opengl_funcs, p_glUniform1iv), 2, 0 }, - { "glUniform1ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform1ivARB), 0, 0 }, - { "glUniform1ui", "\0", offsetof(struct opengl_funcs, p_glUniform1ui), 3, 0 }, - { "glUniform1ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1ui64ARB), 0, 0 }, - { "glUniform1ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1ui64NV), 0, 0 }, - { "glUniform1ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform1ui64vARB), 0, 0 }, - { "glUniform1ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform1ui64vNV), 0, 0 }, - { "glUniform1uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform1uiEXT), 0, 0 }, - { "glUniform1uiv", "\0", offsetof(struct opengl_funcs, p_glUniform1uiv), 3, 0 }, - { "glUniform1uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform1uivEXT), 0, 0 }, - { "glUniform2d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform2d), 4, 0 }, - { "glUniform2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform2dv), 4, 0 }, - { "glUniform2f", "\0", offsetof(struct opengl_funcs, p_glUniform2f), 2, 0 }, - { "glUniform2fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2fARB), 0, 0 }, - { "glUniform2fv", "\0", offsetof(struct opengl_funcs, p_glUniform2fv), 2, 0 }, - { "glUniform2fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2fvARB), 0, 0 }, - { "glUniform2i", "\0", offsetof(struct opengl_funcs, p_glUniform2i), 2, 0 }, - { "glUniform2i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2i64ARB), 0, 0 }, - { "glUniform2i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2i64NV), 0, 0 }, - { "glUniform2i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2i64vARB), 0, 0 }, - { "glUniform2i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2i64vNV), 0, 0 }, - { "glUniform2iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2iARB), 0, 0 }, - { "glUniform2iv", "\0", offsetof(struct opengl_funcs, p_glUniform2iv), 2, 0 }, - { "glUniform2ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform2ivARB), 0, 0 }, - { "glUniform2ui", "\0", offsetof(struct opengl_funcs, p_glUniform2ui), 3, 0 }, - { "glUniform2ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2ui64ARB), 0, 0 }, - { "glUniform2ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2ui64NV), 0, 0 }, - { "glUniform2ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform2ui64vARB), 0, 0 }, - { "glUniform2ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform2ui64vNV), 0, 0 }, - { "glUniform2uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform2uiEXT), 0, 0 }, - { "glUniform2uiv", "\0", offsetof(struct opengl_funcs, p_glUniform2uiv), 3, 0 }, - { "glUniform2uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform2uivEXT), 0, 0 }, - { "glUniform3d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform3d), 4, 0 }, - { "glUniform3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform3dv), 4, 0 }, - { "glUniform3f", "\0", offsetof(struct opengl_funcs, p_glUniform3f), 2, 0 }, - { "glUniform3fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3fARB), 0, 0 }, - { "glUniform3fv", "\0", offsetof(struct opengl_funcs, p_glUniform3fv), 2, 0 }, - { "glUniform3fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3fvARB), 0, 0 }, - { "glUniform3i", "\0", offsetof(struct opengl_funcs, p_glUniform3i), 2, 0 }, - { "glUniform3i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3i64ARB), 0, 0 }, - { "glUniform3i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3i64NV), 0, 0 }, - { "glUniform3i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3i64vARB), 0, 0 }, - { "glUniform3i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3i64vNV), 0, 0 }, - { "glUniform3iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3iARB), 0, 0 }, - { "glUniform3iv", "\0", offsetof(struct opengl_funcs, p_glUniform3iv), 2, 0 }, - { "glUniform3ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform3ivARB), 0, 0 }, - { "glUniform3ui", "\0", offsetof(struct opengl_funcs, p_glUniform3ui), 3, 0 }, - { "glUniform3ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3ui64ARB), 0, 0 }, - { "glUniform3ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3ui64NV), 0, 0 }, - { "glUniform3ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform3ui64vARB), 0, 0 }, - { "glUniform3ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform3ui64vNV), 0, 0 }, - { "glUniform3uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform3uiEXT), 0, 0 }, - { "glUniform3uiv", "\0", offsetof(struct opengl_funcs, p_glUniform3uiv), 3, 0 }, - { "glUniform3uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform3uivEXT), 0, 0 }, - { "glUniform4d", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform4d), 4, 0 }, - { "glUniform4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniform4dv), 4, 0 }, - { "glUniform4f", "\0", offsetof(struct opengl_funcs, p_glUniform4f), 2, 0 }, - { "glUniform4fARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4fARB), 0, 0 }, - { "glUniform4fv", "\0", offsetof(struct opengl_funcs, p_glUniform4fv), 2, 0 }, - { "glUniform4fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4fvARB), 0, 0 }, - { "glUniform4i", "\0", offsetof(struct opengl_funcs, p_glUniform4i), 2, 0 }, - { "glUniform4i64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4i64ARB), 0, 0 }, - { "glUniform4i64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4i64NV), 0, 0 }, - { "glUniform4i64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4i64vARB), 0, 0 }, - { "glUniform4i64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4i64vNV), 0, 0 }, - { "glUniform4iARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4iARB), 0, 0 }, - { "glUniform4iv", "\0", offsetof(struct opengl_funcs, p_glUniform4iv), 2, 0 }, - { "glUniform4ivARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniform4ivARB), 0, 0 }, - { "glUniform4ui", "\0", offsetof(struct opengl_funcs, p_glUniform4ui), 3, 0 }, - { "glUniform4ui64ARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4ui64ARB), 0, 0 }, - { "glUniform4ui64NV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4ui64NV), 0, 0 }, - { "glUniform4ui64vARB", "GL_ARB_gpu_shader_int64\0", offsetof(struct opengl_funcs, p_glUniform4ui64vARB), 0, 0 }, - { "glUniform4ui64vNV", "GL_AMD_gpu_shader_int64\0GL_NV_gpu_shader5\0", offsetof(struct opengl_funcs, p_glUniform4ui64vNV), 0, 0 }, - { "glUniform4uiEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform4uiEXT), 0, 0 }, - { "glUniform4uiv", "\0", offsetof(struct opengl_funcs, p_glUniform4uiv), 3, 0 }, - { "glUniform4uivEXT", "GL_EXT_gpu_shader4\0", offsetof(struct opengl_funcs, p_glUniform4uivEXT), 0, 0 }, - { "glUniformBlockBinding", "GL_ARB_uniform_buffer_object\0", offsetof(struct opengl_funcs, p_glUniformBlockBinding), 3, 1 }, - { "glUniformBufferEXT", "GL_EXT_bindable_uniform\0", offsetof(struct opengl_funcs, p_glUniformBufferEXT), 0, 0 }, - { "glUniformHandleui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64ARB), 0, 0 }, - { "glUniformHandleui64NV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64NV), 0, 0 }, - { "glUniformHandleui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64vARB), 0, 0 }, - { "glUniformHandleui64vNV", "GL_NV_bindless_texture\0", offsetof(struct opengl_funcs, p_glUniformHandleui64vNV), 0, 0 }, - { "glUniformMatrix2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix2dv), 4, 0 }, - { "glUniformMatrix2fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix2fv), 2, 0 }, - { "glUniformMatrix2fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix2fvARB), 0, 0 }, - { "glUniformMatrix2x3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x3dv), 4, 0 }, - { "glUniformMatrix2x3fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x3fv), 2, 1 }, - { "glUniformMatrix2x4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x4dv), 4, 0 }, - { "glUniformMatrix2x4fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix2x4fv), 2, 1 }, - { "glUniformMatrix3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix3dv), 4, 0 }, - { "glUniformMatrix3fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix3fv), 2, 0 }, - { "glUniformMatrix3fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix3fvARB), 0, 0 }, - { "glUniformMatrix3x2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x2dv), 4, 0 }, - { "glUniformMatrix3x2fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x2fv), 2, 1 }, - { "glUniformMatrix3x4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x4dv), 4, 0 }, - { "glUniformMatrix3x4fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix3x4fv), 2, 1 }, - { "glUniformMatrix4dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix4dv), 4, 0 }, - { "glUniformMatrix4fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix4fv), 2, 0 }, - { "glUniformMatrix4fvARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUniformMatrix4fvARB), 0, 0 }, - { "glUniformMatrix4x2dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x2dv), 4, 0 }, - { "glUniformMatrix4x2fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x2fv), 2, 1 }, - { "glUniformMatrix4x3dv", "GL_ARB_gpu_shader_fp64\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x3dv), 4, 0 }, - { "glUniformMatrix4x3fv", "\0", offsetof(struct opengl_funcs, p_glUniformMatrix4x3fv), 2, 1 }, - { "glUniformSubroutinesuiv", "GL_ARB_shader_subroutine\0", offsetof(struct opengl_funcs, p_glUniformSubroutinesuiv), 4, 0 }, - { "glUniformui64NV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glUniformui64NV), 0, 0 }, - { "glUniformui64vNV", "GL_NV_shader_buffer_load\0", offsetof(struct opengl_funcs, p_glUniformui64vNV), 0, 0 }, - { "glUnlockArraysEXT", "GL_EXT_compiled_vertex_array\0", offsetof(struct opengl_funcs, p_glUnlockArraysEXT), 0, 0 }, - { "glUnmapBuffer", "\0", offsetof(struct opengl_funcs, p_glUnmapBuffer), 1, 5 }, - { "glUnmapBufferARB", "GL_ARB_vertex_buffer_object\0", offsetof(struct opengl_funcs, p_glUnmapBufferARB), 0, 0 }, - { "glUnmapNamedBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glUnmapNamedBuffer), 4, 5 }, - { "glUnmapNamedBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glUnmapNamedBufferEXT), 0, 0 }, - { "glUnmapObjectBufferATI", "GL_ATI_map_object_buffer\0", offsetof(struct opengl_funcs, p_glUnmapObjectBufferATI), 0, 0 }, - { "glUnmapTexture2DINTEL", "GL_INTEL_map_texture\0", offsetof(struct opengl_funcs, p_glUnmapTexture2DINTEL), 0, 0 }, - { "glUpdateObjectBufferATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glUpdateObjectBufferATI), 0, 0 }, - { "glUploadGpuMaskNVX", "GL_NVX_gpu_multicast2\0", offsetof(struct opengl_funcs, p_glUploadGpuMaskNVX), 0, 0 }, - { "glUseProgram", "\0", offsetof(struct opengl_funcs, p_glUseProgram), 2, 0 }, - { "glUseProgramObjectARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glUseProgramObjectARB), 0, 0 }, - { "glUseProgramStages", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glUseProgramStages), 4, 1 }, - { "glUseShaderProgramEXT", "GL_EXT_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glUseShaderProgramEXT), 0, 0 }, - { "glVDPAUFiniNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUFiniNV), 0, 0 }, - { "glVDPAUGetSurfaceivNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUGetSurfaceivNV), 0, 0 }, - { "glVDPAUInitNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUInitNV), 0, 0 }, - { "glVDPAUIsSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUIsSurfaceNV), 0, 0 }, - { "glVDPAUMapSurfacesNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUMapSurfacesNV), 0, 0 }, - { "glVDPAURegisterOutputSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAURegisterOutputSurfaceNV), 0, 0 }, - { "glVDPAURegisterVideoSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceNV), 0, 0 }, - { "glVDPAURegisterVideoSurfaceWithPictureStructureNV", "GL_NV_vdpau_interop2\0", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceWithPictureStructureNV), 0, 0 }, - { "glVDPAUSurfaceAccessNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUSurfaceAccessNV), 0, 0 }, - { "glVDPAUUnmapSurfacesNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUUnmapSurfacesNV), 0, 0 }, - { "glVDPAUUnregisterSurfaceNV", "GL_NV_vdpau_interop\0", offsetof(struct opengl_funcs, p_glVDPAUUnregisterSurfaceNV), 0, 0 }, - { "glValidateProgram", "\0", offsetof(struct opengl_funcs, p_glValidateProgram), 2, 0 }, - { "glValidateProgramARB", "GL_ARB_shader_objects\0", offsetof(struct opengl_funcs, p_glValidateProgramARB), 0, 0 }, - { "glValidateProgramPipeline", "GL_ARB_separate_shader_objects\0", offsetof(struct opengl_funcs, p_glValidateProgramPipeline), 4, 1 }, - { "glVariantArrayObjectATI", "GL_ATI_vertex_array_object\0", offsetof(struct opengl_funcs, p_glVariantArrayObjectATI), 0, 0 }, - { "glVariantPointerEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantPointerEXT), 0, 0 }, - { "glVariantbvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantbvEXT), 0, 0 }, - { "glVariantdvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantdvEXT), 0, 0 }, - { "glVariantfvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantfvEXT), 0, 0 }, - { "glVariantivEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantivEXT), 0, 0 }, - { "glVariantsvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantsvEXT), 0, 0 }, - { "glVariantubvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantubvEXT), 0, 0 }, - { "glVariantuivEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantuivEXT), 0, 0 }, - { "glVariantusvEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glVariantusvEXT), 0, 0 }, - { "glVertex2bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex2bOES), 0, 0 }, - { "glVertex2bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex2bvOES), 0, 0 }, - { "glVertex2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex2hNV), 0, 0 }, - { "glVertex2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex2hvNV), 0, 0 }, - { "glVertex2xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex2xOES), 0, 0 }, - { "glVertex2xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex2xvOES), 0, 0 }, - { "glVertex3bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex3bOES), 0, 0 }, - { "glVertex3bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex3bvOES), 0, 0 }, - { "glVertex3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex3hNV), 0, 0 }, - { "glVertex3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex3hvNV), 0, 0 }, - { "glVertex3xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex3xOES), 0, 0 }, - { "glVertex3xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex3xvOES), 0, 0 }, - { "glVertex4bOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex4bOES), 0, 0 }, - { "glVertex4bvOES", "GL_OES_byte_coordinates\0", offsetof(struct opengl_funcs, p_glVertex4bvOES), 0, 0 }, - { "glVertex4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex4hNV), 0, 0 }, - { "glVertex4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertex4hvNV), 0, 0 }, - { "glVertex4xOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex4xOES), 0, 0 }, - { "glVertex4xvOES", "GL_OES_fixed_point\0", offsetof(struct opengl_funcs, p_glVertex4xvOES), 0, 0 }, - { "glVertexArrayAttribBinding", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribBinding), 4, 5 }, - { "glVertexArrayAttribFormat", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribFormat), 4, 5 }, - { "glVertexArrayAttribIFormat", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribIFormat), 4, 5 }, - { "glVertexArrayAttribLFormat", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayAttribLFormat), 4, 5 }, - { "glVertexArrayBindVertexBufferEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayBindVertexBufferEXT), 0, 0 }, - { "glVertexArrayBindingDivisor", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayBindingDivisor), 4, 5 }, - { "glVertexArrayColorOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayColorOffsetEXT), 0, 0 }, - { "glVertexArrayEdgeFlagOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayEdgeFlagOffsetEXT), 0, 0 }, - { "glVertexArrayElementBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayElementBuffer), 4, 5 }, - { "glVertexArrayFogCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayFogCoordOffsetEXT), 0, 0 }, - { "glVertexArrayIndexOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayIndexOffsetEXT), 0, 0 }, - { "glVertexArrayMultiTexCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayMultiTexCoordOffsetEXT), 0, 0 }, - { "glVertexArrayNormalOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayNormalOffsetEXT), 0, 0 }, - { "glVertexArrayParameteriAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayParameteriAPPLE), 0, 0 }, - { "glVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayRangeAPPLE), 0, 0 }, - { "glVertexArrayRangeNV", "GL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_glVertexArrayRangeNV), 0, 0 }, - { "glVertexArraySecondaryColorOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArraySecondaryColorOffsetEXT), 0, 0 }, - { "glVertexArrayTexCoordOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayTexCoordOffsetEXT), 0, 0 }, - { "glVertexArrayVertexAttribBindingEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribBindingEXT), 0, 0 }, - { "glVertexArrayVertexAttribDivisorEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribDivisorEXT), 0, 0 }, - { "glVertexArrayVertexAttribFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribFormatEXT), 0, 0 }, - { "glVertexArrayVertexAttribIFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIFormatEXT), 0, 0 }, - { "glVertexArrayVertexAttribIOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIOffsetEXT), 0, 0 }, - { "glVertexArrayVertexAttribLFormatEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLFormatEXT), 0, 0 }, - { "glVertexArrayVertexAttribLOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLOffsetEXT), 0, 0 }, - { "glVertexArrayVertexAttribOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribOffsetEXT), 0, 0 }, - { "glVertexArrayVertexBindingDivisorEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBindingDivisorEXT), 0, 0 }, - { "glVertexArrayVertexBuffer", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffer), 4, 5 }, - { "glVertexArrayVertexBuffers", "GL_ARB_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffers), 4, 5 }, - { "glVertexArrayVertexOffsetEXT", "GL_EXT_direct_state_access\0", offsetof(struct opengl_funcs, p_glVertexArrayVertexOffsetEXT), 0, 0 }, - { "glVertexAttrib1d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1d), 2, 0 }, - { "glVertexAttrib1dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dARB), 0, 0 }, - { "glVertexAttrib1dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dNV), 0, 0 }, - { "glVertexAttrib1dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dv), 2, 0 }, - { "glVertexAttrib1dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dvARB), 0, 0 }, - { "glVertexAttrib1dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1dvNV), 0, 0 }, - { "glVertexAttrib1f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1f), 2, 0 }, - { "glVertexAttrib1fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fARB), 0, 0 }, - { "glVertexAttrib1fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fNV), 0, 0 }, - { "glVertexAttrib1fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fv), 2, 0 }, - { "glVertexAttrib1fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fvARB), 0, 0 }, - { "glVertexAttrib1fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1fvNV), 0, 0 }, - { "glVertexAttrib1hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib1hNV), 0, 0 }, - { "glVertexAttrib1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib1hvNV), 0, 0 }, - { "glVertexAttrib1s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1s), 2, 0 }, - { "glVertexAttrib1sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sARB), 0, 0 }, - { "glVertexAttrib1sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sNV), 0, 0 }, - { "glVertexAttrib1sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib1sv), 2, 0 }, - { "glVertexAttrib1svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib1svARB), 0, 0 }, - { "glVertexAttrib1svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib1svNV), 0, 0 }, - { "glVertexAttrib2d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2d), 2, 0 }, - { "glVertexAttrib2dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dARB), 0, 0 }, - { "glVertexAttrib2dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dNV), 0, 0 }, - { "glVertexAttrib2dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dv), 2, 0 }, - { "glVertexAttrib2dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dvARB), 0, 0 }, - { "glVertexAttrib2dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2dvNV), 0, 0 }, - { "glVertexAttrib2f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2f), 2, 0 }, - { "glVertexAttrib2fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fARB), 0, 0 }, - { "glVertexAttrib2fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fNV), 0, 0 }, - { "glVertexAttrib2fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fv), 2, 0 }, - { "glVertexAttrib2fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fvARB), 0, 0 }, - { "glVertexAttrib2fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2fvNV), 0, 0 }, - { "glVertexAttrib2hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib2hNV), 0, 0 }, - { "glVertexAttrib2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib2hvNV), 0, 0 }, - { "glVertexAttrib2s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2s), 2, 0 }, - { "glVertexAttrib2sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sARB), 0, 0 }, - { "glVertexAttrib2sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sNV), 0, 0 }, - { "glVertexAttrib2sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib2sv), 2, 0 }, - { "glVertexAttrib2svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib2svARB), 0, 0 }, - { "glVertexAttrib2svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib2svNV), 0, 0 }, - { "glVertexAttrib3d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3d), 2, 0 }, - { "glVertexAttrib3dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dARB), 0, 0 }, - { "glVertexAttrib3dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dNV), 0, 0 }, - { "glVertexAttrib3dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dv), 2, 0 }, - { "glVertexAttrib3dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dvARB), 0, 0 }, - { "glVertexAttrib3dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3dvNV), 0, 0 }, - { "glVertexAttrib3f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3f), 2, 0 }, - { "glVertexAttrib3fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fARB), 0, 0 }, - { "glVertexAttrib3fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fNV), 0, 0 }, - { "glVertexAttrib3fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fv), 2, 0 }, - { "glVertexAttrib3fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fvARB), 0, 0 }, - { "glVertexAttrib3fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3fvNV), 0, 0 }, - { "glVertexAttrib3hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib3hNV), 0, 0 }, - { "glVertexAttrib3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib3hvNV), 0, 0 }, - { "glVertexAttrib3s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3s), 2, 0 }, - { "glVertexAttrib3sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sARB), 0, 0 }, - { "glVertexAttrib3sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sNV), 0, 0 }, - { "glVertexAttrib3sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib3sv), 2, 0 }, - { "glVertexAttrib3svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib3svARB), 0, 0 }, - { "glVertexAttrib3svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib3svNV), 0, 0 }, - { "glVertexAttrib4Nbv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nbv), 2, 0 }, - { "glVertexAttrib4NbvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NbvARB), 0, 0 }, - { "glVertexAttrib4Niv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Niv), 2, 0 }, - { "glVertexAttrib4NivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NivARB), 0, 0 }, - { "glVertexAttrib4Nsv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nsv), 2, 0 }, - { "glVertexAttrib4NsvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NsvARB), 0, 0 }, - { "glVertexAttrib4Nub", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nub), 2, 0 }, - { "glVertexAttrib4NubARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NubARB), 0, 0 }, - { "glVertexAttrib4Nubv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nubv), 2, 0 }, - { "glVertexAttrib4NubvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NubvARB), 0, 0 }, - { "glVertexAttrib4Nuiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nuiv), 2, 0 }, - { "glVertexAttrib4NuivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NuivARB), 0, 0 }, - { "glVertexAttrib4Nusv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4Nusv), 2, 0 }, - { "glVertexAttrib4NusvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4NusvARB), 0, 0 }, - { "glVertexAttrib4bv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4bv), 2, 0 }, - { "glVertexAttrib4bvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4bvARB), 0, 0 }, - { "glVertexAttrib4d", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4d), 2, 0 }, - { "glVertexAttrib4dARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dARB), 0, 0 }, - { "glVertexAttrib4dNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dNV), 0, 0 }, - { "glVertexAttrib4dv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dv), 2, 0 }, - { "glVertexAttrib4dvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dvARB), 0, 0 }, - { "glVertexAttrib4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4dvNV), 0, 0 }, - { "glVertexAttrib4f", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4f), 2, 0 }, - { "glVertexAttrib4fARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fARB), 0, 0 }, - { "glVertexAttrib4fNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fNV), 0, 0 }, - { "glVertexAttrib4fv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fv), 2, 0 }, - { "glVertexAttrib4fvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fvARB), 0, 0 }, - { "glVertexAttrib4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4fvNV), 0, 0 }, - { "glVertexAttrib4hNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib4hNV), 0, 0 }, - { "glVertexAttrib4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttrib4hvNV), 0, 0 }, - { "glVertexAttrib4iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4iv), 2, 0 }, - { "glVertexAttrib4ivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ivARB), 0, 0 }, - { "glVertexAttrib4s", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4s), 2, 0 }, - { "glVertexAttrib4sARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sARB), 0, 0 }, - { "glVertexAttrib4sNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sNV), 0, 0 }, - { "glVertexAttrib4sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4sv), 2, 0 }, - { "glVertexAttrib4svARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4svARB), 0, 0 }, - { "glVertexAttrib4svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4svNV), 0, 0 }, - { "glVertexAttrib4ubNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubNV), 0, 0 }, - { "glVertexAttrib4ubv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubv), 2, 0 }, - { "glVertexAttrib4ubvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvARB), 0, 0 }, - { "glVertexAttrib4ubvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvNV), 0, 0 }, - { "glVertexAttrib4uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4uiv), 2, 0 }, - { "glVertexAttrib4uivARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4uivARB), 0, 0 }, - { "glVertexAttrib4usv", "\0", offsetof(struct opengl_funcs, p_glVertexAttrib4usv), 2, 0 }, - { "glVertexAttrib4usvARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttrib4usvARB), 0, 0 }, - { "glVertexAttribArrayObjectATI", "GL_ATI_vertex_attrib_array_object\0", offsetof(struct opengl_funcs, p_glVertexAttribArrayObjectATI), 0, 0 }, - { "glVertexAttribBinding", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribBinding), 4, 3 }, - { "glVertexAttribDivisor", "\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisor), 3, 3 }, - { "glVertexAttribDivisorARB", "GL_ARB_instanced_arrays\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisorARB), 0, 0 }, - { "glVertexAttribFormat", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribFormat), 4, 3 }, - { "glVertexAttribFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexAttribFormatNV), 0, 0 }, - { "glVertexAttribI1i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1i), 3, 0 }, - { "glVertexAttribI1iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1iEXT), 0, 0 }, - { "glVertexAttribI1iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1iv), 3, 0 }, - { "glVertexAttribI1ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1ivEXT), 0, 0 }, - { "glVertexAttribI1ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1ui), 3, 0 }, - { "glVertexAttribI1uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uiEXT), 0, 0 }, - { "glVertexAttribI1uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uiv), 3, 0 }, - { "glVertexAttribI1uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI1uivEXT), 0, 0 }, - { "glVertexAttribI2i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2i), 3, 0 }, - { "glVertexAttribI2iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2iEXT), 0, 0 }, - { "glVertexAttribI2iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2iv), 3, 0 }, - { "glVertexAttribI2ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2ivEXT), 0, 0 }, - { "glVertexAttribI2ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2ui), 3, 0 }, - { "glVertexAttribI2uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uiEXT), 0, 0 }, - { "glVertexAttribI2uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uiv), 3, 0 }, - { "glVertexAttribI2uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI2uivEXT), 0, 0 }, - { "glVertexAttribI3i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3i), 3, 0 }, - { "glVertexAttribI3iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3iEXT), 0, 0 }, - { "glVertexAttribI3iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3iv), 3, 0 }, - { "glVertexAttribI3ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3ivEXT), 0, 0 }, - { "glVertexAttribI3ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3ui), 3, 0 }, - { "glVertexAttribI3uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uiEXT), 0, 0 }, - { "glVertexAttribI3uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uiv), 3, 0 }, - { "glVertexAttribI3uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI3uivEXT), 0, 0 }, - { "glVertexAttribI4bv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4bv), 3, 0 }, - { "glVertexAttribI4bvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4bvEXT), 0, 0 }, - { "glVertexAttribI4i", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4i), 3, 0 }, - { "glVertexAttribI4iEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4iEXT), 0, 0 }, - { "glVertexAttribI4iv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4iv), 3, 0 }, - { "glVertexAttribI4ivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ivEXT), 0, 0 }, - { "glVertexAttribI4sv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4sv), 3, 0 }, - { "glVertexAttribI4svEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4svEXT), 0, 0 }, - { "glVertexAttribI4ubv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ubv), 3, 0 }, - { "glVertexAttribI4ubvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ubvEXT), 0, 0 }, - { "glVertexAttribI4ui", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4ui), 3, 0 }, - { "glVertexAttribI4uiEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uiEXT), 0, 0 }, - { "glVertexAttribI4uiv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uiv), 3, 0 }, - { "glVertexAttribI4uivEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4uivEXT), 0, 0 }, - { "glVertexAttribI4usv", "\0", offsetof(struct opengl_funcs, p_glVertexAttribI4usv), 3, 0 }, - { "glVertexAttribI4usvEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribI4usvEXT), 0, 0 }, - { "glVertexAttribIFormat", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribIFormat), 4, 3 }, - { "glVertexAttribIFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexAttribIFormatNV), 0, 0 }, - { "glVertexAttribIPointer", "\0", offsetof(struct opengl_funcs, p_glVertexAttribIPointer), 3, 0 }, - { "glVertexAttribIPointerEXT", "GL_EXT_gpu_shader4\0GL_NV_vertex_program4\0", offsetof(struct opengl_funcs, p_glVertexAttribIPointerEXT), 0, 0 }, - { "glVertexAttribL1d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1d), 4, 1 }, - { "glVertexAttribL1dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dEXT), 0, 0 }, - { "glVertexAttribL1dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dv), 4, 1 }, - { "glVertexAttribL1dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1dvEXT), 0, 0 }, - { "glVertexAttribL1i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1i64NV), 0, 0 }, - { "glVertexAttribL1i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1i64vNV), 0, 0 }, - { "glVertexAttribL1ui64ARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64ARB), 0, 0 }, - { "glVertexAttribL1ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64NV), 0, 0 }, - { "glVertexAttribL1ui64vARB", "GL_ARB_bindless_texture\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vARB), 0, 0 }, - { "glVertexAttribL1ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vNV), 0, 0 }, - { "glVertexAttribL2d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2d), 4, 1 }, - { "glVertexAttribL2dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dEXT), 0, 0 }, - { "glVertexAttribL2dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dv), 4, 1 }, - { "glVertexAttribL2dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2dvEXT), 0, 0 }, - { "glVertexAttribL2i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2i64NV), 0, 0 }, - { "glVertexAttribL2i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2i64vNV), 0, 0 }, - { "glVertexAttribL2ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64NV), 0, 0 }, - { "glVertexAttribL2ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64vNV), 0, 0 }, - { "glVertexAttribL3d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3d), 4, 1 }, - { "glVertexAttribL3dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dEXT), 0, 0 }, - { "glVertexAttribL3dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dv), 4, 1 }, - { "glVertexAttribL3dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3dvEXT), 0, 0 }, - { "glVertexAttribL3i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3i64NV), 0, 0 }, - { "glVertexAttribL3i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3i64vNV), 0, 0 }, - { "glVertexAttribL3ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64NV), 0, 0 }, - { "glVertexAttribL3ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64vNV), 0, 0 }, - { "glVertexAttribL4d", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4d), 4, 1 }, - { "glVertexAttribL4dEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dEXT), 0, 0 }, - { "glVertexAttribL4dv", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dv), 4, 1 }, - { "glVertexAttribL4dvEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4dvEXT), 0, 0 }, - { "glVertexAttribL4i64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4i64NV), 0, 0 }, - { "glVertexAttribL4i64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4i64vNV), 0, 0 }, - { "glVertexAttribL4ui64NV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64NV), 0, 0 }, - { "glVertexAttribL4ui64vNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64vNV), 0, 0 }, - { "glVertexAttribLFormat", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexAttribLFormat), 4, 3 }, - { "glVertexAttribLFormatNV", "GL_NV_vertex_attrib_integer_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLFormatNV), 0, 0 }, - { "glVertexAttribLPointer", "GL_ARB_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLPointer), 4, 1 }, - { "glVertexAttribLPointerEXT", "GL_EXT_vertex_attrib_64bit\0", offsetof(struct opengl_funcs, p_glVertexAttribLPointerEXT), 0, 0 }, - { "glVertexAttribP1ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP1ui), 3, 3 }, - { "glVertexAttribP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP1uiv), 3, 3 }, - { "glVertexAttribP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP2ui), 3, 3 }, - { "glVertexAttribP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP2uiv), 3, 3 }, - { "glVertexAttribP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP3ui), 3, 3 }, - { "glVertexAttribP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP3uiv), 3, 3 }, - { "glVertexAttribP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP4ui), 3, 3 }, - { "glVertexAttribP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexAttribP4uiv), 3, 3 }, - { "glVertexAttribParameteriAMD", "GL_AMD_interleaved_elements\0", offsetof(struct opengl_funcs, p_glVertexAttribParameteriAMD), 0, 0 }, - { "glVertexAttribPointer", "\0", offsetof(struct opengl_funcs, p_glVertexAttribPointer), 2, 0 }, - { "glVertexAttribPointerARB", "GL_ARB_vertex_program\0GL_ARB_vertex_shader\0", offsetof(struct opengl_funcs, p_glVertexAttribPointerARB), 0, 0 }, - { "glVertexAttribPointerNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribPointerNV), 0, 0 }, - { "glVertexAttribs1dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1dvNV), 0, 0 }, - { "glVertexAttribs1fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1fvNV), 0, 0 }, - { "glVertexAttribs1hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs1hvNV), 0, 0 }, - { "glVertexAttribs1svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs1svNV), 0, 0 }, - { "glVertexAttribs2dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2dvNV), 0, 0 }, - { "glVertexAttribs2fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2fvNV), 0, 0 }, - { "glVertexAttribs2hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs2hvNV), 0, 0 }, - { "glVertexAttribs2svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs2svNV), 0, 0 }, - { "glVertexAttribs3dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3dvNV), 0, 0 }, - { "glVertexAttribs3fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3fvNV), 0, 0 }, - { "glVertexAttribs3hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs3hvNV), 0, 0 }, - { "glVertexAttribs3svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs3svNV), 0, 0 }, - { "glVertexAttribs4dvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4dvNV), 0, 0 }, - { "glVertexAttribs4fvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4fvNV), 0, 0 }, - { "glVertexAttribs4hvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexAttribs4hvNV), 0, 0 }, - { "glVertexAttribs4svNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4svNV), 0, 0 }, - { "glVertexAttribs4ubvNV", "GL_NV_vertex_program\0", offsetof(struct opengl_funcs, p_glVertexAttribs4ubvNV), 0, 0 }, - { "glVertexBindingDivisor", "GL_ARB_vertex_attrib_binding\0", offsetof(struct opengl_funcs, p_glVertexBindingDivisor), 4, 3 }, - { "glVertexBlendARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glVertexBlendARB), 0, 0 }, - { "glVertexBlendEnvfATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexBlendEnvfATI), 0, 0 }, - { "glVertexBlendEnviATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexBlendEnviATI), 0, 0 }, - { "glVertexFormatNV", "GL_NV_vertex_buffer_unified_memory\0", offsetof(struct opengl_funcs, p_glVertexFormatNV), 0, 0 }, - { "glVertexP2ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP2ui), 3, 3 }, - { "glVertexP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP2uiv), 3, 3 }, - { "glVertexP3ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP3ui), 3, 3 }, - { "glVertexP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP3uiv), 3, 3 }, - { "glVertexP4ui", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP4ui), 3, 3 }, - { "glVertexP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev\0", offsetof(struct opengl_funcs, p_glVertexP4uiv), 3, 3 }, - { "glVertexPointerEXT", "GL_EXT_vertex_array\0", offsetof(struct opengl_funcs, p_glVertexPointerEXT), 0, 0 }, - { "glVertexPointerListIBM", "GL_IBM_vertex_array_lists\0", offsetof(struct opengl_funcs, p_glVertexPointerListIBM), 0, 0 }, - { "glVertexPointervINTEL", "GL_INTEL_parallel_arrays\0", offsetof(struct opengl_funcs, p_glVertexPointervINTEL), 0, 0 }, - { "glVertexStream1dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1dATI), 0, 0 }, - { "glVertexStream1dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1dvATI), 0, 0 }, - { "glVertexStream1fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1fATI), 0, 0 }, - { "glVertexStream1fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1fvATI), 0, 0 }, - { "glVertexStream1iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1iATI), 0, 0 }, - { "glVertexStream1ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1ivATI), 0, 0 }, - { "glVertexStream1sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1sATI), 0, 0 }, - { "glVertexStream1svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream1svATI), 0, 0 }, - { "glVertexStream2dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2dATI), 0, 0 }, - { "glVertexStream2dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2dvATI), 0, 0 }, - { "glVertexStream2fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2fATI), 0, 0 }, - { "glVertexStream2fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2fvATI), 0, 0 }, - { "glVertexStream2iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2iATI), 0, 0 }, - { "glVertexStream2ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2ivATI), 0, 0 }, - { "glVertexStream2sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2sATI), 0, 0 }, - { "glVertexStream2svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream2svATI), 0, 0 }, - { "glVertexStream3dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3dATI), 0, 0 }, - { "glVertexStream3dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3dvATI), 0, 0 }, - { "glVertexStream3fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3fATI), 0, 0 }, - { "glVertexStream3fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3fvATI), 0, 0 }, - { "glVertexStream3iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3iATI), 0, 0 }, - { "glVertexStream3ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3ivATI), 0, 0 }, - { "glVertexStream3sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3sATI), 0, 0 }, - { "glVertexStream3svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream3svATI), 0, 0 }, - { "glVertexStream4dATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4dATI), 0, 0 }, - { "glVertexStream4dvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4dvATI), 0, 0 }, - { "glVertexStream4fATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4fATI), 0, 0 }, - { "glVertexStream4fvATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4fvATI), 0, 0 }, - { "glVertexStream4iATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4iATI), 0, 0 }, - { "glVertexStream4ivATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4ivATI), 0, 0 }, - { "glVertexStream4sATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4sATI), 0, 0 }, - { "glVertexStream4svATI", "GL_ATI_vertex_streams\0", offsetof(struct opengl_funcs, p_glVertexStream4svATI), 0, 0 }, - { "glVertexWeightPointerEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightPointerEXT), 0, 0 }, - { "glVertexWeightfEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightfEXT), 0, 0 }, - { "glVertexWeightfvEXT", "GL_EXT_vertex_weighting\0", offsetof(struct opengl_funcs, p_glVertexWeightfvEXT), 0, 0 }, - { "glVertexWeighthNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexWeighthNV), 0, 0 }, - { "glVertexWeighthvNV", "GL_NV_half_float\0", offsetof(struct opengl_funcs, p_glVertexWeighthvNV), 0, 0 }, - { "glVideoCaptureNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureNV), 0, 0 }, - { "glVideoCaptureStreamParameterdvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterdvNV), 0, 0 }, - { "glVideoCaptureStreamParameterfvNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterfvNV), 0, 0 }, - { "glVideoCaptureStreamParameterivNV", "GL_NV_video_capture\0", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterivNV), 0, 0 }, - { "glViewportArrayv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glViewportArrayv), 4, 1 }, - { "glViewportIndexedf", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glViewportIndexedf), 4, 1 }, - { "glViewportIndexedfv", "GL_ARB_viewport_array\0", offsetof(struct opengl_funcs, p_glViewportIndexedfv), 4, 1 }, - { "glViewportPositionWScaleNV", "GL_NV_clip_space_w_scaling\0", offsetof(struct opengl_funcs, p_glViewportPositionWScaleNV), 0, 0 }, - { "glViewportSwizzleNV", "GL_NV_viewport_swizzle\0", offsetof(struct opengl_funcs, p_glViewportSwizzleNV), 0, 0 }, - { "glWaitSemaphoreEXT", "GL_EXT_semaphore\0", offsetof(struct opengl_funcs, p_glWaitSemaphoreEXT), 0, 0 }, - { "glWaitSemaphoreui64NVX", "GL_NVX_progress_fence\0", offsetof(struct opengl_funcs, p_glWaitSemaphoreui64NVX), 0, 0 }, - { "glWaitSync", "GL_ARB_sync\0", offsetof(struct opengl_funcs, p_glWaitSync), 3, 2 }, - { "glWaitVkSemaphoreNV", "GL_NV_draw_vulkan_image\0", offsetof(struct opengl_funcs, p_glWaitVkSemaphoreNV), 0, 0 }, - { "glWeightPathsNV", "GL_NV_path_rendering\0", offsetof(struct opengl_funcs, p_glWeightPathsNV), 0, 0 }, - { "glWeightPointerARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightPointerARB), 0, 0 }, - { "glWeightbvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightbvARB), 0, 0 }, - { "glWeightdvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightdvARB), 0, 0 }, - { "glWeightfvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightfvARB), 0, 0 }, - { "glWeightivARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightivARB), 0, 0 }, - { "glWeightsvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightsvARB), 0, 0 }, - { "glWeightubvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightubvARB), 0, 0 }, - { "glWeightuivARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightuivARB), 0, 0 }, - { "glWeightusvARB", "GL_ARB_vertex_blend\0", offsetof(struct opengl_funcs, p_glWeightusvARB), 0, 0 }, - { "glWindowPos2d", "\0", offsetof(struct opengl_funcs, p_glWindowPos2d), 1, 4 }, - { "glWindowPos2dARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dARB), 0, 0 }, - { "glWindowPos2dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dMESA), 0, 0 }, - { "glWindowPos2dv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2dv), 1, 4 }, - { "glWindowPos2dvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dvARB), 0, 0 }, - { "glWindowPos2dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2dvMESA), 0, 0 }, - { "glWindowPos2f", "\0", offsetof(struct opengl_funcs, p_glWindowPos2f), 1, 4 }, - { "glWindowPos2fARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fARB), 0, 0 }, - { "glWindowPos2fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fMESA), 0, 0 }, - { "glWindowPos2fv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2fv), 1, 4 }, - { "glWindowPos2fvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fvARB), 0, 0 }, - { "glWindowPos2fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2fvMESA), 0, 0 }, - { "glWindowPos2i", "\0", offsetof(struct opengl_funcs, p_glWindowPos2i), 1, 4 }, - { "glWindowPos2iARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2iARB), 0, 0 }, - { "glWindowPos2iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2iMESA), 0, 0 }, - { "glWindowPos2iv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2iv), 1, 4 }, - { "glWindowPos2ivARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2ivARB), 0, 0 }, - { "glWindowPos2ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2ivMESA), 0, 0 }, - { "glWindowPos2s", "\0", offsetof(struct opengl_funcs, p_glWindowPos2s), 1, 4 }, - { "glWindowPos2sARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2sARB), 0, 0 }, - { "glWindowPos2sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2sMESA), 0, 0 }, - { "glWindowPos2sv", "\0", offsetof(struct opengl_funcs, p_glWindowPos2sv), 1, 4 }, - { "glWindowPos2svARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2svARB), 0, 0 }, - { "glWindowPos2svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos2svMESA), 0, 0 }, - { "glWindowPos3d", "\0", offsetof(struct opengl_funcs, p_glWindowPos3d), 1, 4 }, - { "glWindowPos3dARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dARB), 0, 0 }, - { "glWindowPos3dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dMESA), 0, 0 }, - { "glWindowPos3dv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3dv), 1, 4 }, - { "glWindowPos3dvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dvARB), 0, 0 }, - { "glWindowPos3dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3dvMESA), 0, 0 }, - { "glWindowPos3f", "\0", offsetof(struct opengl_funcs, p_glWindowPos3f), 1, 4 }, - { "glWindowPos3fARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fARB), 0, 0 }, - { "glWindowPos3fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fMESA), 0, 0 }, - { "glWindowPos3fv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3fv), 1, 4 }, - { "glWindowPos3fvARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fvARB), 0, 0 }, - { "glWindowPos3fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3fvMESA), 0, 0 }, - { "glWindowPos3i", "\0", offsetof(struct opengl_funcs, p_glWindowPos3i), 1, 4 }, - { "glWindowPos3iARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3iARB), 0, 0 }, - { "glWindowPos3iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3iMESA), 0, 0 }, - { "glWindowPos3iv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3iv), 1, 4 }, - { "glWindowPos3ivARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3ivARB), 0, 0 }, - { "glWindowPos3ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3ivMESA), 0, 0 }, - { "glWindowPos3s", "\0", offsetof(struct opengl_funcs, p_glWindowPos3s), 1, 4 }, - { "glWindowPos3sARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3sARB), 0, 0 }, - { "glWindowPos3sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3sMESA), 0, 0 }, - { "glWindowPos3sv", "\0", offsetof(struct opengl_funcs, p_glWindowPos3sv), 1, 4 }, - { "glWindowPos3svARB", "GL_ARB_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3svARB), 0, 0 }, - { "glWindowPos3svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos3svMESA), 0, 0 }, - { "glWindowPos4dMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4dMESA), 0, 0 }, - { "glWindowPos4dvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4dvMESA), 0, 0 }, - { "glWindowPos4fMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4fMESA), 0, 0 }, - { "glWindowPos4fvMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4fvMESA), 0, 0 }, - { "glWindowPos4iMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4iMESA), 0, 0 }, - { "glWindowPos4ivMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4ivMESA), 0, 0 }, - { "glWindowPos4sMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4sMESA), 0, 0 }, - { "glWindowPos4svMESA", "GL_MESA_window_pos\0", offsetof(struct opengl_funcs, p_glWindowPos4svMESA), 0, 0 }, - { "glWindowRectanglesEXT", "GL_EXT_window_rectangles\0", offsetof(struct opengl_funcs, p_glWindowRectanglesEXT), 0, 0 }, - { "glWriteMaskEXT", "GL_EXT_vertex_shader\0", offsetof(struct opengl_funcs, p_glWriteMaskEXT), 0, 0 }, - { "wglAllocateMemoryNV", "WGL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_wglAllocateMemoryNV), 0, 0 }, - { "wglBindTexImageARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglBindTexImageARB), 0, 0 }, - { "wglChoosePixelFormatARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglChoosePixelFormatARB), 0, 0 }, - { "wglCreateContextAttribsARB", "WGL_ARB_create_context\0", offsetof(struct opengl_funcs, p_wglCreateContextAttribsARB), 0, 0 }, - { "wglCreatePbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglCreatePbufferARB), 0, 0 }, - { "wglDestroyPbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglDestroyPbufferARB), 0, 0 }, - { "wglFreeMemoryNV", "WGL_NV_vertex_array_range\0", offsetof(struct opengl_funcs, p_wglFreeMemoryNV), 0, 0 }, - { "wglGetCurrentReadDCARB", "WGL_ARB_make_current_read\0", offsetof(struct opengl_funcs, p_wglGetCurrentReadDCARB), 0, 0 }, - { "wglGetExtensionsStringARB", "WGL_ARB_extensions_string\0", offsetof(struct opengl_funcs, p_wglGetExtensionsStringARB), 0, 0 }, - { "wglGetExtensionsStringEXT", "WGL_EXT_extensions_string\0", offsetof(struct opengl_funcs, p_wglGetExtensionsStringEXT), 0, 0 }, - { "wglGetPbufferDCARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglGetPbufferDCARB), 0, 0 }, - { "wglGetPixelFormatAttribfvARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribfvARB), 0, 0 }, - { "wglGetPixelFormatAttribivARB", "WGL_ARB_pixel_format\0", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribivARB), 0, 0 }, - { "wglGetSwapIntervalEXT", "WGL_EXT_swap_control\0", offsetof(struct opengl_funcs, p_wglGetSwapIntervalEXT), 0, 0 }, - { "wglMakeContextCurrentARB", "WGL_ARB_make_current_read\0", offsetof(struct opengl_funcs, p_wglMakeContextCurrentARB), 0, 0 }, - { "wglQueryCurrentRendererIntegerWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererIntegerWINE), 0, 0 }, - { "wglQueryCurrentRendererStringWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererStringWINE), 0, 0 }, - { "wglQueryPbufferARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglQueryPbufferARB), 0, 0 }, - { "wglQueryRendererIntegerWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryRendererIntegerWINE), 0, 0 }, - { "wglQueryRendererStringWINE", "WGL_WINE_query_renderer\0", offsetof(struct opengl_funcs, p_wglQueryRendererStringWINE), 0, 0 }, - { "wglReleasePbufferDCARB", "WGL_ARB_pbuffer\0", offsetof(struct opengl_funcs, p_wglReleasePbufferDCARB), 0, 0 }, - { "wglReleaseTexImageARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglReleaseTexImageARB), 0, 0 }, - { "wglSetPbufferAttribARB", "WGL_ARB_render_texture\0", offsetof(struct opengl_funcs, p_wglSetPbufferAttribARB), 0, 0 }, - { "wglSetPixelFormatWINE", "WGL_WINE_pixel_format_passthrough\0", offsetof(struct opengl_funcs, p_wglSetPixelFormatWINE), 0, 0 }, - { "wglSwapIntervalEXT", "WGL_EXT_swap_control\0", offsetof(struct opengl_funcs, p_wglSwapIntervalEXT), 0, 0 }, + { "glAccumxOES", offsetof(struct opengl_funcs, p_glAccumxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glAcquireKeyedMutexWin32EXT", offsetof(struct opengl_funcs, p_glAcquireKeyedMutexWin32EXT), 0, 0, { GL_EXT_win32_keyed_mutex, GL_EXTENSION_COUNT }}, + { "glActiveProgramEXT", offsetof(struct opengl_funcs, p_glActiveProgramEXT), 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glActiveShaderProgram", offsetof(struct opengl_funcs, p_glActiveShaderProgram), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glActiveStencilFaceEXT", offsetof(struct opengl_funcs, p_glActiveStencilFaceEXT), 0, 0, { GL_EXT_stencil_two_side, GL_EXTENSION_COUNT }}, + { "glActiveTexture", offsetof(struct opengl_funcs, p_glActiveTexture), 1, 3, { GL_EXTENSION_COUNT }}, + { "glActiveTextureARB", offsetof(struct opengl_funcs, p_glActiveTextureARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glActiveVaryingNV", offsetof(struct opengl_funcs, p_glActiveVaryingNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glAlphaFragmentOp1ATI", offsetof(struct opengl_funcs, p_glAlphaFragmentOp1ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glAlphaFragmentOp2ATI", offsetof(struct opengl_funcs, p_glAlphaFragmentOp2ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glAlphaFragmentOp3ATI", offsetof(struct opengl_funcs, p_glAlphaFragmentOp3ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glAlphaFuncx", offsetof(struct opengl_funcs, p_glAlphaFuncx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glAlphaFuncxOES", offsetof(struct opengl_funcs, p_glAlphaFuncxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glAlphaToCoverageDitherControlNV", offsetof(struct opengl_funcs, p_glAlphaToCoverageDitherControlNV), 0, 0, { GL_NV_alpha_to_coverage_dither_control, GL_EXTENSION_COUNT }}, + { "glApplyFramebufferAttachmentCMAAINTEL", offsetof(struct opengl_funcs, p_glApplyFramebufferAttachmentCMAAINTEL), 0, 0, { GL_INTEL_framebuffer_CMAA, GL_EXTENSION_COUNT }}, + { "glApplyTextureEXT", offsetof(struct opengl_funcs, p_glApplyTextureEXT), 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, + { "glAreProgramsResidentNV", offsetof(struct opengl_funcs, p_glAreProgramsResidentNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glAreTexturesResidentEXT", offsetof(struct opengl_funcs, p_glAreTexturesResidentEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glArrayElementEXT", offsetof(struct opengl_funcs, p_glArrayElementEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glArrayObjectATI", offsetof(struct opengl_funcs, p_glArrayObjectATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glAsyncCopyBufferSubDataNVX", offsetof(struct opengl_funcs, p_glAsyncCopyBufferSubDataNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glAsyncCopyImageSubDataNVX", offsetof(struct opengl_funcs, p_glAsyncCopyImageSubDataNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glAsyncMarkerSGIX", offsetof(struct opengl_funcs, p_glAsyncMarkerSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glAttachObjectARB", offsetof(struct opengl_funcs, p_glAttachObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glAttachShader", offsetof(struct opengl_funcs, p_glAttachShader), 2, 0, { GL_EXTENSION_COUNT }}, + { "glBeginConditionalRender", offsetof(struct opengl_funcs, p_glBeginConditionalRender), 3, 0, { GL_EXTENSION_COUNT }}, + { "glBeginConditionalRenderNV", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNV), 0, 0, { GL_NV_conditional_render, GL_EXTENSION_COUNT }}, + { "glBeginConditionalRenderNVX", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNVX), 0, 0, { GL_NVX_conditional_render, GL_EXTENSION_COUNT }}, + { "glBeginFragmentShaderATI", offsetof(struct opengl_funcs, p_glBeginFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glBeginOcclusionQueryNV", offsetof(struct opengl_funcs, p_glBeginOcclusionQueryNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glBeginPerfMonitorAMD", offsetof(struct opengl_funcs, p_glBeginPerfMonitorAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glBeginPerfQueryINTEL", offsetof(struct opengl_funcs, p_glBeginPerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glBeginQuery", offsetof(struct opengl_funcs, p_glBeginQuery), 1, 5, { GL_EXTENSION_COUNT }}, + { "glBeginQueryARB", offsetof(struct opengl_funcs, p_glBeginQueryARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glBeginQueryIndexed", offsetof(struct opengl_funcs, p_glBeginQueryIndexed), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glBeginTransformFeedback", offsetof(struct opengl_funcs, p_glBeginTransformFeedback), 3, 0, { GL_EXTENSION_COUNT }}, + { "glBeginTransformFeedbackEXT", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBeginTransformFeedbackNV", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBeginVertexShaderEXT", offsetof(struct opengl_funcs, p_glBeginVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBeginVideoCaptureNV", offsetof(struct opengl_funcs, p_glBeginVideoCaptureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glBindAttribLocation", offsetof(struct opengl_funcs, p_glBindAttribLocation), 2, 0, { GL_EXTENSION_COUNT }}, + { "glBindAttribLocationARB", offsetof(struct opengl_funcs, p_glBindAttribLocationARB), 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindBuffer", offsetof(struct opengl_funcs, p_glBindBuffer), 1, 5, { GL_EXTENSION_COUNT }}, + { "glBindBufferARB", offsetof(struct opengl_funcs, p_glBindBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glBindBufferBase", offsetof(struct opengl_funcs, p_glBindBufferBase), 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glBindBufferBaseEXT", offsetof(struct opengl_funcs, p_glBindBufferBaseEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferBaseNV", offsetof(struct opengl_funcs, p_glBindBufferBaseNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferOffsetEXT", offsetof(struct opengl_funcs, p_glBindBufferOffsetEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferOffsetNV", offsetof(struct opengl_funcs, p_glBindBufferOffsetNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferRange", offsetof(struct opengl_funcs, p_glBindBufferRange), 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glBindBufferRangeEXT", offsetof(struct opengl_funcs, p_glBindBufferRangeEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferRangeNV", offsetof(struct opengl_funcs, p_glBindBufferRangeNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBuffersBase", offsetof(struct opengl_funcs, p_glBindBuffersBase), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindBuffersRange", offsetof(struct opengl_funcs, p_glBindBuffersRange), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindFragDataLocation", offsetof(struct opengl_funcs, p_glBindFragDataLocation), 3, 0, { GL_EXTENSION_COUNT }}, + { "glBindFragDataLocationEXT", offsetof(struct opengl_funcs, p_glBindFragDataLocationEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glBindFragDataLocationIndexed", offsetof(struct opengl_funcs, p_glBindFragDataLocationIndexed), 3, 3, { GL_ARB_blend_func_extended, GL_EXTENSION_COUNT }}, + { "glBindFragmentShaderATI", offsetof(struct opengl_funcs, p_glBindFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glBindFramebuffer", offsetof(struct opengl_funcs, p_glBindFramebuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindFramebufferEXT", offsetof(struct opengl_funcs, p_glBindFramebufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindImageTexture", offsetof(struct opengl_funcs, p_glBindImageTexture), 4, 2, { GL_ARB_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glBindImageTextureEXT", offsetof(struct opengl_funcs, p_glBindImageTextureEXT), 0, 0, { GL_EXT_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glBindImageTextures", offsetof(struct opengl_funcs, p_glBindImageTextures), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindLightParameterEXT", offsetof(struct opengl_funcs, p_glBindLightParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindMaterialParameterEXT", offsetof(struct opengl_funcs, p_glBindMaterialParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindMultiTextureEXT", offsetof(struct opengl_funcs, p_glBindMultiTextureEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glBindParameterEXT", offsetof(struct opengl_funcs, p_glBindParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindProgramARB", offsetof(struct opengl_funcs, p_glBindProgramARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glBindProgramNV", offsetof(struct opengl_funcs, p_glBindProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glBindProgramPipeline", offsetof(struct opengl_funcs, p_glBindProgramPipeline), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glBindRenderbuffer", offsetof(struct opengl_funcs, p_glBindRenderbuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindRenderbufferEXT", offsetof(struct opengl_funcs, p_glBindRenderbufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindSampler", offsetof(struct opengl_funcs, p_glBindSampler), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glBindSamplers", offsetof(struct opengl_funcs, p_glBindSamplers), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindShadingRateImageNV", offsetof(struct opengl_funcs, p_glBindShadingRateImageNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glBindTexGenParameterEXT", offsetof(struct opengl_funcs, p_glBindTexGenParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindTextureEXT", offsetof(struct opengl_funcs, p_glBindTextureEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glBindTextureUnit", offsetof(struct opengl_funcs, p_glBindTextureUnit), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glBindTextureUnitParameterEXT", offsetof(struct opengl_funcs, p_glBindTextureUnitParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindTextures", offsetof(struct opengl_funcs, p_glBindTextures), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindTransformFeedback", offsetof(struct opengl_funcs, p_glBindTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glBindTransformFeedbackNV", offsetof(struct opengl_funcs, p_glBindTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glBindVertexArray", offsetof(struct opengl_funcs, p_glBindVertexArray), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glBindVertexArrayAPPLE", offsetof(struct opengl_funcs, p_glBindVertexArrayAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glBindVertexBuffer", offsetof(struct opengl_funcs, p_glBindVertexBuffer), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glBindVertexBuffers", offsetof(struct opengl_funcs, p_glBindVertexBuffers), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindVertexShaderEXT", offsetof(struct opengl_funcs, p_glBindVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindVideoCaptureStreamBufferNV", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamBufferNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glBindVideoCaptureStreamTextureNV", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamTextureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glBinormal3bEXT", offsetof(struct opengl_funcs, p_glBinormal3bEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3bvEXT", offsetof(struct opengl_funcs, p_glBinormal3bvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3dEXT", offsetof(struct opengl_funcs, p_glBinormal3dEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3dvEXT", offsetof(struct opengl_funcs, p_glBinormal3dvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3fEXT", offsetof(struct opengl_funcs, p_glBinormal3fEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3fvEXT", offsetof(struct opengl_funcs, p_glBinormal3fvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3iEXT", offsetof(struct opengl_funcs, p_glBinormal3iEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3ivEXT", offsetof(struct opengl_funcs, p_glBinormal3ivEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3sEXT", offsetof(struct opengl_funcs, p_glBinormal3sEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3svEXT", offsetof(struct opengl_funcs, p_glBinormal3svEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormalPointerEXT", offsetof(struct opengl_funcs, p_glBinormalPointerEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBitmapxOES", offsetof(struct opengl_funcs, p_glBitmapxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glBlendBarrier", offsetof(struct opengl_funcs, p_glBlendBarrier), 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, + { "glBlendBarrierKHR", offsetof(struct opengl_funcs, p_glBlendBarrierKHR), 0, 0, { GL_KHR_blend_equation_advanced, GL_EXTENSION_COUNT }}, + { "glBlendBarrierNV", offsetof(struct opengl_funcs, p_glBlendBarrierNV), 0, 0, { GL_NV_blend_equation_advanced, GL_EXTENSION_COUNT }}, + { "glBlendColor", offsetof(struct opengl_funcs, p_glBlendColor), 1, 4, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glBlendColorEXT", offsetof(struct opengl_funcs, p_glBlendColorEXT), 0, 0, { GL_EXT_blend_color, GL_EXTENSION_COUNT }}, + { "glBlendColorxOES", offsetof(struct opengl_funcs, p_glBlendColorxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glBlendEquation", offsetof(struct opengl_funcs, p_glBlendEquation), 1, 4, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glBlendEquationEXT", offsetof(struct opengl_funcs, p_glBlendEquationEXT), 0, 0, { GL_EXT_blend_minmax, GL_EXTENSION_COUNT }}, + { "glBlendEquationIndexedAMD", offsetof(struct opengl_funcs, p_glBlendEquationIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparate", offsetof(struct opengl_funcs, p_glBlendEquationSeparate), 2, 0, { GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparateEXT", offsetof(struct opengl_funcs, p_glBlendEquationSeparateEXT), 0, 0, { GL_EXT_blend_equation_separate, GL_ATI_blend_equation_separate, GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparateIndexedAMD", offsetof(struct opengl_funcs, p_glBlendEquationSeparateIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparatei", offsetof(struct opengl_funcs, p_glBlendEquationSeparatei), 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparateiARB", offsetof(struct opengl_funcs, p_glBlendEquationSeparateiARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendEquationi", offsetof(struct opengl_funcs, p_glBlendEquationi), 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendEquationiARB", offsetof(struct opengl_funcs, p_glBlendEquationiARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFuncIndexedAMD", offsetof(struct opengl_funcs, p_glBlendFuncIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparate", offsetof(struct opengl_funcs, p_glBlendFuncSeparate), 1, 4, { GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateEXT", offsetof(struct opengl_funcs, p_glBlendFuncSeparateEXT), 0, 0, { GL_EXT_blend_func_separate, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateINGR", offsetof(struct opengl_funcs, p_glBlendFuncSeparateINGR), 0, 0, { GL_INGR_blend_func_separate, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateIndexedAMD", offsetof(struct opengl_funcs, p_glBlendFuncSeparateIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparatei", offsetof(struct opengl_funcs, p_glBlendFuncSeparatei), 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateiARB", offsetof(struct opengl_funcs, p_glBlendFuncSeparateiARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFunci", offsetof(struct opengl_funcs, p_glBlendFunci), 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendFunciARB", offsetof(struct opengl_funcs, p_glBlendFunciARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendParameteriNV", offsetof(struct opengl_funcs, p_glBlendParameteriNV), 0, 0, { GL_NV_blend_equation_advanced, GL_EXTENSION_COUNT }}, + { "glBlitFramebuffer", offsetof(struct opengl_funcs, p_glBlitFramebuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBlitFramebufferEXT", offsetof(struct opengl_funcs, p_glBlitFramebufferEXT), 0, 0, { GL_EXT_framebuffer_blit, GL_EXTENSION_COUNT }}, + { "glBlitFramebufferLayerEXT", offsetof(struct opengl_funcs, p_glBlitFramebufferLayerEXT), 0, 0, { GL_EXT_framebuffer_blit_layers, GL_EXTENSION_COUNT }}, + { "glBlitFramebufferLayersEXT", offsetof(struct opengl_funcs, p_glBlitFramebufferLayersEXT), 0, 0, { GL_EXT_framebuffer_blit_layers, GL_EXTENSION_COUNT }}, + { "glBlitNamedFramebuffer", offsetof(struct opengl_funcs, p_glBlitNamedFramebuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glBufferAddressRangeNV", offsetof(struct opengl_funcs, p_glBufferAddressRangeNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glBufferAttachMemoryNV", offsetof(struct opengl_funcs, p_glBufferAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glBufferData", offsetof(struct opengl_funcs, p_glBufferData), 1, 5, { GL_EXTENSION_COUNT }}, + { "glBufferDataARB", offsetof(struct opengl_funcs, p_glBufferDataARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glBufferPageCommitmentARB", offsetof(struct opengl_funcs, p_glBufferPageCommitmentARB), 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, + { "glBufferPageCommitmentMemNV", offsetof(struct opengl_funcs, p_glBufferPageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glBufferParameteriAPPLE", offsetof(struct opengl_funcs, p_glBufferParameteriAPPLE), 0, 0, { GL_APPLE_flush_buffer_range, GL_EXTENSION_COUNT }}, + { "glBufferRegionEnabled", offsetof(struct opengl_funcs, p_glBufferRegionEnabled), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glBufferStorage", offsetof(struct opengl_funcs, p_glBufferStorage), 4, 4, { GL_ARB_buffer_storage, GL_EXTENSION_COUNT }}, + { "glBufferStorageExternalEXT", offsetof(struct opengl_funcs, p_glBufferStorageExternalEXT), 0, 0, { GL_EXT_external_buffer, GL_EXTENSION_COUNT }}, + { "glBufferStorageMemEXT", offsetof(struct opengl_funcs, p_glBufferStorageMemEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glBufferSubData", offsetof(struct opengl_funcs, p_glBufferSubData), 1, 5, { GL_EXTENSION_COUNT }}, + { "glBufferSubDataARB", offsetof(struct opengl_funcs, p_glBufferSubDataARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glCallCommandListNV", offsetof(struct opengl_funcs, p_glCallCommandListNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCheckFramebufferStatus", offsetof(struct opengl_funcs, p_glCheckFramebufferStatus), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glCheckFramebufferStatusEXT", offsetof(struct opengl_funcs, p_glCheckFramebufferStatusEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glCheckNamedFramebufferStatus", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatus), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCheckNamedFramebufferStatusEXT", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatusEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClampColor", offsetof(struct opengl_funcs, p_glClampColor), 3, 0, { GL_EXTENSION_COUNT }}, + { "glClampColorARB", offsetof(struct opengl_funcs, p_glClampColorARB), 0, 0, { GL_ARB_color_buffer_float, GL_EXTENSION_COUNT }}, + { "glClearAccumxOES", offsetof(struct opengl_funcs, p_glClearAccumxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glClearBufferData", offsetof(struct opengl_funcs, p_glClearBufferData), 4, 3, { GL_ARB_clear_buffer_object, GL_EXTENSION_COUNT }}, + { "glClearBufferSubData", offsetof(struct opengl_funcs, p_glClearBufferSubData), 4, 3, { GL_ARB_clear_buffer_object, GL_EXTENSION_COUNT }}, + { "glClearBufferfi", offsetof(struct opengl_funcs, p_glClearBufferfi), 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearBufferfv", offsetof(struct opengl_funcs, p_glClearBufferfv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearBufferiv", offsetof(struct opengl_funcs, p_glClearBufferiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearBufferuiv", offsetof(struct opengl_funcs, p_glClearBufferuiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearColorIiEXT", offsetof(struct opengl_funcs, p_glClearColorIiEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glClearColorIuiEXT", offsetof(struct opengl_funcs, p_glClearColorIuiEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glClearColorx", offsetof(struct opengl_funcs, p_glClearColorx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClearColorxOES", offsetof(struct opengl_funcs, p_glClearColorxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glClearDepthdNV", offsetof(struct opengl_funcs, p_glClearDepthdNV), 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, + { "glClearDepthf", offsetof(struct opengl_funcs, p_glClearDepthf), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glClearDepthfOES", offsetof(struct opengl_funcs, p_glClearDepthfOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glClearDepthx", offsetof(struct opengl_funcs, p_glClearDepthx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClearDepthxOES", offsetof(struct opengl_funcs, p_glClearDepthxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferData", offsetof(struct opengl_funcs, p_glClearNamedBufferData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferDataEXT", offsetof(struct opengl_funcs, p_glClearNamedBufferDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferSubData", offsetof(struct opengl_funcs, p_glClearNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferSubDataEXT", offsetof(struct opengl_funcs, p_glClearNamedBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferfi", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfi), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferfv", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferiv", offsetof(struct opengl_funcs, p_glClearNamedFramebufferiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferuiv", offsetof(struct opengl_funcs, p_glClearNamedFramebufferuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearTexImage", offsetof(struct opengl_funcs, p_glClearTexImage), 4, 4, { GL_ARB_clear_texture, GL_EXTENSION_COUNT }}, + { "glClearTexSubImage", offsetof(struct opengl_funcs, p_glClearTexSubImage), 4, 4, { GL_ARB_clear_texture, GL_EXTENSION_COUNT }}, + { "glClientActiveTexture", offsetof(struct opengl_funcs, p_glClientActiveTexture), 1, 3, { GL_EXTENSION_COUNT }}, + { "glClientActiveTextureARB", offsetof(struct opengl_funcs, p_glClientActiveTextureARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glClientActiveVertexStreamATI", offsetof(struct opengl_funcs, p_glClientActiveVertexStreamATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glClientAttribDefaultEXT", offsetof(struct opengl_funcs, p_glClientAttribDefaultEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClientWaitSemaphoreui64NVX", offsetof(struct opengl_funcs, p_glClientWaitSemaphoreui64NVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glClientWaitSync", offsetof(struct opengl_funcs, p_glClientWaitSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glClipControl", offsetof(struct opengl_funcs, p_glClipControl), 4, 5, { GL_ARB_clip_control, GL_EXTENSION_COUNT }}, + { "glClipPlanef", offsetof(struct opengl_funcs, p_glClipPlanef), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClipPlanefOES", offsetof(struct opengl_funcs, p_glClipPlanefOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glClipPlanex", offsetof(struct opengl_funcs, p_glClipPlanex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClipPlanexOES", offsetof(struct opengl_funcs, p_glClipPlanexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor3fVertex3fSUN", offsetof(struct opengl_funcs, p_glColor3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glColor3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor3hNV", offsetof(struct opengl_funcs, p_glColor3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor3hvNV", offsetof(struct opengl_funcs, p_glColor3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor3xOES", offsetof(struct opengl_funcs, p_glColor3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor3xvOES", offsetof(struct opengl_funcs, p_glColor3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4hNV", offsetof(struct opengl_funcs, p_glColor4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor4hvNV", offsetof(struct opengl_funcs, p_glColor4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex2fSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex2fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex2fvSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex2fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex3fSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex3fvSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4x", offsetof(struct opengl_funcs, p_glColor4x), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glColor4xOES", offsetof(struct opengl_funcs, p_glColor4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor4xvOES", offsetof(struct opengl_funcs, p_glColor4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColorFormatNV", offsetof(struct opengl_funcs, p_glColorFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glColorFragmentOp1ATI", offsetof(struct opengl_funcs, p_glColorFragmentOp1ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glColorFragmentOp2ATI", offsetof(struct opengl_funcs, p_glColorFragmentOp2ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glColorFragmentOp3ATI", offsetof(struct opengl_funcs, p_glColorFragmentOp3ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glColorMaskIndexedEXT", offsetof(struct opengl_funcs, p_glColorMaskIndexedEXT), 0, 0, { GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glColorMaski", offsetof(struct opengl_funcs, p_glColorMaski), 3, 0, { GL_EXTENSION_COUNT }}, + { "glColorP3ui", offsetof(struct opengl_funcs, p_glColorP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorP3uiv", offsetof(struct opengl_funcs, p_glColorP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorP4ui", offsetof(struct opengl_funcs, p_glColorP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorP4uiv", offsetof(struct opengl_funcs, p_glColorP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorPointerEXT", offsetof(struct opengl_funcs, p_glColorPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glColorPointerListIBM", offsetof(struct opengl_funcs, p_glColorPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glColorPointervINTEL", offsetof(struct opengl_funcs, p_glColorPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glColorSubTable", offsetof(struct opengl_funcs, p_glColorSubTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorSubTableEXT", offsetof(struct opengl_funcs, p_glColorSubTableEXT), 0, 0, { GL_EXT_color_subtable, GL_EXTENSION_COUNT }}, + { "glColorTable", offsetof(struct opengl_funcs, p_glColorTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorTableEXT", offsetof(struct opengl_funcs, p_glColorTableEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glColorTableParameterfv", offsetof(struct opengl_funcs, p_glColorTableParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorTableParameterfvSGI", offsetof(struct opengl_funcs, p_glColorTableParameterfvSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glColorTableParameteriv", offsetof(struct opengl_funcs, p_glColorTableParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorTableParameterivSGI", offsetof(struct opengl_funcs, p_glColorTableParameterivSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glColorTableSGI", offsetof(struct opengl_funcs, p_glColorTableSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glCombinerInputNV", offsetof(struct opengl_funcs, p_glCombinerInputNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerOutputNV", offsetof(struct opengl_funcs, p_glCombinerOutputNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameterfNV", offsetof(struct opengl_funcs, p_glCombinerParameterfNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameterfvNV", offsetof(struct opengl_funcs, p_glCombinerParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameteriNV", offsetof(struct opengl_funcs, p_glCombinerParameteriNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameterivNV", offsetof(struct opengl_funcs, p_glCombinerParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerStageParameterfvNV", offsetof(struct opengl_funcs, p_glCombinerStageParameterfvNV), 0, 0, { GL_NV_register_combiners2, GL_EXTENSION_COUNT }}, + { "glCommandListSegmentsNV", offsetof(struct opengl_funcs, p_glCommandListSegmentsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCompileCommandListNV", offsetof(struct opengl_funcs, p_glCompileCommandListNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCompileShader", offsetof(struct opengl_funcs, p_glCompileShader), 2, 0, { GL_EXTENSION_COUNT }}, + { "glCompileShaderARB", offsetof(struct opengl_funcs, p_glCompileShaderARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glCompileShaderIncludeARB", offsetof(struct opengl_funcs, p_glCompileShaderIncludeARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTexImage1D", offsetof(struct opengl_funcs, p_glCompressedTexImage1D), 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexImage1DARB", offsetof(struct opengl_funcs, p_glCompressedTexImage1DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexImage2D", offsetof(struct opengl_funcs, p_glCompressedTexImage2D), 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexImage2DARB", offsetof(struct opengl_funcs, p_glCompressedTexImage2DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexImage3D", offsetof(struct opengl_funcs, p_glCompressedTexImage3D), 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexImage3DARB", offsetof(struct opengl_funcs, p_glCompressedTexImage3DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage1D", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1D), 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage1DARB", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage2D", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2D), 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage2DARB", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage3D", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3D), 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage3DARB", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTextureImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage1D", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage2D", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage3D", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glConservativeRasterParameterfNV", offsetof(struct opengl_funcs, p_glConservativeRasterParameterfNV), 0, 0, { GL_NV_conservative_raster_dilate, GL_EXTENSION_COUNT }}, + { "glConservativeRasterParameteriNV", offsetof(struct opengl_funcs, p_glConservativeRasterParameteriNV), 0, 0, { GL_NV_conservative_raster_pre_snap_triangles, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter1D", offsetof(struct opengl_funcs, p_glConvolutionFilter1D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter1DEXT", offsetof(struct opengl_funcs, p_glConvolutionFilter1DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter2D", offsetof(struct opengl_funcs, p_glConvolutionFilter2D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter2DEXT", offsetof(struct opengl_funcs, p_glConvolutionFilter2DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterf", offsetof(struct opengl_funcs, p_glConvolutionParameterf), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterfEXT", offsetof(struct opengl_funcs, p_glConvolutionParameterfEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterfv", offsetof(struct opengl_funcs, p_glConvolutionParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterfvEXT", offsetof(struct opengl_funcs, p_glConvolutionParameterfvEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameteri", offsetof(struct opengl_funcs, p_glConvolutionParameteri), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameteriEXT", offsetof(struct opengl_funcs, p_glConvolutionParameteriEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameteriv", offsetof(struct opengl_funcs, p_glConvolutionParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterivEXT", offsetof(struct opengl_funcs, p_glConvolutionParameterivEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterxOES", offsetof(struct opengl_funcs, p_glConvolutionParameterxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterxvOES", offsetof(struct opengl_funcs, p_glConvolutionParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glCopyBufferSubData", offsetof(struct opengl_funcs, p_glCopyBufferSubData), 3, 1, { GL_ARB_copy_buffer, GL_EXT_copy_buffer, GL_EXTENSION_COUNT }}, + { "glCopyColorSubTable", offsetof(struct opengl_funcs, p_glCopyColorSubTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyColorSubTableEXT", offsetof(struct opengl_funcs, p_glCopyColorSubTableEXT), 0, 0, { GL_EXT_color_subtable, GL_EXTENSION_COUNT }}, + { "glCopyColorTable", offsetof(struct opengl_funcs, p_glCopyColorTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyColorTableSGI", offsetof(struct opengl_funcs, p_glCopyColorTableSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter1D", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter1DEXT", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter2D", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter2DEXT", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glCopyImageSubData", offsetof(struct opengl_funcs, p_glCopyImageSubData), 4, 3, { GL_ARB_copy_image, GL_EXTENSION_COUNT }}, + { "glCopyImageSubDataNV", offsetof(struct opengl_funcs, p_glCopyImageSubDataNV), 0, 0, { GL_NV_copy_image, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexImage1DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexImage2DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyNamedBufferSubData", offsetof(struct opengl_funcs, p_glCopyNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyPathNV", offsetof(struct opengl_funcs, p_glCopyPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCopyTexImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTexImage1DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTexImage2DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTexSubImage1DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTexSubImage2DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage3D", offsetof(struct opengl_funcs, p_glCopyTexSubImage3D), 1, 2, { GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glCopyTexSubImage3DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTextureImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTextureImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTextureImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage1D", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage2D", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage3D", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage3DEXT", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCoverFillPathInstancedNV", offsetof(struct opengl_funcs, p_glCoverFillPathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverFillPathNV", offsetof(struct opengl_funcs, p_glCoverFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverStrokePathInstancedNV", offsetof(struct opengl_funcs, p_glCoverStrokePathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverStrokePathNV", offsetof(struct opengl_funcs, p_glCoverStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverageModulationNV", offsetof(struct opengl_funcs, p_glCoverageModulationNV), 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glCoverageModulationTableNV", offsetof(struct opengl_funcs, p_glCoverageModulationTableNV), 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glCreateBuffers", offsetof(struct opengl_funcs, p_glCreateBuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateCommandListsNV", offsetof(struct opengl_funcs, p_glCreateCommandListsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCreateFramebuffers", offsetof(struct opengl_funcs, p_glCreateFramebuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateMemoryObjectsEXT", offsetof(struct opengl_funcs, p_glCreateMemoryObjectsEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glCreatePerfQueryINTEL", offsetof(struct opengl_funcs, p_glCreatePerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glCreateProgram", offsetof(struct opengl_funcs, p_glCreateProgram), 2, 0, { GL_EXTENSION_COUNT }}, + { "glCreateProgramObjectARB", offsetof(struct opengl_funcs, p_glCreateProgramObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateProgramPipelines", offsetof(struct opengl_funcs, p_glCreateProgramPipelines), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateProgressFenceNVX", offsetof(struct opengl_funcs, p_glCreateProgressFenceNVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glCreateQueries", offsetof(struct opengl_funcs, p_glCreateQueries), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateRenderbuffers", offsetof(struct opengl_funcs, p_glCreateRenderbuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateSamplers", offsetof(struct opengl_funcs, p_glCreateSamplers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateSemaphoresNV", offsetof(struct opengl_funcs, p_glCreateSemaphoresNV), 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, + { "glCreateShader", offsetof(struct opengl_funcs, p_glCreateShader), 2, 0, { GL_EXTENSION_COUNT }}, + { "glCreateShaderObjectARB", offsetof(struct opengl_funcs, p_glCreateShaderObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateShaderProgramEXT", offsetof(struct opengl_funcs, p_glCreateShaderProgramEXT), 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateShaderProgramv", offsetof(struct opengl_funcs, p_glCreateShaderProgramv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateStatesNV", offsetof(struct opengl_funcs, p_glCreateStatesNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCreateSyncFromCLeventARB", offsetof(struct opengl_funcs, p_glCreateSyncFromCLeventARB), 0, 0, { GL_ARB_cl_event, GL_EXTENSION_COUNT }}, + { "glCreateTextures", offsetof(struct opengl_funcs, p_glCreateTextures), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateTransformFeedbacks", offsetof(struct opengl_funcs, p_glCreateTransformFeedbacks), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateVertexArrays", offsetof(struct opengl_funcs, p_glCreateVertexArrays), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCullParameterdvEXT", offsetof(struct opengl_funcs, p_glCullParameterdvEXT), 0, 0, { GL_EXT_cull_vertex, GL_EXTENSION_COUNT }}, + { "glCullParameterfvEXT", offsetof(struct opengl_funcs, p_glCullParameterfvEXT), 0, 0, { GL_EXT_cull_vertex, GL_EXTENSION_COUNT }}, + { "glCurrentPaletteMatrixARB", offsetof(struct opengl_funcs, p_glCurrentPaletteMatrixARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glDebugMessageCallback", offsetof(struct opengl_funcs, p_glDebugMessageCallback), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glDebugMessageCallbackAMD", offsetof(struct opengl_funcs, p_glDebugMessageCallbackAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageCallbackARB", offsetof(struct opengl_funcs, p_glDebugMessageCallbackARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageControl", offsetof(struct opengl_funcs, p_glDebugMessageControl), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glDebugMessageControlARB", offsetof(struct opengl_funcs, p_glDebugMessageControlARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageEnableAMD", offsetof(struct opengl_funcs, p_glDebugMessageEnableAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageInsert", offsetof(struct opengl_funcs, p_glDebugMessageInsert), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glDebugMessageInsertAMD", offsetof(struct opengl_funcs, p_glDebugMessageInsertAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageInsertARB", offsetof(struct opengl_funcs, p_glDebugMessageInsertARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glDeformSGIX", offsetof(struct opengl_funcs, p_glDeformSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glDeformationMap3dSGIX", offsetof(struct opengl_funcs, p_glDeformationMap3dSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glDeformationMap3fSGIX", offsetof(struct opengl_funcs, p_glDeformationMap3fSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glDeleteAsyncMarkersSGIX", offsetof(struct opengl_funcs, p_glDeleteAsyncMarkersSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glDeleteBufferRegion", offsetof(struct opengl_funcs, p_glDeleteBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glDeleteBuffers", offsetof(struct opengl_funcs, p_glDeleteBuffers), 1, 5, { GL_EXTENSION_COUNT }}, + { "glDeleteBuffersARB", offsetof(struct opengl_funcs, p_glDeleteBuffersARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteCommandListsNV", offsetof(struct opengl_funcs, p_glDeleteCommandListsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDeleteFencesAPPLE", offsetof(struct opengl_funcs, p_glDeleteFencesAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glDeleteFencesNV", offsetof(struct opengl_funcs, p_glDeleteFencesNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glDeleteFragmentShaderATI", offsetof(struct opengl_funcs, p_glDeleteFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glDeleteFramebuffers", offsetof(struct opengl_funcs, p_glDeleteFramebuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteFramebuffersEXT", offsetof(struct opengl_funcs, p_glDeleteFramebuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteMemoryObjectsEXT", offsetof(struct opengl_funcs, p_glDeleteMemoryObjectsEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glDeleteNamedStringARB", offsetof(struct opengl_funcs, p_glDeleteNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glDeleteNamesAMD", offsetof(struct opengl_funcs, p_glDeleteNamesAMD), 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, + { "glDeleteObjectARB", offsetof(struct opengl_funcs, p_glDeleteObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glDeleteObjectBufferATI", offsetof(struct opengl_funcs, p_glDeleteObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glDeleteOcclusionQueriesNV", offsetof(struct opengl_funcs, p_glDeleteOcclusionQueriesNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glDeletePathsNV", offsetof(struct opengl_funcs, p_glDeletePathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glDeletePerfMonitorsAMD", offsetof(struct opengl_funcs, p_glDeletePerfMonitorsAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glDeletePerfQueryINTEL", offsetof(struct opengl_funcs, p_glDeletePerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glDeleteProgram", offsetof(struct opengl_funcs, p_glDeleteProgram), 2, 0, { GL_EXTENSION_COUNT }}, + { "glDeleteProgramPipelines", offsetof(struct opengl_funcs, p_glDeleteProgramPipelines), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glDeleteProgramsARB", offsetof(struct opengl_funcs, p_glDeleteProgramsARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glDeleteProgramsNV", offsetof(struct opengl_funcs, p_glDeleteProgramsNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glDeleteQueries", offsetof(struct opengl_funcs, p_glDeleteQueries), 1, 5, { GL_EXTENSION_COUNT }}, + { "glDeleteQueriesARB", offsetof(struct opengl_funcs, p_glDeleteQueriesARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glDeleteQueryResourceTagNV", offsetof(struct opengl_funcs, p_glDeleteQueryResourceTagNV), 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, + { "glDeleteRenderbuffers", offsetof(struct opengl_funcs, p_glDeleteRenderbuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteRenderbuffersEXT", offsetof(struct opengl_funcs, p_glDeleteRenderbuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteSamplers", offsetof(struct opengl_funcs, p_glDeleteSamplers), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glDeleteSemaphoresEXT", offsetof(struct opengl_funcs, p_glDeleteSemaphoresEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glDeleteShader", offsetof(struct opengl_funcs, p_glDeleteShader), 2, 0, { GL_EXTENSION_COUNT }}, + { "glDeleteStatesNV", offsetof(struct opengl_funcs, p_glDeleteStatesNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDeleteSync", offsetof(struct opengl_funcs, p_glDeleteSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glDeleteTexturesEXT", offsetof(struct opengl_funcs, p_glDeleteTexturesEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glDeleteTransformFeedbacks", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacks), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDeleteTransformFeedbacksNV", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacksNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDeleteVertexArrays", offsetof(struct opengl_funcs, p_glDeleteVertexArrays), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glDeleteVertexArraysAPPLE", offsetof(struct opengl_funcs, p_glDeleteVertexArraysAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glDeleteVertexShaderEXT", offsetof(struct opengl_funcs, p_glDeleteVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glDepthBoundsEXT", offsetof(struct opengl_funcs, p_glDepthBoundsEXT), 0, 0, { GL_EXT_depth_bounds_test, GL_EXTENSION_COUNT }}, + { "glDepthBoundsdNV", offsetof(struct opengl_funcs, p_glDepthBoundsdNV), 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, + { "glDepthRangeArraydvNV", offsetof(struct opengl_funcs, p_glDepthRangeArraydvNV), 0, 0, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangeArrayv", offsetof(struct opengl_funcs, p_glDepthRangeArrayv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangeIndexed", offsetof(struct opengl_funcs, p_glDepthRangeIndexed), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangeIndexeddNV", offsetof(struct opengl_funcs, p_glDepthRangeIndexeddNV), 0, 0, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangedNV", offsetof(struct opengl_funcs, p_glDepthRangedNV), 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, + { "glDepthRangef", offsetof(struct opengl_funcs, p_glDepthRangef), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glDepthRangefOES", offsetof(struct opengl_funcs, p_glDepthRangefOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glDepthRangex", offsetof(struct opengl_funcs, p_glDepthRangex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glDepthRangexOES", offsetof(struct opengl_funcs, p_glDepthRangexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glDetachObjectARB", offsetof(struct opengl_funcs, p_glDetachObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glDetachShader", offsetof(struct opengl_funcs, p_glDetachShader), 2, 0, { GL_EXTENSION_COUNT }}, + { "glDetailTexFuncSGIS", offsetof(struct opengl_funcs, p_glDetailTexFuncSGIS), 0, 0, { GL_SGIS_detail_texture, GL_EXTENSION_COUNT }}, + { "glDisableClientStateIndexedEXT", offsetof(struct opengl_funcs, p_glDisableClientStateIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableClientStateiEXT", offsetof(struct opengl_funcs, p_glDisableClientStateiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableIndexedEXT", offsetof(struct opengl_funcs, p_glDisableIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glDisableVariantClientStateEXT", offsetof(struct opengl_funcs, p_glDisableVariantClientStateEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glDisableVertexArrayAttrib", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttrib), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableVertexArrayAttribEXT", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttribEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableVertexArrayEXT", offsetof(struct opengl_funcs, p_glDisableVertexArrayEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableVertexAttribAPPLE", offsetof(struct opengl_funcs, p_glDisableVertexAttribAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glDisableVertexAttribArray", offsetof(struct opengl_funcs, p_glDisableVertexAttribArray), 2, 0, { GL_EXTENSION_COUNT }}, + { "glDisableVertexAttribArrayARB", offsetof(struct opengl_funcs, p_glDisableVertexAttribArrayARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glDisablei", offsetof(struct opengl_funcs, p_glDisablei), 3, 0, { GL_EXTENSION_COUNT }}, + { "glDispatchCompute", offsetof(struct opengl_funcs, p_glDispatchCompute), 4, 3, { GL_ARB_compute_shader, GL_EXTENSION_COUNT }}, + { "glDispatchComputeGroupSizeARB", offsetof(struct opengl_funcs, p_glDispatchComputeGroupSizeARB), 0, 0, { GL_ARB_compute_variable_group_size, GL_EXTENSION_COUNT }}, + { "glDispatchComputeIndirect", offsetof(struct opengl_funcs, p_glDispatchComputeIndirect), 4, 3, { GL_ARB_compute_shader, GL_EXTENSION_COUNT }}, + { "glDrawArraysEXT", offsetof(struct opengl_funcs, p_glDrawArraysEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glDrawArraysIndirect", offsetof(struct opengl_funcs, p_glDrawArraysIndirect), 4, 0, { GL_ARB_draw_indirect, GL_EXTENSION_COUNT }}, + { "glDrawArraysInstanced", offsetof(struct opengl_funcs, p_glDrawArraysInstanced), 3, 1, { GL_EXTENSION_COUNT }}, + { "glDrawArraysInstancedARB", offsetof(struct opengl_funcs, p_glDrawArraysInstancedARB), 0, 0, { GL_ARB_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawArraysInstancedBaseInstance", offsetof(struct opengl_funcs, p_glDrawArraysInstancedBaseInstance), 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, + { "glDrawArraysInstancedEXT", offsetof(struct opengl_funcs, p_glDrawArraysInstancedEXT), 0, 0, { GL_EXT_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawBufferRegion", offsetof(struct opengl_funcs, p_glDrawBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glDrawBuffers", offsetof(struct opengl_funcs, p_glDrawBuffers), 2, 0, { GL_EXTENSION_COUNT }}, + { "glDrawBuffersARB", offsetof(struct opengl_funcs, p_glDrawBuffersARB), 0, 0, { GL_ARB_draw_buffers, GL_EXTENSION_COUNT }}, + { "glDrawBuffersATI", offsetof(struct opengl_funcs, p_glDrawBuffersATI), 0, 0, { GL_ATI_draw_buffers, GL_EXTENSION_COUNT }}, + { "glDrawCommandsAddressNV", offsetof(struct opengl_funcs, p_glDrawCommandsAddressNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawCommandsNV", offsetof(struct opengl_funcs, p_glDrawCommandsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawCommandsStatesAddressNV", offsetof(struct opengl_funcs, p_glDrawCommandsStatesAddressNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawCommandsStatesNV", offsetof(struct opengl_funcs, p_glDrawCommandsStatesNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawElementArrayAPPLE", offsetof(struct opengl_funcs, p_glDrawElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glDrawElementArrayATI", offsetof(struct opengl_funcs, p_glDrawElementArrayATI), 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, + { "glDrawElementsBaseVertex", offsetof(struct opengl_funcs, p_glDrawElementsBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glDrawElementsIndirect", offsetof(struct opengl_funcs, p_glDrawElementsIndirect), 4, 0, { GL_ARB_draw_indirect, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstanced", offsetof(struct opengl_funcs, p_glDrawElementsInstanced), 3, 1, { GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedARB", offsetof(struct opengl_funcs, p_glDrawElementsInstancedARB), 0, 0, { GL_ARB_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedBaseInstance", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseInstance), 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedBaseVertex", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedBaseVertexBaseInstance", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertexBaseInstance), 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedEXT", offsetof(struct opengl_funcs, p_glDrawElementsInstancedEXT), 0, 0, { GL_EXT_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawMeshArraysSUN", offsetof(struct opengl_funcs, p_glDrawMeshArraysSUN), 0, 0, { GL_SUN_mesh_array, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksEXT", offsetof(struct opengl_funcs, p_glDrawMeshTasksEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksIndirectEXT", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksIndirectNV", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksNV", offsetof(struct opengl_funcs, p_glDrawMeshTasksNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawRangeElementArrayAPPLE", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glDrawRangeElementArrayATI", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayATI), 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, + { "glDrawRangeElements", offsetof(struct opengl_funcs, p_glDrawRangeElements), 1, 2, { GL_EXTENSION_COUNT }}, + { "glDrawRangeElementsBaseVertex", offsetof(struct opengl_funcs, p_glDrawRangeElementsBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glDrawRangeElementsEXT", offsetof(struct opengl_funcs, p_glDrawRangeElementsEXT), 0, 0, { GL_EXT_draw_range_elements, GL_EXTENSION_COUNT }}, + { "glDrawTextureNV", offsetof(struct opengl_funcs, p_glDrawTextureNV), 0, 0, { GL_NV_draw_texture, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedback", offsetof(struct opengl_funcs, p_glDrawTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackInstanced", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackInstanced), 4, 2, { GL_ARB_transform_feedback_instanced, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackNV", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackStream", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStream), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackStreamInstanced", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStreamInstanced), 4, 2, { GL_ARB_transform_feedback_instanced, GL_EXTENSION_COUNT }}, + { "glDrawVkImageNV", offsetof(struct opengl_funcs, p_glDrawVkImageNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glEGLImageTargetTexStorageEXT", offsetof(struct opengl_funcs, p_glEGLImageTargetTexStorageEXT), 0, 0, { GL_EXT_EGL_image_storage, GL_EXTENSION_COUNT }}, + { "glEGLImageTargetTextureStorageEXT", offsetof(struct opengl_funcs, p_glEGLImageTargetTextureStorageEXT), 0, 0, { GL_EXT_EGL_image_storage, GL_EXTENSION_COUNT }}, + { "glEdgeFlagFormatNV", offsetof(struct opengl_funcs, p_glEdgeFlagFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glEdgeFlagPointerEXT", offsetof(struct opengl_funcs, p_glEdgeFlagPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glEdgeFlagPointerListIBM", offsetof(struct opengl_funcs, p_glEdgeFlagPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glElementPointerAPPLE", offsetof(struct opengl_funcs, p_glElementPointerAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glElementPointerATI", offsetof(struct opengl_funcs, p_glElementPointerATI), 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, + { "glEnableClientStateIndexedEXT", offsetof(struct opengl_funcs, p_glEnableClientStateIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableClientStateiEXT", offsetof(struct opengl_funcs, p_glEnableClientStateiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableIndexedEXT", offsetof(struct opengl_funcs, p_glEnableIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glEnableVariantClientStateEXT", offsetof(struct opengl_funcs, p_glEnableVariantClientStateEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glEnableVertexArrayAttrib", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttrib), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableVertexArrayAttribEXT", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttribEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableVertexArrayEXT", offsetof(struct opengl_funcs, p_glEnableVertexArrayEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableVertexAttribAPPLE", offsetof(struct opengl_funcs, p_glEnableVertexAttribAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glEnableVertexAttribArray", offsetof(struct opengl_funcs, p_glEnableVertexAttribArray), 2, 0, { GL_EXTENSION_COUNT }}, + { "glEnableVertexAttribArrayARB", offsetof(struct opengl_funcs, p_glEnableVertexAttribArrayARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glEnablei", offsetof(struct opengl_funcs, p_glEnablei), 3, 0, { GL_EXTENSION_COUNT }}, + { "glEndConditionalRender", offsetof(struct opengl_funcs, p_glEndConditionalRender), 3, 0, { GL_EXTENSION_COUNT }}, + { "glEndConditionalRenderNV", offsetof(struct opengl_funcs, p_glEndConditionalRenderNV), 0, 0, { GL_NV_conditional_render, GL_EXTENSION_COUNT }}, + { "glEndConditionalRenderNVX", offsetof(struct opengl_funcs, p_glEndConditionalRenderNVX), 0, 0, { GL_NVX_conditional_render, GL_EXTENSION_COUNT }}, + { "glEndFragmentShaderATI", offsetof(struct opengl_funcs, p_glEndFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glEndOcclusionQueryNV", offsetof(struct opengl_funcs, p_glEndOcclusionQueryNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glEndPerfMonitorAMD", offsetof(struct opengl_funcs, p_glEndPerfMonitorAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glEndPerfQueryINTEL", offsetof(struct opengl_funcs, p_glEndPerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glEndQuery", offsetof(struct opengl_funcs, p_glEndQuery), 1, 5, { GL_EXTENSION_COUNT }}, + { "glEndQueryARB", offsetof(struct opengl_funcs, p_glEndQueryARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glEndQueryIndexed", offsetof(struct opengl_funcs, p_glEndQueryIndexed), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glEndTransformFeedback", offsetof(struct opengl_funcs, p_glEndTransformFeedback), 3, 0, { GL_EXTENSION_COUNT }}, + { "glEndTransformFeedbackEXT", offsetof(struct opengl_funcs, p_glEndTransformFeedbackEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glEndTransformFeedbackNV", offsetof(struct opengl_funcs, p_glEndTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glEndVertexShaderEXT", offsetof(struct opengl_funcs, p_glEndVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glEndVideoCaptureNV", offsetof(struct opengl_funcs, p_glEndVideoCaptureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glEvalCoord1xOES", offsetof(struct opengl_funcs, p_glEvalCoord1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalCoord1xvOES", offsetof(struct opengl_funcs, p_glEvalCoord1xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalCoord2xOES", offsetof(struct opengl_funcs, p_glEvalCoord2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalCoord2xvOES", offsetof(struct opengl_funcs, p_glEvalCoord2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalMapsNV", offsetof(struct opengl_funcs, p_glEvalMapsNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glEvaluateDepthValuesARB", offsetof(struct opengl_funcs, p_glEvaluateDepthValuesARB), 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, + { "glExecuteProgramNV", offsetof(struct opengl_funcs, p_glExecuteProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glExtractComponentEXT", offsetof(struct opengl_funcs, p_glExtractComponentEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glFeedbackBufferxOES", offsetof(struct opengl_funcs, p_glFeedbackBufferxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glFenceSync", offsetof(struct opengl_funcs, p_glFenceSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glFinalCombinerInputNV", offsetof(struct opengl_funcs, p_glFinalCombinerInputNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glFinishAsyncSGIX", offsetof(struct opengl_funcs, p_glFinishAsyncSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glFinishFenceAPPLE", offsetof(struct opengl_funcs, p_glFinishFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glFinishFenceNV", offsetof(struct opengl_funcs, p_glFinishFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glFinishObjectAPPLE", offsetof(struct opengl_funcs, p_glFinishObjectAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glFinishTextureSUNX", offsetof(struct opengl_funcs, p_glFinishTextureSUNX), 0, 0, { GL_SUNX_constant_data, GL_EXTENSION_COUNT }}, + { "glFlushMappedBufferRange", offsetof(struct opengl_funcs, p_glFlushMappedBufferRange), 3, 0, { GL_ARB_map_buffer_range, GL_EXTENSION_COUNT }}, + { "glFlushMappedBufferRangeAPPLE", offsetof(struct opengl_funcs, p_glFlushMappedBufferRangeAPPLE), 0, 0, { GL_APPLE_flush_buffer_range, GL_EXTENSION_COUNT }}, + { "glFlushMappedNamedBufferRange", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFlushMappedNamedBufferRangeEXT", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRangeEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFlushPixelDataRangeNV", offsetof(struct opengl_funcs, p_glFlushPixelDataRangeNV), 0, 0, { GL_NV_pixel_data_range, GL_EXTENSION_COUNT }}, + { "glFlushRasterSGIX", offsetof(struct opengl_funcs, p_glFlushRasterSGIX), 0, 0, { GL_SGIX_flush_raster, GL_EXTENSION_COUNT }}, + { "glFlushStaticDataIBM", offsetof(struct opengl_funcs, p_glFlushStaticDataIBM), 0, 0, { GL_IBM_static_data, GL_EXTENSION_COUNT }}, + { "glFlushVertexArrayRangeAPPLE", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeAPPLE), 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glFlushVertexArrayRangeNV", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeNV), 0, 0, { GL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glFogCoordFormatNV", offsetof(struct opengl_funcs, p_glFogCoordFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glFogCoordPointer", offsetof(struct opengl_funcs, p_glFogCoordPointer), 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoordPointerEXT", offsetof(struct opengl_funcs, p_glFogCoordPointerEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordPointerListIBM", offsetof(struct opengl_funcs, p_glFogCoordPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glFogCoordd", offsetof(struct opengl_funcs, p_glFogCoordd), 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoorddEXT", offsetof(struct opengl_funcs, p_glFogCoorddEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoorddv", offsetof(struct opengl_funcs, p_glFogCoorddv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoorddvEXT", offsetof(struct opengl_funcs, p_glFogCoorddvEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordf", offsetof(struct opengl_funcs, p_glFogCoordf), 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoordfEXT", offsetof(struct opengl_funcs, p_glFogCoordfEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordfv", offsetof(struct opengl_funcs, p_glFogCoordfv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoordfvEXT", offsetof(struct opengl_funcs, p_glFogCoordfvEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordhNV", offsetof(struct opengl_funcs, p_glFogCoordhNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glFogCoordhvNV", offsetof(struct opengl_funcs, p_glFogCoordhvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glFogFuncSGIS", offsetof(struct opengl_funcs, p_glFogFuncSGIS), 0, 0, { GL_SGIS_fog_function, GL_EXTENSION_COUNT }}, + { "glFogx", offsetof(struct opengl_funcs, p_glFogx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFogxOES", offsetof(struct opengl_funcs, p_glFogxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glFogxv", offsetof(struct opengl_funcs, p_glFogxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFogxvOES", offsetof(struct opengl_funcs, p_glFogxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glFragmentColorMaterialSGIX", offsetof(struct opengl_funcs, p_glFragmentColorMaterialSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentCoverageColorNV", offsetof(struct opengl_funcs, p_glFragmentCoverageColorNV), 0, 0, { GL_NV_fragment_coverage_to_color, GL_EXTENSION_COUNT }}, + { "glFragmentLightModelfSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModelfSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightModelfvSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModelfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightModeliSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModeliSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightModelivSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModelivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightfSGIX", offsetof(struct opengl_funcs, p_glFragmentLightfSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightfvSGIX", offsetof(struct opengl_funcs, p_glFragmentLightfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightiSGIX", offsetof(struct opengl_funcs, p_glFragmentLightiSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightivSGIX", offsetof(struct opengl_funcs, p_glFragmentLightivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialfSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialfSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialfvSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialiSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialiSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialivSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFrameTerminatorGREMEDY", offsetof(struct opengl_funcs, p_glFrameTerminatorGREMEDY), 0, 0, { GL_GREMEDY_frame_terminator, GL_EXTENSION_COUNT }}, + { "glFrameZoomSGIX", offsetof(struct opengl_funcs, p_glFrameZoomSGIX), 0, 0, { GL_SGIX_framezoom, GL_EXTENSION_COUNT }}, + { "glFramebufferDrawBufferEXT", offsetof(struct opengl_funcs, p_glFramebufferDrawBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFramebufferDrawBuffersEXT", offsetof(struct opengl_funcs, p_glFramebufferDrawBuffersEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFramebufferFetchBarrierEXT", offsetof(struct opengl_funcs, p_glFramebufferFetchBarrierEXT), 0, 0, { GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXTENSION_COUNT }}, + { "glFramebufferParameteri", offsetof(struct opengl_funcs, p_glFramebufferParameteri), 4, 3, { GL_ARB_framebuffer_no_attachments, GL_EXTENSION_COUNT }}, + { "glFramebufferParameteriMESA", offsetof(struct opengl_funcs, p_glFramebufferParameteriMESA), 0, 0, { GL_MESA_framebuffer_flip_y, GL_EXTENSION_COUNT }}, + { "glFramebufferReadBufferEXT", offsetof(struct opengl_funcs, p_glFramebufferReadBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFramebufferRenderbuffer", offsetof(struct opengl_funcs, p_glFramebufferRenderbuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferRenderbufferEXT", offsetof(struct opengl_funcs, p_glFramebufferRenderbufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferSampleLocationsfvARB", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvARB), 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, + { "glFramebufferSampleLocationsfvNV", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvNV), 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, + { "glFramebufferSamplePositionsfvAMD", offsetof(struct opengl_funcs, p_glFramebufferSamplePositionsfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glFramebufferShadingRateEXT", offsetof(struct opengl_funcs, p_glFramebufferShadingRateEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture", offsetof(struct opengl_funcs, p_glFramebufferTexture), 3, 2, { GL_EXTENSION_COUNT }}, + { "glFramebufferTexture1D", offsetof(struct opengl_funcs, p_glFramebufferTexture1D), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture1DEXT", offsetof(struct opengl_funcs, p_glFramebufferTexture1DEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture2D", offsetof(struct opengl_funcs, p_glFramebufferTexture2D), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture2DEXT", offsetof(struct opengl_funcs, p_glFramebufferTexture2DEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture3D", offsetof(struct opengl_funcs, p_glFramebufferTexture3D), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture3DEXT", offsetof(struct opengl_funcs, p_glFramebufferTexture3DEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureARB", offsetof(struct opengl_funcs, p_glFramebufferTextureARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureEXT", offsetof(struct opengl_funcs, p_glFramebufferTextureEXT), 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureFaceARB", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureFaceEXT", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceEXT), 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureLayer", offsetof(struct opengl_funcs, p_glFramebufferTextureLayer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureLayerARB", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureLayerEXT", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerEXT), 0, 0, { GL_EXT_texture_array, GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureMultiviewOVR", offsetof(struct opengl_funcs, p_glFramebufferTextureMultiviewOVR), 0, 0, { GL_OVR_multiview, GL_EXTENSION_COUNT }}, + { "glFreeObjectBufferATI", offsetof(struct opengl_funcs, p_glFreeObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glFrustumf", offsetof(struct opengl_funcs, p_glFrustumf), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFrustumfOES", offsetof(struct opengl_funcs, p_glFrustumfOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glFrustumx", offsetof(struct opengl_funcs, p_glFrustumx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFrustumxOES", offsetof(struct opengl_funcs, p_glFrustumxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGenAsyncMarkersSGIX", offsetof(struct opengl_funcs, p_glGenAsyncMarkersSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glGenBuffers", offsetof(struct opengl_funcs, p_glGenBuffers), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGenBuffersARB", offsetof(struct opengl_funcs, p_glGenBuffersARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGenFencesAPPLE", offsetof(struct opengl_funcs, p_glGenFencesAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glGenFencesNV", offsetof(struct opengl_funcs, p_glGenFencesNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glGenFragmentShadersATI", offsetof(struct opengl_funcs, p_glGenFragmentShadersATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glGenFramebuffers", offsetof(struct opengl_funcs, p_glGenFramebuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenFramebuffersEXT", offsetof(struct opengl_funcs, p_glGenFramebuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenNamesAMD", offsetof(struct opengl_funcs, p_glGenNamesAMD), 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, + { "glGenOcclusionQueriesNV", offsetof(struct opengl_funcs, p_glGenOcclusionQueriesNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGenPathsNV", offsetof(struct opengl_funcs, p_glGenPathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGenPerfMonitorsAMD", offsetof(struct opengl_funcs, p_glGenPerfMonitorsAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGenProgramPipelines", offsetof(struct opengl_funcs, p_glGenProgramPipelines), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glGenProgramsARB", offsetof(struct opengl_funcs, p_glGenProgramsARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGenProgramsNV", offsetof(struct opengl_funcs, p_glGenProgramsNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGenQueries", offsetof(struct opengl_funcs, p_glGenQueries), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGenQueriesARB", offsetof(struct opengl_funcs, p_glGenQueriesARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGenQueryResourceTagNV", offsetof(struct opengl_funcs, p_glGenQueryResourceTagNV), 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, + { "glGenRenderbuffers", offsetof(struct opengl_funcs, p_glGenRenderbuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenRenderbuffersEXT", offsetof(struct opengl_funcs, p_glGenRenderbuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenSamplers", offsetof(struct opengl_funcs, p_glGenSamplers), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGenSemaphoresEXT", offsetof(struct opengl_funcs, p_glGenSemaphoresEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGenSymbolsEXT", offsetof(struct opengl_funcs, p_glGenSymbolsEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGenTexturesEXT", offsetof(struct opengl_funcs, p_glGenTexturesEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glGenTransformFeedbacks", offsetof(struct opengl_funcs, p_glGenTransformFeedbacks), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glGenTransformFeedbacksNV", offsetof(struct opengl_funcs, p_glGenTransformFeedbacksNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glGenVertexArrays", offsetof(struct opengl_funcs, p_glGenVertexArrays), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGenVertexArraysAPPLE", offsetof(struct opengl_funcs, p_glGenVertexArraysAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGenVertexShadersEXT", offsetof(struct opengl_funcs, p_glGenVertexShadersEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGenerateMipmap", offsetof(struct opengl_funcs, p_glGenerateMipmap), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenerateMipmapEXT", offsetof(struct opengl_funcs, p_glGenerateMipmapEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenerateMultiTexMipmapEXT", offsetof(struct opengl_funcs, p_glGenerateMultiTexMipmapEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGenerateTextureMipmap", offsetof(struct opengl_funcs, p_glGenerateTextureMipmap), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGenerateTextureMipmapEXT", offsetof(struct opengl_funcs, p_glGenerateTextureMipmapEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetActiveAtomicCounterBufferiv", offsetof(struct opengl_funcs, p_glGetActiveAtomicCounterBufferiv), 4, 2, { GL_ARB_shader_atomic_counters, GL_EXTENSION_COUNT }}, + { "glGetActiveAttrib", offsetof(struct opengl_funcs, p_glGetActiveAttrib), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetActiveAttribARB", offsetof(struct opengl_funcs, p_glGetActiveAttribARB), 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetActiveSubroutineName", offsetof(struct opengl_funcs, p_glGetActiveSubroutineName), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetActiveSubroutineUniformName", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformName), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetActiveSubroutineUniformiv", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetActiveUniform", offsetof(struct opengl_funcs, p_glGetActiveUniform), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetActiveUniformARB", offsetof(struct opengl_funcs, p_glGetActiveUniformARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformBlockName", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockName), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformBlockiv", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockiv), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformName", offsetof(struct opengl_funcs, p_glGetActiveUniformName), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformsiv", offsetof(struct opengl_funcs, p_glGetActiveUniformsiv), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveVaryingNV", offsetof(struct opengl_funcs, p_glGetActiveVaryingNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetArrayObjectfvATI", offsetof(struct opengl_funcs, p_glGetArrayObjectfvATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetArrayObjectivATI", offsetof(struct opengl_funcs, p_glGetArrayObjectivATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetAttachedObjectsARB", offsetof(struct opengl_funcs, p_glGetAttachedObjectsARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetAttachedShaders", offsetof(struct opengl_funcs, p_glGetAttachedShaders), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetAttribLocation", offsetof(struct opengl_funcs, p_glGetAttribLocation), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetAttribLocationARB", offsetof(struct opengl_funcs, p_glGetAttribLocationARB), 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetBooleanIndexedvEXT", offsetof(struct opengl_funcs, p_glGetBooleanIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glGetBooleani_v", offsetof(struct opengl_funcs, p_glGetBooleani_v), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetBufferParameteri64v", offsetof(struct opengl_funcs, p_glGetBufferParameteri64v), 3, 2, { GL_EXTENSION_COUNT }}, + { "glGetBufferParameteriv", offsetof(struct opengl_funcs, p_glGetBufferParameteriv), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetBufferParameterivARB", offsetof(struct opengl_funcs, p_glGetBufferParameterivARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetBufferParameterui64vNV", offsetof(struct opengl_funcs, p_glGetBufferParameterui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetBufferPointerv", offsetof(struct opengl_funcs, p_glGetBufferPointerv), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetBufferPointervARB", offsetof(struct opengl_funcs, p_glGetBufferPointervARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetBufferSubData", offsetof(struct opengl_funcs, p_glGetBufferSubData), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetBufferSubDataARB", offsetof(struct opengl_funcs, p_glGetBufferSubDataARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetClipPlanef", offsetof(struct opengl_funcs, p_glGetClipPlanef), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetClipPlanefOES", offsetof(struct opengl_funcs, p_glGetClipPlanefOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glGetClipPlanex", offsetof(struct opengl_funcs, p_glGetClipPlanex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetClipPlanexOES", offsetof(struct opengl_funcs, p_glGetClipPlanexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetColorTable", offsetof(struct opengl_funcs, p_glGetColorTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetColorTableEXT", offsetof(struct opengl_funcs, p_glGetColorTableEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterfv", offsetof(struct opengl_funcs, p_glGetColorTableParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterfvEXT", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterfvSGI", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameteriv", offsetof(struct opengl_funcs, p_glGetColorTableParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterivEXT", offsetof(struct opengl_funcs, p_glGetColorTableParameterivEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterivSGI", offsetof(struct opengl_funcs, p_glGetColorTableParameterivSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glGetColorTableSGI", offsetof(struct opengl_funcs, p_glGetColorTableSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glGetCombinerInputParameterfvNV", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerInputParameterivNV", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerOutputParameterfvNV", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerOutputParameterivNV", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerStageParameterfvNV", offsetof(struct opengl_funcs, p_glGetCombinerStageParameterfvNV), 0, 0, { GL_NV_register_combiners2, GL_EXTENSION_COUNT }}, + { "glGetCommandHeaderNV", offsetof(struct opengl_funcs, p_glGetCommandHeaderNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glGetCompressedMultiTexImageEXT", offsetof(struct opengl_funcs, p_glGetCompressedMultiTexImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetCompressedTexImage", offsetof(struct opengl_funcs, p_glGetCompressedTexImage), 1, 3, { GL_EXTENSION_COUNT }}, + { "glGetCompressedTexImageARB", offsetof(struct opengl_funcs, p_glGetCompressedTexImageARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glGetCompressedTextureImage", offsetof(struct opengl_funcs, p_glGetCompressedTextureImage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetCompressedTextureImageEXT", offsetof(struct opengl_funcs, p_glGetCompressedTextureImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetCompressedTextureSubImage", offsetof(struct opengl_funcs, p_glGetCompressedTextureSubImage), 4, 5, { GL_ARB_get_texture_sub_image, GL_EXTENSION_COUNT }}, + { "glGetConvolutionFilter", offsetof(struct opengl_funcs, p_glGetConvolutionFilter), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetConvolutionFilterEXT", offsetof(struct opengl_funcs, p_glGetConvolutionFilterEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterfv", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterfvEXT", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfvEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameteriv", offsetof(struct opengl_funcs, p_glGetConvolutionParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterivEXT", offsetof(struct opengl_funcs, p_glGetConvolutionParameterivEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterxvOES", offsetof(struct opengl_funcs, p_glGetConvolutionParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetCoverageModulationTableNV", offsetof(struct opengl_funcs, p_glGetCoverageModulationTableNV), 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glGetDebugMessageLog", offsetof(struct opengl_funcs, p_glGetDebugMessageLog), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glGetDebugMessageLogAMD", offsetof(struct opengl_funcs, p_glGetDebugMessageLogAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glGetDebugMessageLogARB", offsetof(struct opengl_funcs, p_glGetDebugMessageLogARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glGetDetailTexFuncSGIS", offsetof(struct opengl_funcs, p_glGetDetailTexFuncSGIS), 0, 0, { GL_SGIS_detail_texture, GL_EXTENSION_COUNT }}, + { "glGetDoubleIndexedvEXT", offsetof(struct opengl_funcs, p_glGetDoubleIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetDoublei_v", offsetof(struct opengl_funcs, p_glGetDoublei_v), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glGetDoublei_vEXT", offsetof(struct opengl_funcs, p_glGetDoublei_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFenceivNV", offsetof(struct opengl_funcs, p_glGetFenceivNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glGetFinalCombinerInputParameterfvNV", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetFinalCombinerInputParameterivNV", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetFirstPerfQueryIdINTEL", offsetof(struct opengl_funcs, p_glGetFirstPerfQueryIdINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetFixedv", offsetof(struct opengl_funcs, p_glGetFixedv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetFixedvOES", offsetof(struct opengl_funcs, p_glGetFixedvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetFloatIndexedvEXT", offsetof(struct opengl_funcs, p_glGetFloatIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFloati_v", offsetof(struct opengl_funcs, p_glGetFloati_v), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glGetFloati_vEXT", offsetof(struct opengl_funcs, p_glGetFloati_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFogFuncSGIS", offsetof(struct opengl_funcs, p_glGetFogFuncSGIS), 0, 0, { GL_SGIS_fog_function, GL_EXTENSION_COUNT }}, + { "glGetFragDataIndex", offsetof(struct opengl_funcs, p_glGetFragDataIndex), 3, 3, { GL_ARB_blend_func_extended, GL_EXTENSION_COUNT }}, + { "glGetFragDataLocation", offsetof(struct opengl_funcs, p_glGetFragDataLocation), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetFragDataLocationEXT", offsetof(struct opengl_funcs, p_glGetFragDataLocationEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glGetFragmentLightfvSGIX", offsetof(struct opengl_funcs, p_glGetFragmentLightfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentLightivSGIX", offsetof(struct opengl_funcs, p_glGetFragmentLightivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentMaterialfvSGIX", offsetof(struct opengl_funcs, p_glGetFragmentMaterialfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentMaterialivSGIX", offsetof(struct opengl_funcs, p_glGetFragmentMaterialivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentShadingRatesEXT", offsetof(struct opengl_funcs, p_glGetFragmentShadingRatesEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glGetFramebufferAttachmentParameteriv", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameteriv), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetFramebufferAttachmentParameterivEXT", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameterivEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameterfvAMD", offsetof(struct opengl_funcs, p_glGetFramebufferParameterfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameteriv", offsetof(struct opengl_funcs, p_glGetFramebufferParameteriv), 4, 3, { GL_ARB_framebuffer_no_attachments, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameterivMESA", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivMESA), 0, 0, { GL_MESA_framebuffer_flip_y, GL_EXTENSION_COUNT }}, + { "glGetGraphicsResetStatus", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatus), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetGraphicsResetStatusARB", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatusARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetHandleARB", offsetof(struct opengl_funcs, p_glGetHandleARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetHistogram", offsetof(struct opengl_funcs, p_glGetHistogram), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetHistogramEXT", offsetof(struct opengl_funcs, p_glGetHistogramEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterfv", offsetof(struct opengl_funcs, p_glGetHistogramParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterfvEXT", offsetof(struct opengl_funcs, p_glGetHistogramParameterfvEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameteriv", offsetof(struct opengl_funcs, p_glGetHistogramParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterivEXT", offsetof(struct opengl_funcs, p_glGetHistogramParameterivEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterxvOES", offsetof(struct opengl_funcs, p_glGetHistogramParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetImageHandleARB", offsetof(struct opengl_funcs, p_glGetImageHandleARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetImageHandleNV", offsetof(struct opengl_funcs, p_glGetImageHandleNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetImageTransformParameterfvHP", offsetof(struct opengl_funcs, p_glGetImageTransformParameterfvHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glGetImageTransformParameterivHP", offsetof(struct opengl_funcs, p_glGetImageTransformParameterivHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glGetInfoLogARB", offsetof(struct opengl_funcs, p_glGetInfoLogARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetInstrumentsSGIX", offsetof(struct opengl_funcs, p_glGetInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glGetInteger64i_v", offsetof(struct opengl_funcs, p_glGetInteger64i_v), 3, 2, { GL_EXTENSION_COUNT }}, + { "glGetInteger64v", offsetof(struct opengl_funcs, p_glGetInteger64v), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glGetIntegerIndexedvEXT", offsetof(struct opengl_funcs, p_glGetIntegerIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glGetIntegeri_v", offsetof(struct opengl_funcs, p_glGetIntegeri_v), 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetIntegerui64i_vNV", offsetof(struct opengl_funcs, p_glGetIntegerui64i_vNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glGetIntegerui64vNV", offsetof(struct opengl_funcs, p_glGetIntegerui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetInternalformatSampleivNV", offsetof(struct opengl_funcs, p_glGetInternalformatSampleivNV), 0, 0, { GL_NV_internalformat_sample_query, GL_EXTENSION_COUNT }}, + { "glGetInternalformati64v", offsetof(struct opengl_funcs, p_glGetInternalformati64v), 4, 3, { GL_ARB_internalformat_query2, GL_EXTENSION_COUNT }}, + { "glGetInternalformativ", offsetof(struct opengl_funcs, p_glGetInternalformativ), 4, 2, { GL_ARB_internalformat_query, GL_EXTENSION_COUNT }}, + { "glGetInvariantBooleanvEXT", offsetof(struct opengl_funcs, p_glGetInvariantBooleanvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetInvariantFloatvEXT", offsetof(struct opengl_funcs, p_glGetInvariantFloatvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetInvariantIntegervEXT", offsetof(struct opengl_funcs, p_glGetInvariantIntegervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetLightxOES", offsetof(struct opengl_funcs, p_glGetLightxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetLightxv", offsetof(struct opengl_funcs, p_glGetLightxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetListParameterfvSGIX", offsetof(struct opengl_funcs, p_glGetListParameterfvSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glGetListParameterivSGIX", offsetof(struct opengl_funcs, p_glGetListParameterivSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glGetLocalConstantBooleanvEXT", offsetof(struct opengl_funcs, p_glGetLocalConstantBooleanvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetLocalConstantFloatvEXT", offsetof(struct opengl_funcs, p_glGetLocalConstantFloatvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetLocalConstantIntegervEXT", offsetof(struct opengl_funcs, p_glGetLocalConstantIntegervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetMapAttribParameterfvNV", offsetof(struct opengl_funcs, p_glGetMapAttribParameterfvNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapAttribParameterivNV", offsetof(struct opengl_funcs, p_glGetMapAttribParameterivNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapControlPointsNV", offsetof(struct opengl_funcs, p_glGetMapControlPointsNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapParameterfvNV", offsetof(struct opengl_funcs, p_glGetMapParameterfvNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapParameterivNV", offsetof(struct opengl_funcs, p_glGetMapParameterivNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapxvOES", offsetof(struct opengl_funcs, p_glGetMapxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetMaterialxOES", offsetof(struct opengl_funcs, p_glGetMaterialxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetMaterialxv", offsetof(struct opengl_funcs, p_glGetMaterialxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetMemoryObjectDetachedResourcesuivNV", offsetof(struct opengl_funcs, p_glGetMemoryObjectDetachedResourcesuivNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glGetMemoryObjectParameterivEXT", offsetof(struct opengl_funcs, p_glGetMemoryObjectParameterivEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glGetMinmax", offsetof(struct opengl_funcs, p_glGetMinmax), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetMinmaxEXT", offsetof(struct opengl_funcs, p_glGetMinmaxEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameterfv", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameterfvEXT", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfvEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameteriv", offsetof(struct opengl_funcs, p_glGetMinmaxParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameterivEXT", offsetof(struct opengl_funcs, p_glGetMinmaxParameterivEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetMultiTexEnvfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexEnvfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexEnvivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexEnvivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexGendvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexGendvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexGenfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexGenfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexGenivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexGenivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexImageEXT", offsetof(struct opengl_funcs, p_glGetMultiTexImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexLevelParameterfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexLevelParameterivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterIivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultisamplefv", offsetof(struct opengl_funcs, p_glGetMultisamplefv), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glGetMultisamplefvNV", offsetof(struct opengl_funcs, p_glGetMultisamplefvNV), 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameteri64v", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteri64v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameteriv", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameterui64vNV", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferPointerv", offsetof(struct opengl_funcs, p_glGetNamedBufferPointerv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferPointervEXT", offsetof(struct opengl_funcs, p_glGetNamedBufferPointervEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferSubData", offsetof(struct opengl_funcs, p_glGetNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferSubDataEXT", offsetof(struct opengl_funcs, p_glGetNamedBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferAttachmentParameteriv", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferAttachmentParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferParameterfvAMD", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferParameteriv", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterIivEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterdvEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterdvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterfvEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramStringEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramStringEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramivEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedRenderbufferParameteriv", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedRenderbufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedStringARB", offsetof(struct opengl_funcs, p_glGetNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glGetNamedStringivARB", offsetof(struct opengl_funcs, p_glGetNamedStringivARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glGetNextPerfQueryIdINTEL", offsetof(struct opengl_funcs, p_glGetNextPerfQueryIdINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetObjectBufferfvATI", offsetof(struct opengl_funcs, p_glGetObjectBufferfvATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetObjectBufferivATI", offsetof(struct opengl_funcs, p_glGetObjectBufferivATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetObjectLabel", offsetof(struct opengl_funcs, p_glGetObjectLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glGetObjectLabelEXT", offsetof(struct opengl_funcs, p_glGetObjectLabelEXT), 0, 0, { GL_EXT_debug_label, GL_EXTENSION_COUNT }}, + { "glGetObjectParameterfvARB", offsetof(struct opengl_funcs, p_glGetObjectParameterfvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetObjectParameterivAPPLE", offsetof(struct opengl_funcs, p_glGetObjectParameterivAPPLE), 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, + { "glGetObjectParameterivARB", offsetof(struct opengl_funcs, p_glGetObjectParameterivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetObjectPtrLabel", offsetof(struct opengl_funcs, p_glGetObjectPtrLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glGetOcclusionQueryivNV", offsetof(struct opengl_funcs, p_glGetOcclusionQueryivNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetOcclusionQueryuivNV", offsetof(struct opengl_funcs, p_glGetOcclusionQueryuivNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetPathColorGenfvNV", offsetof(struct opengl_funcs, p_glGetPathColorGenfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathColorGenivNV", offsetof(struct opengl_funcs, p_glGetPathColorGenivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathCommandsNV", offsetof(struct opengl_funcs, p_glGetPathCommandsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathCoordsNV", offsetof(struct opengl_funcs, p_glGetPathCoordsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathDashArrayNV", offsetof(struct opengl_funcs, p_glGetPathDashArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathLengthNV", offsetof(struct opengl_funcs, p_glGetPathLengthNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathMetricRangeNV", offsetof(struct opengl_funcs, p_glGetPathMetricRangeNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathMetricsNV", offsetof(struct opengl_funcs, p_glGetPathMetricsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathParameterfvNV", offsetof(struct opengl_funcs, p_glGetPathParameterfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathParameterivNV", offsetof(struct opengl_funcs, p_glGetPathParameterivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathSpacingNV", offsetof(struct opengl_funcs, p_glGetPathSpacingNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathTexGenfvNV", offsetof(struct opengl_funcs, p_glGetPathTexGenfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathTexGenivNV", offsetof(struct opengl_funcs, p_glGetPathTexGenivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPerfCounterInfoINTEL", offsetof(struct opengl_funcs, p_glGetPerfCounterInfoINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCounterDataAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterDataAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCounterInfoAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterInfoAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCounterStringAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterStringAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCountersAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCountersAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorGroupStringAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupStringAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorGroupsAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupsAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfQueryDataINTEL", offsetof(struct opengl_funcs, p_glGetPerfQueryDataINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPerfQueryIdByNameINTEL", offsetof(struct opengl_funcs, p_glGetPerfQueryIdByNameINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPerfQueryInfoINTEL", offsetof(struct opengl_funcs, p_glGetPerfQueryInfoINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPixelMapxv", offsetof(struct opengl_funcs, p_glGetPixelMapxv), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetPixelTexGenParameterfvSGIS", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterfvSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glGetPixelTexGenParameterivSGIS", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterivSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glGetPixelTransformParameterfvEXT", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterfvEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glGetPixelTransformParameterivEXT", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterivEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glGetPointerIndexedvEXT", offsetof(struct opengl_funcs, p_glGetPointerIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetPointeri_vEXT", offsetof(struct opengl_funcs, p_glGetPointeri_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetPointervEXT", offsetof(struct opengl_funcs, p_glGetPointervEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glGetProgramBinary", offsetof(struct opengl_funcs, p_glGetProgramBinary), 4, 1, { GL_ARB_get_program_binary, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterIivNV", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterIuivNV", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIuivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterdvARB", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterdvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterfvARB", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterfvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramInfoLog", offsetof(struct opengl_funcs, p_glGetProgramInfoLog), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetProgramInterfaceiv", offsetof(struct opengl_funcs, p_glGetProgramInterfaceiv), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterIivNV", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterIuivNV", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIuivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterdvARB", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterdvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterfvARB", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterfvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramNamedParameterdvNV", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterdvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glGetProgramNamedParameterfvNV", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterfvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glGetProgramParameterdvNV", offsetof(struct opengl_funcs, p_glGetProgramParameterdvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramParameterfvNV", offsetof(struct opengl_funcs, p_glGetProgramParameterfvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramPipelineInfoLog", offsetof(struct opengl_funcs, p_glGetProgramPipelineInfoLog), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetProgramPipelineiv", offsetof(struct opengl_funcs, p_glGetProgramPipelineiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceIndex", offsetof(struct opengl_funcs, p_glGetProgramResourceIndex), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceLocation", offsetof(struct opengl_funcs, p_glGetProgramResourceLocation), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceLocationIndex", offsetof(struct opengl_funcs, p_glGetProgramResourceLocationIndex), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceName", offsetof(struct opengl_funcs, p_glGetProgramResourceName), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourcefvNV", offsetof(struct opengl_funcs, p_glGetProgramResourcefvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceiv", offsetof(struct opengl_funcs, p_glGetProgramResourceiv), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramStageiv", offsetof(struct opengl_funcs, p_glGetProgramStageiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetProgramStringARB", offsetof(struct opengl_funcs, p_glGetProgramStringARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramStringNV", offsetof(struct opengl_funcs, p_glGetProgramStringNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramSubroutineParameteruivNV", offsetof(struct opengl_funcs, p_glGetProgramSubroutineParameteruivNV), 0, 0, { GL_NV_gpu_program5, GL_NV_gpu_program_fp64, GL_EXTENSION_COUNT }}, + { "glGetProgramiv", offsetof(struct opengl_funcs, p_glGetProgramiv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetProgramivARB", offsetof(struct opengl_funcs, p_glGetProgramivARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramivNV", offsetof(struct opengl_funcs, p_glGetProgramivNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjecti64v", offsetof(struct opengl_funcs, p_glGetQueryBufferObjecti64v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjectiv", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjectui64v", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectui64v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjectuiv", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryIndexediv", offsetof(struct opengl_funcs, p_glGetQueryIndexediv), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glGetQueryObjecti64v", offsetof(struct opengl_funcs, p_glGetQueryObjecti64v), 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjecti64vEXT", offsetof(struct opengl_funcs, p_glGetQueryObjecti64vEXT), 0, 0, { GL_EXT_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectiv", offsetof(struct opengl_funcs, p_glGetQueryObjectiv), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetQueryObjectivARB", offsetof(struct opengl_funcs, p_glGetQueryObjectivARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectui64v", offsetof(struct opengl_funcs, p_glGetQueryObjectui64v), 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectui64vEXT", offsetof(struct opengl_funcs, p_glGetQueryObjectui64vEXT), 0, 0, { GL_EXT_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectuiv", offsetof(struct opengl_funcs, p_glGetQueryObjectuiv), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetQueryObjectuivARB", offsetof(struct opengl_funcs, p_glGetQueryObjectuivARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetQueryiv", offsetof(struct opengl_funcs, p_glGetQueryiv), 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetQueryivARB", offsetof(struct opengl_funcs, p_glGetQueryivARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetRenderbufferParameteriv", offsetof(struct opengl_funcs, p_glGetRenderbufferParameteriv), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetRenderbufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetRenderbufferParameterivEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameterIiv", offsetof(struct opengl_funcs, p_glGetSamplerParameterIiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameterIuiv", offsetof(struct opengl_funcs, p_glGetSamplerParameterIuiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameterfv", offsetof(struct opengl_funcs, p_glGetSamplerParameterfv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameteriv", offsetof(struct opengl_funcs, p_glGetSamplerParameteriv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSemaphoreParameterivNV", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterivNV), 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, + { "glGetSemaphoreParameterui64vEXT", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterui64vEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGetSeparableFilter", offsetof(struct opengl_funcs, p_glGetSeparableFilter), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetSeparableFilterEXT", offsetof(struct opengl_funcs, p_glGetSeparableFilterEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetShaderInfoLog", offsetof(struct opengl_funcs, p_glGetShaderInfoLog), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetShaderPrecisionFormat", offsetof(struct opengl_funcs, p_glGetShaderPrecisionFormat), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glGetShaderSource", offsetof(struct opengl_funcs, p_glGetShaderSource), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetShaderSourceARB", offsetof(struct opengl_funcs, p_glGetShaderSourceARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetShaderiv", offsetof(struct opengl_funcs, p_glGetShaderiv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetShadingRateImagePaletteNV", offsetof(struct opengl_funcs, p_glGetShadingRateImagePaletteNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glGetShadingRateSampleLocationivNV", offsetof(struct opengl_funcs, p_glGetShadingRateSampleLocationivNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glGetSharpenTexFuncSGIS", offsetof(struct opengl_funcs, p_glGetSharpenTexFuncSGIS), 0, 0, { GL_SGIS_sharpen_texture, GL_EXTENSION_COUNT }}, + { "glGetStageIndexNV", offsetof(struct opengl_funcs, p_glGetStageIndexNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glGetStringi", offsetof(struct opengl_funcs, p_glGetStringi), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetSubroutineIndex", offsetof(struct opengl_funcs, p_glGetSubroutineIndex), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetSubroutineUniformLocation", offsetof(struct opengl_funcs, p_glGetSubroutineUniformLocation), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetSynciv", offsetof(struct opengl_funcs, p_glGetSynciv), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glGetTexBumpParameterfvATI", offsetof(struct opengl_funcs, p_glGetTexBumpParameterfvATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glGetTexBumpParameterivATI", offsetof(struct opengl_funcs, p_glGetTexBumpParameterivATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glGetTexEnvxv", offsetof(struct opengl_funcs, p_glGetTexEnvxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetTexEnvxvOES", offsetof(struct opengl_funcs, p_glGetTexEnvxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTexFilterFuncSGIS", offsetof(struct opengl_funcs, p_glGetTexFilterFuncSGIS), 0, 0, { GL_SGIS_texture_filter4, GL_EXTENSION_COUNT }}, + { "glGetTexGenxvOES", offsetof(struct opengl_funcs, p_glGetTexGenxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTexLevelParameterxvOES", offsetof(struct opengl_funcs, p_glGetTexLevelParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTexParameterIiv", offsetof(struct opengl_funcs, p_glGetTexParameterIiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetTexParameterIivEXT", offsetof(struct opengl_funcs, p_glGetTexParameterIivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glGetTexParameterIuiv", offsetof(struct opengl_funcs, p_glGetTexParameterIuiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetTexParameterIuivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glGetTexParameterPointervAPPLE", offsetof(struct opengl_funcs, p_glGetTexParameterPointervAPPLE), 0, 0, { GL_APPLE_texture_range, GL_EXTENSION_COUNT }}, + { "glGetTexParameterxv", offsetof(struct opengl_funcs, p_glGetTexParameterxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetTexParameterxvOES", offsetof(struct opengl_funcs, p_glGetTexParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTextureHandleARB", offsetof(struct opengl_funcs, p_glGetTextureHandleARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureHandleNV", offsetof(struct opengl_funcs, p_glGetTextureHandleNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureImage", offsetof(struct opengl_funcs, p_glGetTextureImage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureImageEXT", offsetof(struct opengl_funcs, p_glGetTextureImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameterfv", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameterfvEXT", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameteriv", offsetof(struct opengl_funcs, p_glGetTextureLevelParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameterivEXT", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIiv", offsetof(struct opengl_funcs, p_glGetTextureParameterIiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIivEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIuiv", offsetof(struct opengl_funcs, p_glGetTextureParameterIuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterfv", offsetof(struct opengl_funcs, p_glGetTextureParameterfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterfvEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameteriv", offsetof(struct opengl_funcs, p_glGetTextureParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterivEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureSamplerHandleARB", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureSamplerHandleNV", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureSubImage", offsetof(struct opengl_funcs, p_glGetTextureSubImage), 4, 5, { GL_ARB_get_texture_sub_image, GL_EXTENSION_COUNT }}, + { "glGetTrackMatrixivNV", offsetof(struct opengl_funcs, p_glGetTrackMatrixivNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackVarying", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVarying), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackVaryingEXT", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackVaryingNV", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbacki64_v", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki64_v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbacki_v", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki_v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackiv", offsetof(struct opengl_funcs, p_glGetTransformFeedbackiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetUniformBlockIndex", offsetof(struct opengl_funcs, p_glGetUniformBlockIndex), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetUniformBufferSizeEXT", offsetof(struct opengl_funcs, p_glGetUniformBufferSizeEXT), 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, + { "glGetUniformIndices", offsetof(struct opengl_funcs, p_glGetUniformIndices), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetUniformLocation", offsetof(struct opengl_funcs, p_glGetUniformLocation), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformLocationARB", offsetof(struct opengl_funcs, p_glGetUniformLocationARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetUniformOffsetEXT", offsetof(struct opengl_funcs, p_glGetUniformOffsetEXT), 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, + { "glGetUniformSubroutineuiv", offsetof(struct opengl_funcs, p_glGetUniformSubroutineuiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetUniformdv", offsetof(struct opengl_funcs, p_glGetUniformdv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glGetUniformfv", offsetof(struct opengl_funcs, p_glGetUniformfv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformfvARB", offsetof(struct opengl_funcs, p_glGetUniformfvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetUniformi64vARB", offsetof(struct opengl_funcs, p_glGetUniformi64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetUniformi64vNV", offsetof(struct opengl_funcs, p_glGetUniformi64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glGetUniformiv", offsetof(struct opengl_funcs, p_glGetUniformiv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformivARB", offsetof(struct opengl_funcs, p_glGetUniformivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetUniformui64vARB", offsetof(struct opengl_funcs, p_glGetUniformui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetUniformui64vNV", offsetof(struct opengl_funcs, p_glGetUniformui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetUniformuiv", offsetof(struct opengl_funcs, p_glGetUniformuiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformuivEXT", offsetof(struct opengl_funcs, p_glGetUniformuivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glGetUnsignedBytei_vEXT", offsetof(struct opengl_funcs, p_glGetUnsignedBytei_vEXT), 0, 0, { GL_EXT_memory_object, GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGetUnsignedBytevEXT", offsetof(struct opengl_funcs, p_glGetUnsignedBytevEXT), 0, 0, { GL_EXT_memory_object, GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGetVariantArrayObjectfvATI", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectfvATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetVariantArrayObjectivATI", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectivATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetVariantBooleanvEXT", offsetof(struct opengl_funcs, p_glGetVariantBooleanvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVariantFloatvEXT", offsetof(struct opengl_funcs, p_glGetVariantFloatvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVariantIntegervEXT", offsetof(struct opengl_funcs, p_glGetVariantIntegervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVariantPointervEXT", offsetof(struct opengl_funcs, p_glGetVariantPointervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVaryingLocationNV", offsetof(struct opengl_funcs, p_glGetVaryingLocationNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIndexed64iv", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexed64iv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIndexediv", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexediv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIntegeri_vEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegeri_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIntegervEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegervEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayPointeri_vEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayPointeri_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayPointervEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayPointervEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayiv", offsetof(struct opengl_funcs, p_glGetVertexArrayiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribArrayObjectfvATI", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectfvATI), 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribArrayObjectivATI", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectivATI), 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIiv", offsetof(struct opengl_funcs, p_glGetVertexAttribIiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIivEXT", offsetof(struct opengl_funcs, p_glGetVertexAttribIivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIuiv", offsetof(struct opengl_funcs, p_glGetVertexAttribIuiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIuivEXT", offsetof(struct opengl_funcs, p_glGetVertexAttribIuivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLdv", offsetof(struct opengl_funcs, p_glGetVertexAttribLdv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLdvEXT", offsetof(struct opengl_funcs, p_glGetVertexAttribLdvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLi64vNV", offsetof(struct opengl_funcs, p_glGetVertexAttribLi64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLui64vARB", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLui64vNV", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribPointerv", offsetof(struct opengl_funcs, p_glGetVertexAttribPointerv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribPointervARB", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribPointervNV", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribdv", offsetof(struct opengl_funcs, p_glGetVertexAttribdv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribdvARB", offsetof(struct opengl_funcs, p_glGetVertexAttribdvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribdvNV", offsetof(struct opengl_funcs, p_glGetVertexAttribdvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribfv", offsetof(struct opengl_funcs, p_glGetVertexAttribfv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribfvARB", offsetof(struct opengl_funcs, p_glGetVertexAttribfvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribfvNV", offsetof(struct opengl_funcs, p_glGetVertexAttribfvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribiv", offsetof(struct opengl_funcs, p_glGetVertexAttribiv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribivARB", offsetof(struct opengl_funcs, p_glGetVertexAttribivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribivNV", offsetof(struct opengl_funcs, p_glGetVertexAttribivNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureStreamdvNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamdvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureStreamfvNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamfvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureStreamivNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamivNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureivNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureivNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoi64vNV", offsetof(struct opengl_funcs, p_glGetVideoi64vNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVideoivNV", offsetof(struct opengl_funcs, p_glGetVideoivNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVideoui64vNV", offsetof(struct opengl_funcs, p_glGetVideoui64vNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVideouivNV", offsetof(struct opengl_funcs, p_glGetVideouivNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVkProcAddrNV", offsetof(struct opengl_funcs, p_glGetVkProcAddrNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glGetnColorTable", offsetof(struct opengl_funcs, p_glGetnColorTable), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnColorTableARB", offsetof(struct opengl_funcs, p_glGetnColorTableARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnCompressedTexImage", offsetof(struct opengl_funcs, p_glGetnCompressedTexImage), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnCompressedTexImageARB", offsetof(struct opengl_funcs, p_glGetnCompressedTexImageARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnConvolutionFilter", offsetof(struct opengl_funcs, p_glGetnConvolutionFilter), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnConvolutionFilterARB", offsetof(struct opengl_funcs, p_glGetnConvolutionFilterARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnHistogram", offsetof(struct opengl_funcs, p_glGetnHistogram), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnHistogramARB", offsetof(struct opengl_funcs, p_glGetnHistogramARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMapdv", offsetof(struct opengl_funcs, p_glGetnMapdv), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMapdvARB", offsetof(struct opengl_funcs, p_glGetnMapdvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMapfv", offsetof(struct opengl_funcs, p_glGetnMapfv), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMapfvARB", offsetof(struct opengl_funcs, p_glGetnMapfvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMapiv", offsetof(struct opengl_funcs, p_glGetnMapiv), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMapivARB", offsetof(struct opengl_funcs, p_glGetnMapivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMinmax", offsetof(struct opengl_funcs, p_glGetnMinmax), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMinmaxARB", offsetof(struct opengl_funcs, p_glGetnMinmaxARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPixelMapfv", offsetof(struct opengl_funcs, p_glGetnPixelMapfv), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPixelMapfvARB", offsetof(struct opengl_funcs, p_glGetnPixelMapfvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPixelMapuiv", offsetof(struct opengl_funcs, p_glGetnPixelMapuiv), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPixelMapuivARB", offsetof(struct opengl_funcs, p_glGetnPixelMapuivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPixelMapusv", offsetof(struct opengl_funcs, p_glGetnPixelMapusv), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPixelMapusvARB", offsetof(struct opengl_funcs, p_glGetnPixelMapusvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPolygonStipple", offsetof(struct opengl_funcs, p_glGetnPolygonStipple), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPolygonStippleARB", offsetof(struct opengl_funcs, p_glGetnPolygonStippleARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnSeparableFilter", offsetof(struct opengl_funcs, p_glGetnSeparableFilter), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnSeparableFilterARB", offsetof(struct opengl_funcs, p_glGetnSeparableFilterARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnTexImage", offsetof(struct opengl_funcs, p_glGetnTexImage), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnTexImageARB", offsetof(struct opengl_funcs, p_glGetnTexImageARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformdv", offsetof(struct opengl_funcs, p_glGetnUniformdv), 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnUniformdvARB", offsetof(struct opengl_funcs, p_glGetnUniformdvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformfv", offsetof(struct opengl_funcs, p_glGetnUniformfv), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformfvARB", offsetof(struct opengl_funcs, p_glGetnUniformfvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformi64vARB", offsetof(struct opengl_funcs, p_glGetnUniformi64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetnUniformiv", offsetof(struct opengl_funcs, p_glGetnUniformiv), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformivARB", offsetof(struct opengl_funcs, p_glGetnUniformivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformui64vARB", offsetof(struct opengl_funcs, p_glGetnUniformui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetnUniformuiv", offsetof(struct opengl_funcs, p_glGetnUniformuiv), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformuivARB", offsetof(struct opengl_funcs, p_glGetnUniformuivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorbSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorbSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactordSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactordSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorfSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorfSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactoriSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoriSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorsSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorsSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorubSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorubSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactoruiSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoruiSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorusSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorusSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glHintPGI", offsetof(struct opengl_funcs, p_glHintPGI), 0, 0, { GL_PGI_misc_hints, GL_EXTENSION_COUNT }}, + { "glHistogram", offsetof(struct opengl_funcs, p_glHistogram), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glHistogramEXT", offsetof(struct opengl_funcs, p_glHistogramEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glIglooInterfaceSGIX", offsetof(struct opengl_funcs, p_glIglooInterfaceSGIX), 0, 0, { GL_SGIX_igloo_interface, GL_EXTENSION_COUNT }}, + { "glImageTransformParameterfHP", offsetof(struct opengl_funcs, p_glImageTransformParameterfHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImageTransformParameterfvHP", offsetof(struct opengl_funcs, p_glImageTransformParameterfvHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImageTransformParameteriHP", offsetof(struct opengl_funcs, p_glImageTransformParameteriHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImageTransformParameterivHP", offsetof(struct opengl_funcs, p_glImageTransformParameterivHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImportMemoryWin32HandleEXT", offsetof(struct opengl_funcs, p_glImportMemoryWin32HandleEXT), 0, 0, { GL_EXT_memory_object_win32, GL_EXTENSION_COUNT }}, + { "glImportMemoryWin32NameEXT", offsetof(struct opengl_funcs, p_glImportMemoryWin32NameEXT), 0, 0, { GL_EXT_memory_object_win32, GL_EXTENSION_COUNT }}, + { "glImportSemaphoreWin32HandleEXT", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32HandleEXT), 0, 0, { GL_EXT_semaphore_win32, GL_EXTENSION_COUNT }}, + { "glImportSemaphoreWin32NameEXT", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32NameEXT), 0, 0, { GL_EXT_semaphore_win32, GL_EXTENSION_COUNT }}, + { "glImportSyncEXT", offsetof(struct opengl_funcs, p_glImportSyncEXT), 0, 0, { GL_EXT_x11_sync_object, GL_EXTENSION_COUNT }}, + { "glIndexFormatNV", offsetof(struct opengl_funcs, p_glIndexFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glIndexFuncEXT", offsetof(struct opengl_funcs, p_glIndexFuncEXT), 0, 0, { GL_EXT_index_func, GL_EXTENSION_COUNT }}, + { "glIndexMaterialEXT", offsetof(struct opengl_funcs, p_glIndexMaterialEXT), 0, 0, { GL_EXT_index_material, GL_EXTENSION_COUNT }}, + { "glIndexPointerEXT", offsetof(struct opengl_funcs, p_glIndexPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glIndexPointerListIBM", offsetof(struct opengl_funcs, p_glIndexPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glIndexxOES", offsetof(struct opengl_funcs, p_glIndexxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glIndexxvOES", offsetof(struct opengl_funcs, p_glIndexxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glInsertComponentEXT", offsetof(struct opengl_funcs, p_glInsertComponentEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glInsertEventMarkerEXT", offsetof(struct opengl_funcs, p_glInsertEventMarkerEXT), 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, + { "glInstrumentsBufferSGIX", offsetof(struct opengl_funcs, p_glInstrumentsBufferSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glInterpolatePathsNV", offsetof(struct opengl_funcs, p_glInterpolatePathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glInvalidateBufferData", offsetof(struct opengl_funcs, p_glInvalidateBufferData), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateBufferSubData", offsetof(struct opengl_funcs, p_glInvalidateBufferSubData), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateFramebuffer", offsetof(struct opengl_funcs, p_glInvalidateFramebuffer), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateNamedFramebufferData", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glInvalidateNamedFramebufferSubData", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glInvalidateSubFramebuffer", offsetof(struct opengl_funcs, p_glInvalidateSubFramebuffer), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateTexImage", offsetof(struct opengl_funcs, p_glInvalidateTexImage), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateTexSubImage", offsetof(struct opengl_funcs, p_glInvalidateTexSubImage), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glIsAsyncMarkerSGIX", offsetof(struct opengl_funcs, p_glIsAsyncMarkerSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glIsBuffer", offsetof(struct opengl_funcs, p_glIsBuffer), 1, 5, { GL_EXTENSION_COUNT }}, + { "glIsBufferARB", offsetof(struct opengl_funcs, p_glIsBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glIsBufferResidentNV", offsetof(struct opengl_funcs, p_glIsBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glIsCommandListNV", offsetof(struct opengl_funcs, p_glIsCommandListNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glIsEnabledIndexedEXT", offsetof(struct opengl_funcs, p_glIsEnabledIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glIsEnabledi", offsetof(struct opengl_funcs, p_glIsEnabledi), 3, 0, { GL_EXTENSION_COUNT }}, + { "glIsFenceAPPLE", offsetof(struct opengl_funcs, p_glIsFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glIsFenceNV", offsetof(struct opengl_funcs, p_glIsFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glIsFramebuffer", offsetof(struct opengl_funcs, p_glIsFramebuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsFramebufferEXT", offsetof(struct opengl_funcs, p_glIsFramebufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsImageHandleResidentARB", offsetof(struct opengl_funcs, p_glIsImageHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsImageHandleResidentNV", offsetof(struct opengl_funcs, p_glIsImageHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsMemoryObjectEXT", offsetof(struct opengl_funcs, p_glIsMemoryObjectEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glIsNameAMD", offsetof(struct opengl_funcs, p_glIsNameAMD), 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, + { "glIsNamedBufferResidentNV", offsetof(struct opengl_funcs, p_glIsNamedBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glIsNamedStringARB", offsetof(struct opengl_funcs, p_glIsNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glIsObjectBufferATI", offsetof(struct opengl_funcs, p_glIsObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glIsOcclusionQueryNV", offsetof(struct opengl_funcs, p_glIsOcclusionQueryNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glIsPathNV", offsetof(struct opengl_funcs, p_glIsPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glIsPointInFillPathNV", offsetof(struct opengl_funcs, p_glIsPointInFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glIsPointInStrokePathNV", offsetof(struct opengl_funcs, p_glIsPointInStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glIsProgram", offsetof(struct opengl_funcs, p_glIsProgram), 2, 0, { GL_EXTENSION_COUNT }}, + { "glIsProgramARB", offsetof(struct opengl_funcs, p_glIsProgramARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glIsProgramNV", offsetof(struct opengl_funcs, p_glIsProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glIsProgramPipeline", offsetof(struct opengl_funcs, p_glIsProgramPipeline), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glIsQuery", offsetof(struct opengl_funcs, p_glIsQuery), 1, 5, { GL_EXTENSION_COUNT }}, + { "glIsQueryARB", offsetof(struct opengl_funcs, p_glIsQueryARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glIsRenderbuffer", offsetof(struct opengl_funcs, p_glIsRenderbuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsRenderbufferEXT", offsetof(struct opengl_funcs, p_glIsRenderbufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsSampler", offsetof(struct opengl_funcs, p_glIsSampler), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glIsSemaphoreEXT", offsetof(struct opengl_funcs, p_glIsSemaphoreEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glIsShader", offsetof(struct opengl_funcs, p_glIsShader), 2, 0, { GL_EXTENSION_COUNT }}, + { "glIsStateNV", offsetof(struct opengl_funcs, p_glIsStateNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glIsSync", offsetof(struct opengl_funcs, p_glIsSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glIsTextureEXT", offsetof(struct opengl_funcs, p_glIsTextureEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glIsTextureHandleResidentARB", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsTextureHandleResidentNV", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsTransformFeedback", offsetof(struct opengl_funcs, p_glIsTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glIsTransformFeedbackNV", offsetof(struct opengl_funcs, p_glIsTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glIsVariantEnabledEXT", offsetof(struct opengl_funcs, p_glIsVariantEnabledEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glIsVertexArray", offsetof(struct opengl_funcs, p_glIsVertexArray), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glIsVertexArrayAPPLE", offsetof(struct opengl_funcs, p_glIsVertexArrayAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glIsVertexAttribEnabledAPPLE", offsetof(struct opengl_funcs, p_glIsVertexAttribEnabledAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glLGPUCopyImageSubDataNVX", offsetof(struct opengl_funcs, p_glLGPUCopyImageSubDataNVX), 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glLGPUInterlockNVX", offsetof(struct opengl_funcs, p_glLGPUInterlockNVX), 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glLGPUNamedBufferSubDataNVX", offsetof(struct opengl_funcs, p_glLGPUNamedBufferSubDataNVX), 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glLabelObjectEXT", offsetof(struct opengl_funcs, p_glLabelObjectEXT), 0, 0, { GL_EXT_debug_label, GL_EXTENSION_COUNT }}, + { "glLightEnviSGIX", offsetof(struct opengl_funcs, p_glLightEnviSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glLightModelx", offsetof(struct opengl_funcs, p_glLightModelx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightModelxOES", offsetof(struct opengl_funcs, p_glLightModelxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLightModelxv", offsetof(struct opengl_funcs, p_glLightModelxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightModelxvOES", offsetof(struct opengl_funcs, p_glLightModelxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLightx", offsetof(struct opengl_funcs, p_glLightx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightxOES", offsetof(struct opengl_funcs, p_glLightxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLightxv", offsetof(struct opengl_funcs, p_glLightxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightxvOES", offsetof(struct opengl_funcs, p_glLightxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLineWidthx", offsetof(struct opengl_funcs, p_glLineWidthx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLineWidthxOES", offsetof(struct opengl_funcs, p_glLineWidthxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLinkProgram", offsetof(struct opengl_funcs, p_glLinkProgram), 2, 0, { GL_EXTENSION_COUNT }}, + { "glLinkProgramARB", offsetof(struct opengl_funcs, p_glLinkProgramARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glListDrawCommandsStatesClientNV", offsetof(struct opengl_funcs, p_glListDrawCommandsStatesClientNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glListParameterfSGIX", offsetof(struct opengl_funcs, p_glListParameterfSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glListParameterfvSGIX", offsetof(struct opengl_funcs, p_glListParameterfvSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glListParameteriSGIX", offsetof(struct opengl_funcs, p_glListParameteriSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glListParameterivSGIX", offsetof(struct opengl_funcs, p_glListParameterivSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glLoadIdentityDeformationMapSGIX", offsetof(struct opengl_funcs, p_glLoadIdentityDeformationMapSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glLoadMatrixx", offsetof(struct opengl_funcs, p_glLoadMatrixx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLoadMatrixxOES", offsetof(struct opengl_funcs, p_glLoadMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLoadProgramNV", offsetof(struct opengl_funcs, p_glLoadProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixd", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixd), 1, 3, { GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixdARB", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixdARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixf", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixf), 1, 3, { GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixfARB", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixfARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixxOES", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLockArraysEXT", offsetof(struct opengl_funcs, p_glLockArraysEXT), 0, 0, { GL_EXT_compiled_vertex_array, GL_EXTENSION_COUNT }}, + { "glMTexCoord2fSGIS", offsetof(struct opengl_funcs, p_glMTexCoord2fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMTexCoord2fvSGIS", offsetof(struct opengl_funcs, p_glMTexCoord2fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMakeBufferNonResidentNV", offsetof(struct opengl_funcs, p_glMakeBufferNonResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeBufferResidentNV", offsetof(struct opengl_funcs, p_glMakeBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleNonResidentARB", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleNonResidentNV", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleResidentARB", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleResidentNV", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeNamedBufferNonResidentNV", offsetof(struct opengl_funcs, p_glMakeNamedBufferNonResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeNamedBufferResidentNV", offsetof(struct opengl_funcs, p_glMakeNamedBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleNonResidentARB", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleNonResidentNV", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleResidentARB", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleResidentNV", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMap1xOES", offsetof(struct opengl_funcs, p_glMap1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMap2xOES", offsetof(struct opengl_funcs, p_glMap2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMapBuffer", offsetof(struct opengl_funcs, p_glMapBuffer), 1, 5, { GL_EXTENSION_COUNT }}, + { "glMapBufferARB", offsetof(struct opengl_funcs, p_glMapBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glMapBufferRange", offsetof(struct opengl_funcs, p_glMapBufferRange), 3, 0, { GL_ARB_map_buffer_range, GL_EXTENSION_COUNT }}, + { "glMapControlPointsNV", offsetof(struct opengl_funcs, p_glMapControlPointsNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glMapGrid1xOES", offsetof(struct opengl_funcs, p_glMapGrid1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMapGrid2xOES", offsetof(struct opengl_funcs, p_glMapGrid2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMapNamedBuffer", offsetof(struct opengl_funcs, p_glMapNamedBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapNamedBufferEXT", offsetof(struct opengl_funcs, p_glMapNamedBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapNamedBufferRange", offsetof(struct opengl_funcs, p_glMapNamedBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapNamedBufferRangeEXT", offsetof(struct opengl_funcs, p_glMapNamedBufferRangeEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapObjectBufferATI", offsetof(struct opengl_funcs, p_glMapObjectBufferATI), 0, 0, { GL_ATI_map_object_buffer, GL_EXTENSION_COUNT }}, + { "glMapParameterfvNV", offsetof(struct opengl_funcs, p_glMapParameterfvNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glMapParameterivNV", offsetof(struct opengl_funcs, p_glMapParameterivNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glMapTexture2DINTEL", offsetof(struct opengl_funcs, p_glMapTexture2DINTEL), 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib1dAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib1dAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib1fAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib1fAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib2dAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib2dAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib2fAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib2fAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMaterialx", offsetof(struct opengl_funcs, p_glMaterialx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMaterialxOES", offsetof(struct opengl_funcs, p_glMaterialxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMaterialxv", offsetof(struct opengl_funcs, p_glMaterialxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMaterialxvOES", offsetof(struct opengl_funcs, p_glMaterialxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMatrixFrustumEXT", offsetof(struct opengl_funcs, p_glMatrixFrustumEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixIndexPointerARB", offsetof(struct opengl_funcs, p_glMatrixIndexPointerARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixIndexubvARB", offsetof(struct opengl_funcs, p_glMatrixIndexubvARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixIndexuivARB", offsetof(struct opengl_funcs, p_glMatrixIndexuivARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixIndexusvARB", offsetof(struct opengl_funcs, p_glMatrixIndexusvARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixLoad3x2fNV", offsetof(struct opengl_funcs, p_glMatrixLoad3x2fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoad3x3fNV", offsetof(struct opengl_funcs, p_glMatrixLoad3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadIdentityEXT", offsetof(struct opengl_funcs, p_glMatrixLoadIdentityEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadTranspose3x3fNV", offsetof(struct opengl_funcs, p_glMatrixLoadTranspose3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadTransposedEXT", offsetof(struct opengl_funcs, p_glMatrixLoadTransposedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadTransposefEXT", offsetof(struct opengl_funcs, p_glMatrixLoadTransposefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoaddEXT", offsetof(struct opengl_funcs, p_glMatrixLoaddEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadfEXT", offsetof(struct opengl_funcs, p_glMatrixLoadfEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMult3x2fNV", offsetof(struct opengl_funcs, p_glMatrixMult3x2fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMult3x3fNV", offsetof(struct opengl_funcs, p_glMatrixMult3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultTranspose3x3fNV", offsetof(struct opengl_funcs, p_glMatrixMultTranspose3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultTransposedEXT", offsetof(struct opengl_funcs, p_glMatrixMultTransposedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultTransposefEXT", offsetof(struct opengl_funcs, p_glMatrixMultTransposefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultdEXT", offsetof(struct opengl_funcs, p_glMatrixMultdEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultfEXT", offsetof(struct opengl_funcs, p_glMatrixMultfEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixOrthoEXT", offsetof(struct opengl_funcs, p_glMatrixOrthoEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixPopEXT", offsetof(struct opengl_funcs, p_glMatrixPopEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixPushEXT", offsetof(struct opengl_funcs, p_glMatrixPushEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixRotatedEXT", offsetof(struct opengl_funcs, p_glMatrixRotatedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixRotatefEXT", offsetof(struct opengl_funcs, p_glMatrixRotatefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixScaledEXT", offsetof(struct opengl_funcs, p_glMatrixScaledEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixScalefEXT", offsetof(struct opengl_funcs, p_glMatrixScalefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixTranslatedEXT", offsetof(struct opengl_funcs, p_glMatrixTranslatedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixTranslatefEXT", offsetof(struct opengl_funcs, p_glMatrixTranslatefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMaxShaderCompilerThreadsARB", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsARB), 0, 0, { GL_ARB_parallel_shader_compile, GL_EXTENSION_COUNT }}, + { "glMaxShaderCompilerThreadsKHR", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsKHR), 0, 0, { GL_KHR_parallel_shader_compile, GL_EXTENSION_COUNT }}, + { "glMemoryBarrier", offsetof(struct opengl_funcs, p_glMemoryBarrier), 4, 2, { GL_ARB_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glMemoryBarrierByRegion", offsetof(struct opengl_funcs, p_glMemoryBarrierByRegion), 4, 5, { GL_ARB_ES3_1_compatibility, GL_NV_ES3_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMemoryBarrierEXT", offsetof(struct opengl_funcs, p_glMemoryBarrierEXT), 0, 0, { GL_EXT_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glMemoryObjectParameterivEXT", offsetof(struct opengl_funcs, p_glMemoryObjectParameterivEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glMinSampleShading", offsetof(struct opengl_funcs, p_glMinSampleShading), 4, 0, { GL_EXTENSION_COUNT }}, + { "glMinSampleShadingARB", offsetof(struct opengl_funcs, p_glMinSampleShadingARB), 0, 0, { GL_ARB_sample_shading, GL_EXTENSION_COUNT }}, + { "glMinmax", offsetof(struct opengl_funcs, p_glMinmax), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glMinmaxEXT", offsetof(struct opengl_funcs, p_glMinmaxEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glMultMatrixx", offsetof(struct opengl_funcs, p_glMultMatrixx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMultMatrixxOES", offsetof(struct opengl_funcs, p_glMultMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixd", offsetof(struct opengl_funcs, p_glMultTransposeMatrixd), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixdARB", offsetof(struct opengl_funcs, p_glMultTransposeMatrixdARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixf", offsetof(struct opengl_funcs, p_glMultTransposeMatrixf), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixfARB", offsetof(struct opengl_funcs, p_glMultTransposeMatrixfARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixxOES", offsetof(struct opengl_funcs, p_glMultTransposeMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiDrawArrays", offsetof(struct opengl_funcs, p_glMultiDrawArrays), 1, 4, { GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysEXT", offsetof(struct opengl_funcs, p_glMultiDrawArraysEXT), 0, 0, { GL_EXT_multi_draw_arrays, GL_SUN_multi_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirect", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirect), 4, 3, { GL_ARB_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectAMD", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectAMD), 0, 0, { GL_AMD_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectBindlessCountNV", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessCountNV), 0, 0, { GL_NV_bindless_multi_draw_indirect_count, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectBindlessNV", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessNV), 0, 0, { GL_NV_bindless_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectCount", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCount), 4, 6, { GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectCountARB", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCountARB), 0, 0, { GL_ARB_indirect_parameters, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementArrayAPPLE", offsetof(struct opengl_funcs, p_glMultiDrawElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glMultiDrawElements", offsetof(struct opengl_funcs, p_glMultiDrawElements), 1, 4, { GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsBaseVertex", offsetof(struct opengl_funcs, p_glMultiDrawElementsBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsEXT", offsetof(struct opengl_funcs, p_glMultiDrawElementsEXT), 0, 0, { GL_EXT_multi_draw_arrays, GL_SUN_multi_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirect", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirect), 4, 3, { GL_ARB_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectAMD", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectAMD), 0, 0, { GL_AMD_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectBindlessCountNV", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessCountNV), 0, 0, { GL_NV_bindless_multi_draw_indirect_count, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectBindlessNV", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessNV), 0, 0, { GL_NV_bindless_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectCount", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCount), 4, 6, { GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectCountARB", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCountARB), 0, 0, { GL_ARB_indirect_parameters, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectCountEXT", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectCountNV", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectEXT", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectNV", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawRangeElementArrayAPPLE", offsetof(struct opengl_funcs, p_glMultiDrawRangeElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glMultiModeDrawArraysIBM", offsetof(struct opengl_funcs, p_glMultiModeDrawArraysIBM), 0, 0, { GL_IBM_multimode_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiModeDrawElementsIBM", offsetof(struct opengl_funcs, p_glMultiModeDrawElementsIBM), 0, 0, { GL_IBM_multimode_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiTexBufferEXT", offsetof(struct opengl_funcs, p_glMultiTexBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1d", offsetof(struct opengl_funcs, p_glMultiTexCoord1d), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dv", offsetof(struct opengl_funcs, p_glMultiTexCoord1dv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1f", offsetof(struct opengl_funcs, p_glMultiTexCoord1f), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fv", offsetof(struct opengl_funcs, p_glMultiTexCoord1fv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord1hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1i", offsetof(struct opengl_funcs, p_glMultiTexCoord1i), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1iv", offsetof(struct opengl_funcs, p_glMultiTexCoord1iv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1s", offsetof(struct opengl_funcs, p_glMultiTexCoord1s), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1sv", offsetof(struct opengl_funcs, p_glMultiTexCoord1sv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2d", offsetof(struct opengl_funcs, p_glMultiTexCoord2d), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dv", offsetof(struct opengl_funcs, p_glMultiTexCoord2dv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2f", offsetof(struct opengl_funcs, p_glMultiTexCoord2f), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fv", offsetof(struct opengl_funcs, p_glMultiTexCoord2fv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2i", offsetof(struct opengl_funcs, p_glMultiTexCoord2i), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2iv", offsetof(struct opengl_funcs, p_glMultiTexCoord2iv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2s", offsetof(struct opengl_funcs, p_glMultiTexCoord2s), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2sv", offsetof(struct opengl_funcs, p_glMultiTexCoord2sv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3d", offsetof(struct opengl_funcs, p_glMultiTexCoord3d), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dv", offsetof(struct opengl_funcs, p_glMultiTexCoord3dv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3f", offsetof(struct opengl_funcs, p_glMultiTexCoord3f), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fv", offsetof(struct opengl_funcs, p_glMultiTexCoord3fv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3i", offsetof(struct opengl_funcs, p_glMultiTexCoord3i), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3iv", offsetof(struct opengl_funcs, p_glMultiTexCoord3iv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3s", offsetof(struct opengl_funcs, p_glMultiTexCoord3s), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3sv", offsetof(struct opengl_funcs, p_glMultiTexCoord3sv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4d", offsetof(struct opengl_funcs, p_glMultiTexCoord4d), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dv", offsetof(struct opengl_funcs, p_glMultiTexCoord4dv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4f", offsetof(struct opengl_funcs, p_glMultiTexCoord4f), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fv", offsetof(struct opengl_funcs, p_glMultiTexCoord4fv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4i", offsetof(struct opengl_funcs, p_glMultiTexCoord4i), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4iv", offsetof(struct opengl_funcs, p_glMultiTexCoord4iv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4s", offsetof(struct opengl_funcs, p_glMultiTexCoord4s), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4sv", offsetof(struct opengl_funcs, p_glMultiTexCoord4sv), 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4x", offsetof(struct opengl_funcs, p_glMultiTexCoord4x), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP1ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP1ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP1uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP1uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP2ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP2uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP3ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP3uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP4ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP4uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordPointerEXT", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordPointerSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexEnvfEXT", offsetof(struct opengl_funcs, p_glMultiTexEnvfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexEnvfvEXT", offsetof(struct opengl_funcs, p_glMultiTexEnvfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexEnviEXT", offsetof(struct opengl_funcs, p_glMultiTexEnviEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexEnvivEXT", offsetof(struct opengl_funcs, p_glMultiTexEnvivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGendEXT", offsetof(struct opengl_funcs, p_glMultiTexGendEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGendvEXT", offsetof(struct opengl_funcs, p_glMultiTexGendvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGenfEXT", offsetof(struct opengl_funcs, p_glMultiTexGenfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGenfvEXT", offsetof(struct opengl_funcs, p_glMultiTexGenfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGeniEXT", offsetof(struct opengl_funcs, p_glMultiTexGeniEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGenivEXT", offsetof(struct opengl_funcs, p_glMultiTexGenivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexImage1DEXT", offsetof(struct opengl_funcs, p_glMultiTexImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexImage2DEXT", offsetof(struct opengl_funcs, p_glMultiTexImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexImage3DEXT", offsetof(struct opengl_funcs, p_glMultiTexImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterIivEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterfEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterfvEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameteriEXT", offsetof(struct opengl_funcs, p_glMultiTexParameteriEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterivEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexRenderbufferEXT", offsetof(struct opengl_funcs, p_glMultiTexRenderbufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glMultiTexSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glMultiTexSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glMultiTexSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMulticastBarrierNV", offsetof(struct opengl_funcs, p_glMulticastBarrierNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastBlitFramebufferNV", offsetof(struct opengl_funcs, p_glMulticastBlitFramebufferNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastBufferSubDataNV", offsetof(struct opengl_funcs, p_glMulticastBufferSubDataNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastCopyBufferSubDataNV", offsetof(struct opengl_funcs, p_glMulticastCopyBufferSubDataNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastCopyImageSubDataNV", offsetof(struct opengl_funcs, p_glMulticastCopyImageSubDataNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastFramebufferSampleLocationsfvNV", offsetof(struct opengl_funcs, p_glMulticastFramebufferSampleLocationsfvNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjecti64vNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjecti64vNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjectivNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectivNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjectui64vNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectui64vNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjectuivNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectuivNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastScissorArrayvNVX", offsetof(struct opengl_funcs, p_glMulticastScissorArrayvNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glMulticastViewportArrayvNVX", offsetof(struct opengl_funcs, p_glMulticastViewportArrayvNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glMulticastViewportPositionWScaleNVX", offsetof(struct opengl_funcs, p_glMulticastViewportPositionWScaleNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glMulticastWaitSyncNV", offsetof(struct opengl_funcs, p_glMulticastWaitSyncNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glNamedBufferAttachMemoryNV", offsetof(struct opengl_funcs, p_glNamedBufferAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glNamedBufferData", offsetof(struct opengl_funcs, p_glNamedBufferData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferDataEXT", offsetof(struct opengl_funcs, p_glNamedBufferDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferPageCommitmentARB", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentARB), 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, + { "glNamedBufferPageCommitmentEXT", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentEXT), 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, + { "glNamedBufferPageCommitmentMemNV", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorage", offsetof(struct opengl_funcs, p_glNamedBufferStorage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorageEXT", offsetof(struct opengl_funcs, p_glNamedBufferStorageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorageExternalEXT", offsetof(struct opengl_funcs, p_glNamedBufferStorageExternalEXT), 0, 0, { GL_EXT_external_buffer, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorageMemEXT", offsetof(struct opengl_funcs, p_glNamedBufferStorageMemEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glNamedBufferSubData", offsetof(struct opengl_funcs, p_glNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferSubDataEXT", offsetof(struct opengl_funcs, p_glNamedBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedCopyBufferSubDataEXT", offsetof(struct opengl_funcs, p_glNamedCopyBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferDrawBuffer", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferDrawBuffers", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferParameteri", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteri), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferParameteriEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteriEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferReadBuffer", offsetof(struct opengl_funcs, p_glNamedFramebufferReadBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferRenderbuffer", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferRenderbufferEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferSampleLocationsfvARB", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvARB), 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferSampleLocationsfvNV", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvNV), 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferSamplePositionsfvAMD", offsetof(struct opengl_funcs, p_glNamedFramebufferSamplePositionsfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture1DEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture2DEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture3DEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureFaceEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureFaceEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureLayer", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureLayerEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayerEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureMultiviewOVR", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureMultiviewOVR), 0, 0, { GL_OVR_multiview, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4dEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4dvEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4fEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4fvEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4iEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4ivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4uiEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4uivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameters4fvEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameters4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParametersI4ivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParametersI4uivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramStringEXT", offsetof(struct opengl_funcs, p_glNamedProgramStringEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorage", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageEXT", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisample", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisample), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisampleAdvancedAMD", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleAdvancedAMD), 0, 0, { GL_AMD_framebuffer_multisample_advanced, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisampleCoverageEXT", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleCoverageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisampleEXT", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedStringARB", offsetof(struct opengl_funcs, p_glNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glNewBufferRegion", offsetof(struct opengl_funcs, p_glNewBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glNewObjectBufferATI", offsetof(struct opengl_funcs, p_glNewObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glNormal3hNV", offsetof(struct opengl_funcs, p_glNormal3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glNormal3hvNV", offsetof(struct opengl_funcs, p_glNormal3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glNormal3x", offsetof(struct opengl_funcs, p_glNormal3x), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glNormal3xOES", offsetof(struct opengl_funcs, p_glNormal3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glNormal3xvOES", offsetof(struct opengl_funcs, p_glNormal3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glNormalFormatNV", offsetof(struct opengl_funcs, p_glNormalFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glNormalP3ui", offsetof(struct opengl_funcs, p_glNormalP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glNormalP3uiv", offsetof(struct opengl_funcs, p_glNormalP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glNormalPointerEXT", offsetof(struct opengl_funcs, p_glNormalPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glNormalPointerListIBM", offsetof(struct opengl_funcs, p_glNormalPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glNormalPointervINTEL", offsetof(struct opengl_funcs, p_glNormalPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glNormalStream3bATI", offsetof(struct opengl_funcs, p_glNormalStream3bATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3bvATI", offsetof(struct opengl_funcs, p_glNormalStream3bvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3dATI", offsetof(struct opengl_funcs, p_glNormalStream3dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3dvATI", offsetof(struct opengl_funcs, p_glNormalStream3dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3fATI", offsetof(struct opengl_funcs, p_glNormalStream3fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3fvATI", offsetof(struct opengl_funcs, p_glNormalStream3fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3iATI", offsetof(struct opengl_funcs, p_glNormalStream3iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3ivATI", offsetof(struct opengl_funcs, p_glNormalStream3ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3sATI", offsetof(struct opengl_funcs, p_glNormalStream3sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3svATI", offsetof(struct opengl_funcs, p_glNormalStream3svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glObjectLabel", offsetof(struct opengl_funcs, p_glObjectLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glObjectPtrLabel", offsetof(struct opengl_funcs, p_glObjectPtrLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glObjectPurgeableAPPLE", offsetof(struct opengl_funcs, p_glObjectPurgeableAPPLE), 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, + { "glObjectUnpurgeableAPPLE", offsetof(struct opengl_funcs, p_glObjectUnpurgeableAPPLE), 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, + { "glOrthof", offsetof(struct opengl_funcs, p_glOrthof), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glOrthofOES", offsetof(struct opengl_funcs, p_glOrthofOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glOrthox", offsetof(struct opengl_funcs, p_glOrthox), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glOrthoxOES", offsetof(struct opengl_funcs, p_glOrthoxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPNTrianglesfATI", offsetof(struct opengl_funcs, p_glPNTrianglesfATI), 0, 0, { GL_ATI_pn_triangles, GL_EXTENSION_COUNT }}, + { "glPNTrianglesiATI", offsetof(struct opengl_funcs, p_glPNTrianglesiATI), 0, 0, { GL_ATI_pn_triangles, GL_EXTENSION_COUNT }}, + { "glPassTexCoordATI", offsetof(struct opengl_funcs, p_glPassTexCoordATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glPassThroughxOES", offsetof(struct opengl_funcs, p_glPassThroughxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPatchParameterfv", offsetof(struct opengl_funcs, p_glPatchParameterfv), 4, 0, { GL_ARB_tessellation_shader, GL_EXTENSION_COUNT }}, + { "glPatchParameteri", offsetof(struct opengl_funcs, p_glPatchParameteri), 4, 0, { GL_ARB_tessellation_shader, GL_EXTENSION_COUNT }}, + { "glPathColorGenNV", offsetof(struct opengl_funcs, p_glPathColorGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathCommandsNV", offsetof(struct opengl_funcs, p_glPathCommandsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathCoordsNV", offsetof(struct opengl_funcs, p_glPathCoordsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathCoverDepthFuncNV", offsetof(struct opengl_funcs, p_glPathCoverDepthFuncNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathDashArrayNV", offsetof(struct opengl_funcs, p_glPathDashArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathFogGenNV", offsetof(struct opengl_funcs, p_glPathFogGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphIndexArrayNV", offsetof(struct opengl_funcs, p_glPathGlyphIndexArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphIndexRangeNV", offsetof(struct opengl_funcs, p_glPathGlyphIndexRangeNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphRangeNV", offsetof(struct opengl_funcs, p_glPathGlyphRangeNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphsNV", offsetof(struct opengl_funcs, p_glPathGlyphsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathMemoryGlyphIndexArrayNV", offsetof(struct opengl_funcs, p_glPathMemoryGlyphIndexArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameterfNV", offsetof(struct opengl_funcs, p_glPathParameterfNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameterfvNV", offsetof(struct opengl_funcs, p_glPathParameterfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameteriNV", offsetof(struct opengl_funcs, p_glPathParameteriNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameterivNV", offsetof(struct opengl_funcs, p_glPathParameterivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathStencilDepthOffsetNV", offsetof(struct opengl_funcs, p_glPathStencilDepthOffsetNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathStencilFuncNV", offsetof(struct opengl_funcs, p_glPathStencilFuncNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathStringNV", offsetof(struct opengl_funcs, p_glPathStringNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathSubCommandsNV", offsetof(struct opengl_funcs, p_glPathSubCommandsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathSubCoordsNV", offsetof(struct opengl_funcs, p_glPathSubCoordsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathTexGenNV", offsetof(struct opengl_funcs, p_glPathTexGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPauseTransformFeedback", offsetof(struct opengl_funcs, p_glPauseTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glPauseTransformFeedbackNV", offsetof(struct opengl_funcs, p_glPauseTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glPixelDataRangeNV", offsetof(struct opengl_funcs, p_glPixelDataRangeNV), 0, 0, { GL_NV_pixel_data_range, GL_EXTENSION_COUNT }}, + { "glPixelMapx", offsetof(struct opengl_funcs, p_glPixelMapx), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPixelStorex", offsetof(struct opengl_funcs, p_glPixelStorex), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameterfSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameterfvSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfvSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameteriSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameteriSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameterivSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameterivSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenSGIX", offsetof(struct opengl_funcs, p_glPixelTexGenSGIX), 0, 0, { GL_SGIX_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTransferxOES", offsetof(struct opengl_funcs, p_glPixelTransferxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameterfEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameterfEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameterfvEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameterfvEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameteriEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameteriEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameterivEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameterivEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelZoomxOES", offsetof(struct opengl_funcs, p_glPixelZoomxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPointAlongPathNV", offsetof(struct opengl_funcs, p_glPointAlongPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPointParameterf", offsetof(struct opengl_funcs, p_glPointParameterf), 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameterfARB", offsetof(struct opengl_funcs, p_glPointParameterfARB), 0, 0, { GL_ARB_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfEXT", offsetof(struct opengl_funcs, p_glPointParameterfEXT), 0, 0, { GL_EXT_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfSGIS", offsetof(struct opengl_funcs, p_glPointParameterfSGIS), 0, 0, { GL_SGIS_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfv", offsetof(struct opengl_funcs, p_glPointParameterfv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameterfvARB", offsetof(struct opengl_funcs, p_glPointParameterfvARB), 0, 0, { GL_ARB_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfvEXT", offsetof(struct opengl_funcs, p_glPointParameterfvEXT), 0, 0, { GL_EXT_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfvSGIS", offsetof(struct opengl_funcs, p_glPointParameterfvSGIS), 0, 0, { GL_SGIS_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameteri", offsetof(struct opengl_funcs, p_glPointParameteri), 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameteriNV", offsetof(struct opengl_funcs, p_glPointParameteriNV), 0, 0, { GL_NV_point_sprite, GL_EXTENSION_COUNT }}, + { "glPointParameteriv", offsetof(struct opengl_funcs, p_glPointParameteriv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameterivNV", offsetof(struct opengl_funcs, p_glPointParameterivNV), 0, 0, { GL_NV_point_sprite, GL_EXTENSION_COUNT }}, + { "glPointParameterx", offsetof(struct opengl_funcs, p_glPointParameterx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPointParameterxv", offsetof(struct opengl_funcs, p_glPointParameterxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPointParameterxvOES", offsetof(struct opengl_funcs, p_glPointParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPointSizex", offsetof(struct opengl_funcs, p_glPointSizex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPointSizexOES", offsetof(struct opengl_funcs, p_glPointSizexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPollAsyncSGIX", offsetof(struct opengl_funcs, p_glPollAsyncSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glPollInstrumentsSGIX", offsetof(struct opengl_funcs, p_glPollInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetClamp", offsetof(struct opengl_funcs, p_glPolygonOffsetClamp), 4, 6, { GL_ARB_polygon_offset_clamp, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetClampEXT", offsetof(struct opengl_funcs, p_glPolygonOffsetClampEXT), 0, 0, { GL_EXT_polygon_offset_clamp, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetEXT", offsetof(struct opengl_funcs, p_glPolygonOffsetEXT), 0, 0, { GL_EXT_polygon_offset, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetx", offsetof(struct opengl_funcs, p_glPolygonOffsetx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetxOES", offsetof(struct opengl_funcs, p_glPolygonOffsetxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPopDebugGroup", offsetof(struct opengl_funcs, p_glPopDebugGroup), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glPopGroupMarkerEXT", offsetof(struct opengl_funcs, p_glPopGroupMarkerEXT), 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, + { "glPresentFrameDualFillNV", offsetof(struct opengl_funcs, p_glPresentFrameDualFillNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glPresentFrameKeyedNV", offsetof(struct opengl_funcs, p_glPresentFrameKeyedNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glPrimitiveBoundingBox", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBox), 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, + { "glPrimitiveBoundingBoxARB", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBoxARB), 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, + { "glPrimitiveRestartIndex", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndex), 3, 1, { GL_EXTENSION_COUNT }}, + { "glPrimitiveRestartIndexNV", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndexNV), 0, 0, { GL_NV_primitive_restart, GL_EXTENSION_COUNT }}, + { "glPrimitiveRestartNV", offsetof(struct opengl_funcs, p_glPrimitiveRestartNV), 0, 0, { GL_NV_primitive_restart, GL_EXTENSION_COUNT }}, + { "glPrioritizeTexturesEXT", offsetof(struct opengl_funcs, p_glPrioritizeTexturesEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glPrioritizeTexturesxOES", offsetof(struct opengl_funcs, p_glPrioritizeTexturesxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glProgramBinary", offsetof(struct opengl_funcs, p_glProgramBinary), 4, 1, { GL_ARB_get_program_binary, GL_EXTENSION_COUNT }}, + { "glProgramBufferParametersIivNV", offsetof(struct opengl_funcs, p_glProgramBufferParametersIivNV), 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, + { "glProgramBufferParametersIuivNV", offsetof(struct opengl_funcs, p_glProgramBufferParametersIuivNV), 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, + { "glProgramBufferParametersfvNV", offsetof(struct opengl_funcs, p_glProgramBufferParametersfvNV), 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4dARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4dvARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4fARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4fvARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4iNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4iNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4ivNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4uiNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uiNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4uivNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameters4fvEXT", offsetof(struct opengl_funcs, p_glProgramEnvParameters4fvEXT), 0, 0, { GL_EXT_gpu_program_parameters, GL_EXTENSION_COUNT }}, + { "glProgramEnvParametersI4ivNV", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParametersI4uivNV", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4dARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4dvARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4fARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4fvARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4iNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4iNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4ivNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4uiNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uiNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4uivNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameters4fvEXT", offsetof(struct opengl_funcs, p_glProgramLocalParameters4fvEXT), 0, 0, { GL_EXT_gpu_program_parameters, GL_EXTENSION_COUNT }}, + { "glProgramLocalParametersI4ivNV", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParametersI4uivNV", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4dNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4dvNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4fNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4fvNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4dNV", offsetof(struct opengl_funcs, p_glProgramParameter4dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4dvNV", offsetof(struct opengl_funcs, p_glProgramParameter4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4fNV", offsetof(struct opengl_funcs, p_glProgramParameter4fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4fvNV", offsetof(struct opengl_funcs, p_glProgramParameter4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameteri", offsetof(struct opengl_funcs, p_glProgramParameteri), 4, 1, { GL_ARB_get_program_binary, GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramParameteriARB", offsetof(struct opengl_funcs, p_glProgramParameteriARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glProgramParameteriEXT", offsetof(struct opengl_funcs, p_glProgramParameteriEXT), 0, 0, { GL_EXT_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glProgramParameters4dvNV", offsetof(struct opengl_funcs, p_glProgramParameters4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameters4fvNV", offsetof(struct opengl_funcs, p_glProgramParameters4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramPathFragmentInputGenNV", offsetof(struct opengl_funcs, p_glProgramPathFragmentInputGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glProgramStringARB", offsetof(struct opengl_funcs, p_glProgramStringARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramSubroutineParametersuivNV", offsetof(struct opengl_funcs, p_glProgramSubroutineParametersuivNV), 0, 0, { GL_NV_gpu_program5, GL_NV_gpu_program_fp64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1d", offsetof(struct opengl_funcs, p_glProgramUniform1d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1dEXT", offsetof(struct opengl_funcs, p_glProgramUniform1dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1dv", offsetof(struct opengl_funcs, p_glProgramUniform1dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform1dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1f", offsetof(struct opengl_funcs, p_glProgramUniform1f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1fEXT", offsetof(struct opengl_funcs, p_glProgramUniform1fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1fv", offsetof(struct opengl_funcs, p_glProgramUniform1fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform1fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i", offsetof(struct opengl_funcs, p_glProgramUniform1i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform1i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64NV", offsetof(struct opengl_funcs, p_glProgramUniform1i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform1i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform1i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1iEXT", offsetof(struct opengl_funcs, p_glProgramUniform1iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1iv", offsetof(struct opengl_funcs, p_glProgramUniform1iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform1ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui", offsetof(struct opengl_funcs, p_glProgramUniform1ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform1ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform1ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform1uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1uiv", offsetof(struct opengl_funcs, p_glProgramUniform1uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform1uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2d", offsetof(struct opengl_funcs, p_glProgramUniform2d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2dEXT", offsetof(struct opengl_funcs, p_glProgramUniform2dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2dv", offsetof(struct opengl_funcs, p_glProgramUniform2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2f", offsetof(struct opengl_funcs, p_glProgramUniform2f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2fEXT", offsetof(struct opengl_funcs, p_glProgramUniform2fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2fv", offsetof(struct opengl_funcs, p_glProgramUniform2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i", offsetof(struct opengl_funcs, p_glProgramUniform2i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform2i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64NV", offsetof(struct opengl_funcs, p_glProgramUniform2i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform2i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform2i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2iEXT", offsetof(struct opengl_funcs, p_glProgramUniform2iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2iv", offsetof(struct opengl_funcs, p_glProgramUniform2iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform2ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui", offsetof(struct opengl_funcs, p_glProgramUniform2ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform2ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform2ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform2uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2uiv", offsetof(struct opengl_funcs, p_glProgramUniform2uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform2uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3d", offsetof(struct opengl_funcs, p_glProgramUniform3d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3dEXT", offsetof(struct opengl_funcs, p_glProgramUniform3dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3dv", offsetof(struct opengl_funcs, p_glProgramUniform3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3f", offsetof(struct opengl_funcs, p_glProgramUniform3f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3fEXT", offsetof(struct opengl_funcs, p_glProgramUniform3fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3fv", offsetof(struct opengl_funcs, p_glProgramUniform3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i", offsetof(struct opengl_funcs, p_glProgramUniform3i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform3i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64NV", offsetof(struct opengl_funcs, p_glProgramUniform3i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform3i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform3i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3iEXT", offsetof(struct opengl_funcs, p_glProgramUniform3iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3iv", offsetof(struct opengl_funcs, p_glProgramUniform3iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform3ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui", offsetof(struct opengl_funcs, p_glProgramUniform3ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform3ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform3ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform3uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3uiv", offsetof(struct opengl_funcs, p_glProgramUniform3uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform3uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4d", offsetof(struct opengl_funcs, p_glProgramUniform4d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4dEXT", offsetof(struct opengl_funcs, p_glProgramUniform4dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4dv", offsetof(struct opengl_funcs, p_glProgramUniform4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4f", offsetof(struct opengl_funcs, p_glProgramUniform4f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4fEXT", offsetof(struct opengl_funcs, p_glProgramUniform4fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4fv", offsetof(struct opengl_funcs, p_glProgramUniform4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i", offsetof(struct opengl_funcs, p_glProgramUniform4i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform4i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64NV", offsetof(struct opengl_funcs, p_glProgramUniform4i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform4i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform4i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4iEXT", offsetof(struct opengl_funcs, p_glProgramUniform4iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4iv", offsetof(struct opengl_funcs, p_glProgramUniform4iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform4ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui", offsetof(struct opengl_funcs, p_glProgramUniform4ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform4ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform4ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform4uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4uiv", offsetof(struct opengl_funcs, p_glProgramUniform4uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform4uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64ARB", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64ARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64NV", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64NV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64vARB", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64vNV", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformui64NV", offsetof(struct opengl_funcs, p_glProgramUniformui64NV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glProgramUniformui64vNV", offsetof(struct opengl_funcs, p_glProgramUniformui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glProgramVertexLimitNV", offsetof(struct opengl_funcs, p_glProgramVertexLimitNV), 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glProvokingVertex", offsetof(struct opengl_funcs, p_glProvokingVertex), 3, 2, { GL_ARB_provoking_vertex, GL_EXTENSION_COUNT }}, + { "glProvokingVertexEXT", offsetof(struct opengl_funcs, p_glProvokingVertexEXT), 0, 0, { GL_EXT_provoking_vertex, GL_EXTENSION_COUNT }}, + { "glPushClientAttribDefaultEXT", offsetof(struct opengl_funcs, p_glPushClientAttribDefaultEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glPushDebugGroup", offsetof(struct opengl_funcs, p_glPushDebugGroup), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glPushGroupMarkerEXT", offsetof(struct opengl_funcs, p_glPushGroupMarkerEXT), 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, + { "glQueryCounter", offsetof(struct opengl_funcs, p_glQueryCounter), 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, + { "glQueryMatrixxOES", offsetof(struct opengl_funcs, p_glQueryMatrixxOES), 0, 0, { GL_OES_query_matrix, GL_EXTENSION_COUNT }}, + { "glQueryObjectParameteruiAMD", offsetof(struct opengl_funcs, p_glQueryObjectParameteruiAMD), 0, 0, { GL_AMD_occlusion_query_event, GL_EXTENSION_COUNT }}, + { "glQueryResourceNV", offsetof(struct opengl_funcs, p_glQueryResourceNV), 0, 0, { GL_NV_query_resource, GL_EXTENSION_COUNT }}, + { "glQueryResourceTagNV", offsetof(struct opengl_funcs, p_glQueryResourceTagNV), 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, + { "glRasterPos2xOES", offsetof(struct opengl_funcs, p_glRasterPos2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos2xvOES", offsetof(struct opengl_funcs, p_glRasterPos2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos3xOES", offsetof(struct opengl_funcs, p_glRasterPos3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos3xvOES", offsetof(struct opengl_funcs, p_glRasterPos3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos4xOES", offsetof(struct opengl_funcs, p_glRasterPos4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos4xvOES", offsetof(struct opengl_funcs, p_glRasterPos4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterSamplesEXT", offsetof(struct opengl_funcs, p_glRasterSamplesEXT), 0, 0, { GL_EXT_raster_multisample, GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glReadBufferRegion", offsetof(struct opengl_funcs, p_glReadBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glReadInstrumentsSGIX", offsetof(struct opengl_funcs, p_glReadInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glReadnPixels", offsetof(struct opengl_funcs, p_glReadnPixels), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glReadnPixelsARB", offsetof(struct opengl_funcs, p_glReadnPixelsARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glRectxOES", offsetof(struct opengl_funcs, p_glRectxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRectxvOES", offsetof(struct opengl_funcs, p_glRectxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glReferencePlaneSGIX", offsetof(struct opengl_funcs, p_glReferencePlaneSGIX), 0, 0, { GL_SGIX_reference_plane, GL_EXTENSION_COUNT }}, + { "glReleaseKeyedMutexWin32EXT", offsetof(struct opengl_funcs, p_glReleaseKeyedMutexWin32EXT), 0, 0, { GL_EXT_win32_keyed_mutex, GL_EXTENSION_COUNT }}, + { "glReleaseShaderCompiler", offsetof(struct opengl_funcs, p_glReleaseShaderCompiler), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glRenderGpuMaskNV", offsetof(struct opengl_funcs, p_glRenderGpuMaskNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorage", offsetof(struct opengl_funcs, p_glRenderbufferStorage), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageEXT", offsetof(struct opengl_funcs, p_glRenderbufferStorageEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisample", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisample), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisampleAdvancedAMD", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleAdvancedAMD), 0, 0, { GL_AMD_framebuffer_multisample_advanced, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleCoverageNV), 0, 0, { GL_NV_framebuffer_multisample_coverage, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisampleEXT", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleEXT), 0, 0, { GL_EXT_framebuffer_multisample, GL_EXTENSION_COUNT }}, + { "glReplacementCodePointerSUN", offsetof(struct opengl_funcs, p_glReplacementCodePointerSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeubSUN", offsetof(struct opengl_funcs, p_glReplacementCodeubSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeubvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeubvSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4ubVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4ubVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuivSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuivSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeusSUN", offsetof(struct opengl_funcs, p_glReplacementCodeusSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeusvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeusvSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glRequestResidentProgramsNV", offsetof(struct opengl_funcs, p_glRequestResidentProgramsNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glResetHistogram", offsetof(struct opengl_funcs, p_glResetHistogram), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glResetHistogramEXT", offsetof(struct opengl_funcs, p_glResetHistogramEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glResetMemoryObjectParameterNV", offsetof(struct opengl_funcs, p_glResetMemoryObjectParameterNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glResetMinmax", offsetof(struct opengl_funcs, p_glResetMinmax), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glResetMinmaxEXT", offsetof(struct opengl_funcs, p_glResetMinmaxEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glResizeBuffersMESA", offsetof(struct opengl_funcs, p_glResizeBuffersMESA), 0, 0, { GL_MESA_resize_buffers, GL_EXTENSION_COUNT }}, + { "glResolveDepthValuesNV", offsetof(struct opengl_funcs, p_glResolveDepthValuesNV), 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, + { "glResumeTransformFeedback", offsetof(struct opengl_funcs, p_glResumeTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glResumeTransformFeedbackNV", offsetof(struct opengl_funcs, p_glResumeTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glRotatex", offsetof(struct opengl_funcs, p_glRotatex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glRotatexOES", offsetof(struct opengl_funcs, p_glRotatexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glSampleCoverage", offsetof(struct opengl_funcs, p_glSampleCoverage), 1, 3, { GL_EXTENSION_COUNT }}, + { "glSampleCoverageARB", offsetof(struct opengl_funcs, p_glSampleCoverageARB), 0, 0, { GL_ARB_multisample, GL_EXTENSION_COUNT }}, + { "glSampleCoveragex", offsetof(struct opengl_funcs, p_glSampleCoveragex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glSampleMapATI", offsetof(struct opengl_funcs, p_glSampleMapATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glSampleMaskEXT", offsetof(struct opengl_funcs, p_glSampleMaskEXT), 0, 0, { GL_EXT_multisample, GL_EXTENSION_COUNT }}, + { "glSampleMaskIndexedNV", offsetof(struct opengl_funcs, p_glSampleMaskIndexedNV), 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, + { "glSampleMaskSGIS", offsetof(struct opengl_funcs, p_glSampleMaskSGIS), 0, 0, { GL_SGIS_multisample, GL_EXTENSION_COUNT }}, + { "glSampleMaski", offsetof(struct opengl_funcs, p_glSampleMaski), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glSamplePatternEXT", offsetof(struct opengl_funcs, p_glSamplePatternEXT), 0, 0, { GL_EXT_multisample, GL_EXTENSION_COUNT }}, + { "glSamplePatternSGIS", offsetof(struct opengl_funcs, p_glSamplePatternSGIS), 0, 0, { GL_SGIS_multisample, GL_EXTENSION_COUNT }}, + { "glSamplerParameterIiv", offsetof(struct opengl_funcs, p_glSamplerParameterIiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameterIuiv", offsetof(struct opengl_funcs, p_glSamplerParameterIuiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameterf", offsetof(struct opengl_funcs, p_glSamplerParameterf), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameterfv", offsetof(struct opengl_funcs, p_glSamplerParameterfv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameteri", offsetof(struct opengl_funcs, p_glSamplerParameteri), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameteriv", offsetof(struct opengl_funcs, p_glSamplerParameteriv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glScalex", offsetof(struct opengl_funcs, p_glScalex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glScalexOES", offsetof(struct opengl_funcs, p_glScalexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glScissorArrayv", offsetof(struct opengl_funcs, p_glScissorArrayv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glScissorExclusiveArrayvNV", offsetof(struct opengl_funcs, p_glScissorExclusiveArrayvNV), 0, 0, { GL_NV_scissor_exclusive, GL_EXTENSION_COUNT }}, + { "glScissorExclusiveNV", offsetof(struct opengl_funcs, p_glScissorExclusiveNV), 0, 0, { GL_NV_scissor_exclusive, GL_EXTENSION_COUNT }}, + { "glScissorIndexed", offsetof(struct opengl_funcs, p_glScissorIndexed), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glScissorIndexedv", offsetof(struct opengl_funcs, p_glScissorIndexedv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3b", offsetof(struct opengl_funcs, p_glSecondaryColor3b), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3bEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3bEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3bv", offsetof(struct opengl_funcs, p_glSecondaryColor3bv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3bvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3bvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3d", offsetof(struct opengl_funcs, p_glSecondaryColor3d), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3dEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3dEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3dv", offsetof(struct opengl_funcs, p_glSecondaryColor3dv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3dvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3dvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3f", offsetof(struct opengl_funcs, p_glSecondaryColor3f), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3fEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3fEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3fv", offsetof(struct opengl_funcs, p_glSecondaryColor3fv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3fvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3fvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3hNV", offsetof(struct opengl_funcs, p_glSecondaryColor3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3hvNV", offsetof(struct opengl_funcs, p_glSecondaryColor3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3i", offsetof(struct opengl_funcs, p_glSecondaryColor3i), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3iEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3iEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3iv", offsetof(struct opengl_funcs, p_glSecondaryColor3iv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ivEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3ivEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3s", offsetof(struct opengl_funcs, p_glSecondaryColor3s), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3sEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3sEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3sv", offsetof(struct opengl_funcs, p_glSecondaryColor3sv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3svEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3svEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ub", offsetof(struct opengl_funcs, p_glSecondaryColor3ub), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ubEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3ubEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ubv", offsetof(struct opengl_funcs, p_glSecondaryColor3ubv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ubvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3ubvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ui", offsetof(struct opengl_funcs, p_glSecondaryColor3ui), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3uiEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3uiEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3uiv", offsetof(struct opengl_funcs, p_glSecondaryColor3uiv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3uivEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3uivEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3us", offsetof(struct opengl_funcs, p_glSecondaryColor3us), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3usEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3usEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3usv", offsetof(struct opengl_funcs, p_glSecondaryColor3usv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3usvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3usvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColorFormatNV", offsetof(struct opengl_funcs, p_glSecondaryColorFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glSecondaryColorP3ui", offsetof(struct opengl_funcs, p_glSecondaryColorP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glSecondaryColorP3uiv", offsetof(struct opengl_funcs, p_glSecondaryColorP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glSecondaryColorPointer", offsetof(struct opengl_funcs, p_glSecondaryColorPointer), 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColorPointerEXT", offsetof(struct opengl_funcs, p_glSecondaryColorPointerEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColorPointerListIBM", offsetof(struct opengl_funcs, p_glSecondaryColorPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glSelectPerfMonitorCountersAMD", offsetof(struct opengl_funcs, p_glSelectPerfMonitorCountersAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glSelectTextureCoordSetSGIS", offsetof(struct opengl_funcs, p_glSelectTextureCoordSetSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glSelectTextureSGIS", offsetof(struct opengl_funcs, p_glSelectTextureSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glSemaphoreParameterivNV", offsetof(struct opengl_funcs, p_glSemaphoreParameterivNV), 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, + { "glSemaphoreParameterui64vEXT", offsetof(struct opengl_funcs, p_glSemaphoreParameterui64vEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glSeparableFilter2D", offsetof(struct opengl_funcs, p_glSeparableFilter2D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glSeparableFilter2DEXT", offsetof(struct opengl_funcs, p_glSeparableFilter2DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glSetFenceAPPLE", offsetof(struct opengl_funcs, p_glSetFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glSetFenceNV", offsetof(struct opengl_funcs, p_glSetFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glSetFragmentShaderConstantATI", offsetof(struct opengl_funcs, p_glSetFragmentShaderConstantATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glSetInvariantEXT", offsetof(struct opengl_funcs, p_glSetInvariantEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glSetLocalConstantEXT", offsetof(struct opengl_funcs, p_glSetLocalConstantEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glSetMultisamplefvAMD", offsetof(struct opengl_funcs, p_glSetMultisamplefvAMD), 0, 0, { GL_AMD_sample_positions, GL_EXTENSION_COUNT }}, + { "glShaderBinary", offsetof(struct opengl_funcs, p_glShaderBinary), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glShaderOp1EXT", offsetof(struct opengl_funcs, p_glShaderOp1EXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glShaderOp2EXT", offsetof(struct opengl_funcs, p_glShaderOp2EXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glShaderOp3EXT", offsetof(struct opengl_funcs, p_glShaderOp3EXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glShaderSource", offsetof(struct opengl_funcs, p_glShaderSource), 2, 0, { GL_EXTENSION_COUNT }}, + { "glShaderSourceARB", offsetof(struct opengl_funcs, p_glShaderSourceARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glShaderStorageBlockBinding", offsetof(struct opengl_funcs, p_glShaderStorageBlockBinding), 4, 3, { GL_ARB_shader_storage_buffer_object, GL_EXTENSION_COUNT }}, + { "glShadingRateCombinerOpsEXT", offsetof(struct opengl_funcs, p_glShadingRateCombinerOpsEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glShadingRateEXT", offsetof(struct opengl_funcs, p_glShadingRateEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glShadingRateImageBarrierNV", offsetof(struct opengl_funcs, p_glShadingRateImageBarrierNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glShadingRateImagePaletteNV", offsetof(struct opengl_funcs, p_glShadingRateImagePaletteNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glShadingRateSampleOrderCustomNV", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderCustomNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glShadingRateSampleOrderNV", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glSharpenTexFuncSGIS", offsetof(struct opengl_funcs, p_glSharpenTexFuncSGIS), 0, 0, { GL_SGIS_sharpen_texture, GL_EXTENSION_COUNT }}, + { "glSignalSemaphoreEXT", offsetof(struct opengl_funcs, p_glSignalSemaphoreEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glSignalSemaphoreui64NVX", offsetof(struct opengl_funcs, p_glSignalSemaphoreui64NVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glSignalVkFenceNV", offsetof(struct opengl_funcs, p_glSignalVkFenceNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glSignalVkSemaphoreNV", offsetof(struct opengl_funcs, p_glSignalVkSemaphoreNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glSpecializeShader", offsetof(struct opengl_funcs, p_glSpecializeShader), 4, 6, { GL_EXTENSION_COUNT }}, + { "glSpecializeShaderARB", offsetof(struct opengl_funcs, p_glSpecializeShaderARB), 0, 0, { GL_ARB_gl_spirv, GL_EXTENSION_COUNT }}, + { "glSpriteParameterfSGIX", offsetof(struct opengl_funcs, p_glSpriteParameterfSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glSpriteParameterfvSGIX", offsetof(struct opengl_funcs, p_glSpriteParameterfvSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glSpriteParameteriSGIX", offsetof(struct opengl_funcs, p_glSpriteParameteriSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glSpriteParameterivSGIX", offsetof(struct opengl_funcs, p_glSpriteParameterivSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glStartInstrumentsSGIX", offsetof(struct opengl_funcs, p_glStartInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glStateCaptureNV", offsetof(struct opengl_funcs, p_glStateCaptureNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glStencilClearTagEXT", offsetof(struct opengl_funcs, p_glStencilClearTagEXT), 0, 0, { GL_EXT_stencil_clear_tag, GL_EXTENSION_COUNT }}, + { "glStencilFillPathInstancedNV", offsetof(struct opengl_funcs, p_glStencilFillPathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilFillPathNV", offsetof(struct opengl_funcs, p_glStencilFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilFuncSeparate", offsetof(struct opengl_funcs, p_glStencilFuncSeparate), 2, 0, { GL_EXTENSION_COUNT }}, + { "glStencilFuncSeparateATI", offsetof(struct opengl_funcs, p_glStencilFuncSeparateATI), 0, 0, { GL_ATI_separate_stencil, GL_EXTENSION_COUNT }}, + { "glStencilMaskSeparate", offsetof(struct opengl_funcs, p_glStencilMaskSeparate), 2, 0, { GL_EXTENSION_COUNT }}, + { "glStencilOpSeparate", offsetof(struct opengl_funcs, p_glStencilOpSeparate), 2, 0, { GL_EXTENSION_COUNT }}, + { "glStencilOpSeparateATI", offsetof(struct opengl_funcs, p_glStencilOpSeparateATI), 0, 0, { GL_ATI_separate_stencil, GL_EXTENSION_COUNT }}, + { "glStencilOpValueAMD", offsetof(struct opengl_funcs, p_glStencilOpValueAMD), 0, 0, { GL_AMD_stencil_operation_extended, GL_EXTENSION_COUNT }}, + { "glStencilStrokePathInstancedNV", offsetof(struct opengl_funcs, p_glStencilStrokePathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilStrokePathNV", offsetof(struct opengl_funcs, p_glStencilStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverFillPathInstancedNV", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverFillPathNV", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverStrokePathInstancedNV", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverStrokePathNV", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStopInstrumentsSGIX", offsetof(struct opengl_funcs, p_glStopInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glStringMarkerGREMEDY", offsetof(struct opengl_funcs, p_glStringMarkerGREMEDY), 0, 0, { GL_GREMEDY_string_marker, GL_EXTENSION_COUNT }}, + { "glSubpixelPrecisionBiasNV", offsetof(struct opengl_funcs, p_glSubpixelPrecisionBiasNV), 0, 0, { GL_NV_conservative_raster, GL_EXTENSION_COUNT }}, + { "glSwizzleEXT", offsetof(struct opengl_funcs, p_glSwizzleEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glSyncTextureINTEL", offsetof(struct opengl_funcs, p_glSyncTextureINTEL), 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, + { "glTagSampleBufferSGIX", offsetof(struct opengl_funcs, p_glTagSampleBufferSGIX), 0, 0, { GL_SGIX_tag_sample_buffer, GL_EXTENSION_COUNT }}, + { "glTangent3bEXT", offsetof(struct opengl_funcs, p_glTangent3bEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3bvEXT", offsetof(struct opengl_funcs, p_glTangent3bvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3dEXT", offsetof(struct opengl_funcs, p_glTangent3dEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3dvEXT", offsetof(struct opengl_funcs, p_glTangent3dvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3fEXT", offsetof(struct opengl_funcs, p_glTangent3fEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3fvEXT", offsetof(struct opengl_funcs, p_glTangent3fvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3iEXT", offsetof(struct opengl_funcs, p_glTangent3iEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3ivEXT", offsetof(struct opengl_funcs, p_glTangent3ivEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3sEXT", offsetof(struct opengl_funcs, p_glTangent3sEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3svEXT", offsetof(struct opengl_funcs, p_glTangent3svEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangentPointerEXT", offsetof(struct opengl_funcs, p_glTangentPointerEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTbufferMask3DFX", offsetof(struct opengl_funcs, p_glTbufferMask3DFX), 0, 0, { GL_3DFX_tbuffer, GL_EXTENSION_COUNT }}, + { "glTessellationFactorAMD", offsetof(struct opengl_funcs, p_glTessellationFactorAMD), 0, 0, { GL_AMD_vertex_shader_tessellator, GL_EXTENSION_COUNT }}, + { "glTessellationModeAMD", offsetof(struct opengl_funcs, p_glTessellationModeAMD), 0, 0, { GL_AMD_vertex_shader_tessellator, GL_EXTENSION_COUNT }}, + { "glTestFenceAPPLE", offsetof(struct opengl_funcs, p_glTestFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glTestFenceNV", offsetof(struct opengl_funcs, p_glTestFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glTestObjectAPPLE", offsetof(struct opengl_funcs, p_glTestObjectAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glTexAttachMemoryNV", offsetof(struct opengl_funcs, p_glTexAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glTexBuffer", offsetof(struct opengl_funcs, p_glTexBuffer), 3, 1, { GL_EXTENSION_COUNT }}, + { "glTexBufferARB", offsetof(struct opengl_funcs, p_glTexBufferARB), 0, 0, { GL_ARB_texture_buffer_object, GL_EXTENSION_COUNT }}, + { "glTexBufferEXT", offsetof(struct opengl_funcs, p_glTexBufferEXT), 0, 0, { GL_EXT_texture_buffer_object, GL_EXTENSION_COUNT }}, + { "glTexBufferRange", offsetof(struct opengl_funcs, p_glTexBufferRange), 4, 3, { GL_ARB_texture_buffer_range, GL_EXTENSION_COUNT }}, + { "glTexBumpParameterfvATI", offsetof(struct opengl_funcs, p_glTexBumpParameterfvATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glTexBumpParameterivATI", offsetof(struct opengl_funcs, p_glTexBumpParameterivATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glTexCoord1bOES", offsetof(struct opengl_funcs, p_glTexCoord1bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord1bvOES", offsetof(struct opengl_funcs, p_glTexCoord1bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord1hNV", offsetof(struct opengl_funcs, p_glTexCoord1hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord1hvNV", offsetof(struct opengl_funcs, p_glTexCoord1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord1xOES", offsetof(struct opengl_funcs, p_glTexCoord1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord1xvOES", offsetof(struct opengl_funcs, p_glTexCoord1xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord2bOES", offsetof(struct opengl_funcs, p_glTexCoord2bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord2bvOES", offsetof(struct opengl_funcs, p_glTexCoord2bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor3fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4ubVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4ubVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2hNV", offsetof(struct opengl_funcs, p_glTexCoord2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord2hvNV", offsetof(struct opengl_funcs, p_glTexCoord2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord2xOES", offsetof(struct opengl_funcs, p_glTexCoord2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord2xvOES", offsetof(struct opengl_funcs, p_glTexCoord2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord3bOES", offsetof(struct opengl_funcs, p_glTexCoord3bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord3bvOES", offsetof(struct opengl_funcs, p_glTexCoord3bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord3hNV", offsetof(struct opengl_funcs, p_glTexCoord3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord3hvNV", offsetof(struct opengl_funcs, p_glTexCoord3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord3xOES", offsetof(struct opengl_funcs, p_glTexCoord3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord3xvOES", offsetof(struct opengl_funcs, p_glTexCoord3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord4bOES", offsetof(struct opengl_funcs, p_glTexCoord4bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord4bvOES", offsetof(struct opengl_funcs, p_glTexCoord4bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord4fColor4fNormal3fVertex4fSUN", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4fColor4fNormal3fVertex4fvSUN", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4fVertex4fSUN", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4fVertex4fvSUN", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4hNV", offsetof(struct opengl_funcs, p_glTexCoord4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord4hvNV", offsetof(struct opengl_funcs, p_glTexCoord4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord4xOES", offsetof(struct opengl_funcs, p_glTexCoord4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord4xvOES", offsetof(struct opengl_funcs, p_glTexCoord4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoordFormatNV", offsetof(struct opengl_funcs, p_glTexCoordFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glTexCoordP1ui", offsetof(struct opengl_funcs, p_glTexCoordP1ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP1uiv", offsetof(struct opengl_funcs, p_glTexCoordP1uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP2ui", offsetof(struct opengl_funcs, p_glTexCoordP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP2uiv", offsetof(struct opengl_funcs, p_glTexCoordP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP3ui", offsetof(struct opengl_funcs, p_glTexCoordP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP3uiv", offsetof(struct opengl_funcs, p_glTexCoordP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP4ui", offsetof(struct opengl_funcs, p_glTexCoordP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP4uiv", offsetof(struct opengl_funcs, p_glTexCoordP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordPointerEXT", offsetof(struct opengl_funcs, p_glTexCoordPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glTexCoordPointerListIBM", offsetof(struct opengl_funcs, p_glTexCoordPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glTexCoordPointervINTEL", offsetof(struct opengl_funcs, p_glTexCoordPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glTexEnvx", offsetof(struct opengl_funcs, p_glTexEnvx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexEnvxOES", offsetof(struct opengl_funcs, p_glTexEnvxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexEnvxv", offsetof(struct opengl_funcs, p_glTexEnvxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexEnvxvOES", offsetof(struct opengl_funcs, p_glTexEnvxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexFilterFuncSGIS", offsetof(struct opengl_funcs, p_glTexFilterFuncSGIS), 0, 0, { GL_SGIS_texture_filter4, GL_EXTENSION_COUNT }}, + { "glTexGenxOES", offsetof(struct opengl_funcs, p_glTexGenxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexGenxvOES", offsetof(struct opengl_funcs, p_glTexGenxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexImage2DMultisample", offsetof(struct opengl_funcs, p_glTexImage2DMultisample), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage2DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTexImage2DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage3D", offsetof(struct opengl_funcs, p_glTexImage3D), 1, 2, { GL_EXTENSION_COUNT }}, + { "glTexImage3DEXT", offsetof(struct opengl_funcs, p_glTexImage3DEXT), 0, 0, { GL_EXT_texture3D, GL_EXTENSION_COUNT }}, + { "glTexImage3DMultisample", offsetof(struct opengl_funcs, p_glTexImage3DMultisample), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage3DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTexImage3DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage4DSGIS", offsetof(struct opengl_funcs, p_glTexImage4DSGIS), 0, 0, { GL_SGIS_texture4D, GL_EXTENSION_COUNT }}, + { "glTexPageCommitmentARB", offsetof(struct opengl_funcs, p_glTexPageCommitmentARB), 0, 0, { GL_ARB_sparse_texture, GL_EXTENSION_COUNT }}, + { "glTexPageCommitmentMemNV", offsetof(struct opengl_funcs, p_glTexPageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glTexParameterIiv", offsetof(struct opengl_funcs, p_glTexParameterIiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glTexParameterIivEXT", offsetof(struct opengl_funcs, p_glTexParameterIivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glTexParameterIuiv", offsetof(struct opengl_funcs, p_glTexParameterIuiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glTexParameterIuivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glTexParameterx", offsetof(struct opengl_funcs, p_glTexParameterx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexParameterxOES", offsetof(struct opengl_funcs, p_glTexParameterxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexParameterxv", offsetof(struct opengl_funcs, p_glTexParameterxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexParameterxvOES", offsetof(struct opengl_funcs, p_glTexParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexRenderbufferNV", offsetof(struct opengl_funcs, p_glTexRenderbufferNV), 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, + { "glTexStorage1D", offsetof(struct opengl_funcs, p_glTexStorage1D), 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage1DEXT", offsetof(struct opengl_funcs, p_glTexStorage1DEXT), 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage2D", offsetof(struct opengl_funcs, p_glTexStorage2D), 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage2DEXT", offsetof(struct opengl_funcs, p_glTexStorage2DEXT), 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage2DMultisample", offsetof(struct opengl_funcs, p_glTexStorage2DMultisample), 4, 3, { GL_ARB_texture_storage_multisample, GL_EXTENSION_COUNT }}, + { "glTexStorage3D", offsetof(struct opengl_funcs, p_glTexStorage3D), 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage3DEXT", offsetof(struct opengl_funcs, p_glTexStorage3DEXT), 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage3DMultisample", offsetof(struct opengl_funcs, p_glTexStorage3DMultisample), 4, 3, { GL_ARB_texture_storage_multisample, GL_EXTENSION_COUNT }}, + { "glTexStorageMem1DEXT", offsetof(struct opengl_funcs, p_glTexStorageMem1DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem2DEXT", offsetof(struct opengl_funcs, p_glTexStorageMem2DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem2DMultisampleEXT", offsetof(struct opengl_funcs, p_glTexStorageMem2DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem3DEXT", offsetof(struct opengl_funcs, p_glTexStorageMem3DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem3DMultisampleEXT", offsetof(struct opengl_funcs, p_glTexStorageMem3DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageSparseAMD", offsetof(struct opengl_funcs, p_glTexStorageSparseAMD), 0, 0, { GL_AMD_sparse_texture, GL_EXTENSION_COUNT }}, + { "glTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glTexSubImage1DEXT), 0, 0, { GL_EXT_subtexture, GL_EXTENSION_COUNT }}, + { "glTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glTexSubImage2DEXT), 0, 0, { GL_EXT_subtexture, GL_EXTENSION_COUNT }}, + { "glTexSubImage3D", offsetof(struct opengl_funcs, p_glTexSubImage3D), 1, 2, { GL_EXTENSION_COUNT }}, + { "glTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glTexSubImage3DEXT), 0, 0, { GL_EXT_texture3D, GL_EXTENSION_COUNT }}, + { "glTexSubImage4DSGIS", offsetof(struct opengl_funcs, p_glTexSubImage4DSGIS), 0, 0, { GL_SGIS_texture4D, GL_EXTENSION_COUNT }}, + { "glTextureAttachMemoryNV", offsetof(struct opengl_funcs, p_glTextureAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glTextureBarrier", offsetof(struct opengl_funcs, p_glTextureBarrier), 4, 5, { GL_ARB_texture_barrier, GL_EXTENSION_COUNT }}, + { "glTextureBarrierNV", offsetof(struct opengl_funcs, p_glTextureBarrierNV), 0, 0, { GL_NV_texture_barrier, GL_EXTENSION_COUNT }}, + { "glTextureBuffer", offsetof(struct opengl_funcs, p_glTextureBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureBufferEXT", offsetof(struct opengl_funcs, p_glTextureBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureBufferRange", offsetof(struct opengl_funcs, p_glTextureBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureBufferRangeEXT", offsetof(struct opengl_funcs, p_glTextureBufferRangeEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureColorMaskSGIS", offsetof(struct opengl_funcs, p_glTextureColorMaskSGIS), 0, 0, { GL_SGIS_texture_color_mask, GL_EXTENSION_COUNT }}, + { "glTextureImage1DEXT", offsetof(struct opengl_funcs, p_glTextureImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureImage2DEXT", offsetof(struct opengl_funcs, p_glTextureImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureImage2DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureImage2DMultisampleNV", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureImage3DEXT", offsetof(struct opengl_funcs, p_glTextureImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureImage3DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureImage3DMultisampleNV", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureLightEXT", offsetof(struct opengl_funcs, p_glTextureLightEXT), 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, + { "glTextureMaterialEXT", offsetof(struct opengl_funcs, p_glTextureMaterialEXT), 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, + { "glTextureNormalEXT", offsetof(struct opengl_funcs, p_glTextureNormalEXT), 0, 0, { GL_EXT_texture_perturb_normal, GL_EXTENSION_COUNT }}, + { "glTexturePageCommitmentEXT", offsetof(struct opengl_funcs, p_glTexturePageCommitmentEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTexturePageCommitmentMemNV", offsetof(struct opengl_funcs, p_glTexturePageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glTextureParameterIiv", offsetof(struct opengl_funcs, p_glTextureParameterIiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterIivEXT", offsetof(struct opengl_funcs, p_glTextureParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterIuiv", offsetof(struct opengl_funcs, p_glTextureParameterIuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterIuivEXT", offsetof(struct opengl_funcs, p_glTextureParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterf", offsetof(struct opengl_funcs, p_glTextureParameterf), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterfEXT", offsetof(struct opengl_funcs, p_glTextureParameterfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterfv", offsetof(struct opengl_funcs, p_glTextureParameterfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterfvEXT", offsetof(struct opengl_funcs, p_glTextureParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameteri", offsetof(struct opengl_funcs, p_glTextureParameteri), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameteriEXT", offsetof(struct opengl_funcs, p_glTextureParameteriEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameteriv", offsetof(struct opengl_funcs, p_glTextureParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterivEXT", offsetof(struct opengl_funcs, p_glTextureParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureRangeAPPLE", offsetof(struct opengl_funcs, p_glTextureRangeAPPLE), 0, 0, { GL_APPLE_texture_range, GL_EXTENSION_COUNT }}, + { "glTextureRenderbufferEXT", offsetof(struct opengl_funcs, p_glTextureRenderbufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage1D", offsetof(struct opengl_funcs, p_glTextureStorage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage1DEXT", offsetof(struct opengl_funcs, p_glTextureStorage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTextureStorage2D", offsetof(struct opengl_funcs, p_glTextureStorage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage2DEXT", offsetof(struct opengl_funcs, p_glTextureStorage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTextureStorage2DMultisample", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisample), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage2DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisampleEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage3D", offsetof(struct opengl_funcs, p_glTextureStorage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage3DEXT", offsetof(struct opengl_funcs, p_glTextureStorage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTextureStorage3DMultisample", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisample), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage3DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisampleEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem1DEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem1DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem2DEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem2DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem2DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem2DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem3DEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem3DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem3DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem3DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageSparseAMD", offsetof(struct opengl_funcs, p_glTextureStorageSparseAMD), 0, 0, { GL_AMD_sparse_texture, GL_EXTENSION_COUNT }}, + { "glTextureSubImage1D", offsetof(struct opengl_funcs, p_glTextureSubImage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage1DEXT", offsetof(struct opengl_funcs, p_glTextureSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage2D", offsetof(struct opengl_funcs, p_glTextureSubImage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage2DEXT", offsetof(struct opengl_funcs, p_glTextureSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage3D", offsetof(struct opengl_funcs, p_glTextureSubImage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage3DEXT", offsetof(struct opengl_funcs, p_glTextureSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureView", offsetof(struct opengl_funcs, p_glTextureView), 4, 3, { GL_ARB_texture_view, GL_EXTENSION_COUNT }}, + { "glTrackMatrixNV", offsetof(struct opengl_funcs, p_glTrackMatrixNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackAttribsNV", offsetof(struct opengl_funcs, p_glTransformFeedbackAttribsNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackBufferBase", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferBase), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackBufferRange", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackStreamAttribsNV", offsetof(struct opengl_funcs, p_glTransformFeedbackStreamAttribsNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackVaryings", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryings), 3, 0, { GL_EXTENSION_COUNT }}, + { "glTransformFeedbackVaryingsEXT", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackVaryingsNV", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformPathNV", offsetof(struct opengl_funcs, p_glTransformPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glTranslatex", offsetof(struct opengl_funcs, p_glTranslatex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTranslatexOES", offsetof(struct opengl_funcs, p_glTranslatexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glUniform1d", offsetof(struct opengl_funcs, p_glUniform1d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform1dv", offsetof(struct opengl_funcs, p_glUniform1dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform1f", offsetof(struct opengl_funcs, p_glUniform1f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1fARB", offsetof(struct opengl_funcs, p_glUniform1fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1fv", offsetof(struct opengl_funcs, p_glUniform1fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1fvARB", offsetof(struct opengl_funcs, p_glUniform1fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1i", offsetof(struct opengl_funcs, p_glUniform1i), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1i64ARB", offsetof(struct opengl_funcs, p_glUniform1i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1i64NV", offsetof(struct opengl_funcs, p_glUniform1i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1i64vARB", offsetof(struct opengl_funcs, p_glUniform1i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1i64vNV", offsetof(struct opengl_funcs, p_glUniform1i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1iARB", offsetof(struct opengl_funcs, p_glUniform1iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1iv", offsetof(struct opengl_funcs, p_glUniform1iv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1ivARB", offsetof(struct opengl_funcs, p_glUniform1ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1ui", offsetof(struct opengl_funcs, p_glUniform1ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1ui64ARB", offsetof(struct opengl_funcs, p_glUniform1ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1ui64NV", offsetof(struct opengl_funcs, p_glUniform1ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1ui64vARB", offsetof(struct opengl_funcs, p_glUniform1ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1ui64vNV", offsetof(struct opengl_funcs, p_glUniform1ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1uiEXT", offsetof(struct opengl_funcs, p_glUniform1uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform1uiv", offsetof(struct opengl_funcs, p_glUniform1uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1uivEXT", offsetof(struct opengl_funcs, p_glUniform1uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform2d", offsetof(struct opengl_funcs, p_glUniform2d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform2dv", offsetof(struct opengl_funcs, p_glUniform2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform2f", offsetof(struct opengl_funcs, p_glUniform2f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2fARB", offsetof(struct opengl_funcs, p_glUniform2fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2fv", offsetof(struct opengl_funcs, p_glUniform2fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2fvARB", offsetof(struct opengl_funcs, p_glUniform2fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2i", offsetof(struct opengl_funcs, p_glUniform2i), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2i64ARB", offsetof(struct opengl_funcs, p_glUniform2i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2i64NV", offsetof(struct opengl_funcs, p_glUniform2i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2i64vARB", offsetof(struct opengl_funcs, p_glUniform2i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2i64vNV", offsetof(struct opengl_funcs, p_glUniform2i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2iARB", offsetof(struct opengl_funcs, p_glUniform2iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2iv", offsetof(struct opengl_funcs, p_glUniform2iv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2ivARB", offsetof(struct opengl_funcs, p_glUniform2ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2ui", offsetof(struct opengl_funcs, p_glUniform2ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2ui64ARB", offsetof(struct opengl_funcs, p_glUniform2ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2ui64NV", offsetof(struct opengl_funcs, p_glUniform2ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2ui64vARB", offsetof(struct opengl_funcs, p_glUniform2ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2ui64vNV", offsetof(struct opengl_funcs, p_glUniform2ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2uiEXT", offsetof(struct opengl_funcs, p_glUniform2uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform2uiv", offsetof(struct opengl_funcs, p_glUniform2uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2uivEXT", offsetof(struct opengl_funcs, p_glUniform2uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform3d", offsetof(struct opengl_funcs, p_glUniform3d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform3dv", offsetof(struct opengl_funcs, p_glUniform3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform3f", offsetof(struct opengl_funcs, p_glUniform3f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3fARB", offsetof(struct opengl_funcs, p_glUniform3fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3fv", offsetof(struct opengl_funcs, p_glUniform3fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3fvARB", offsetof(struct opengl_funcs, p_glUniform3fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3i", offsetof(struct opengl_funcs, p_glUniform3i), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3i64ARB", offsetof(struct opengl_funcs, p_glUniform3i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3i64NV", offsetof(struct opengl_funcs, p_glUniform3i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3i64vARB", offsetof(struct opengl_funcs, p_glUniform3i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3i64vNV", offsetof(struct opengl_funcs, p_glUniform3i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3iARB", offsetof(struct opengl_funcs, p_glUniform3iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3iv", offsetof(struct opengl_funcs, p_glUniform3iv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3ivARB", offsetof(struct opengl_funcs, p_glUniform3ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3ui", offsetof(struct opengl_funcs, p_glUniform3ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3ui64ARB", offsetof(struct opengl_funcs, p_glUniform3ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3ui64NV", offsetof(struct opengl_funcs, p_glUniform3ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3ui64vARB", offsetof(struct opengl_funcs, p_glUniform3ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3ui64vNV", offsetof(struct opengl_funcs, p_glUniform3ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3uiEXT", offsetof(struct opengl_funcs, p_glUniform3uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform3uiv", offsetof(struct opengl_funcs, p_glUniform3uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3uivEXT", offsetof(struct opengl_funcs, p_glUniform3uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform4d", offsetof(struct opengl_funcs, p_glUniform4d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform4dv", offsetof(struct opengl_funcs, p_glUniform4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform4f", offsetof(struct opengl_funcs, p_glUniform4f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4fARB", offsetof(struct opengl_funcs, p_glUniform4fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4fv", offsetof(struct opengl_funcs, p_glUniform4fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4fvARB", offsetof(struct opengl_funcs, p_glUniform4fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4i", offsetof(struct opengl_funcs, p_glUniform4i), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4i64ARB", offsetof(struct opengl_funcs, p_glUniform4i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4i64NV", offsetof(struct opengl_funcs, p_glUniform4i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4i64vARB", offsetof(struct opengl_funcs, p_glUniform4i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4i64vNV", offsetof(struct opengl_funcs, p_glUniform4i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4iARB", offsetof(struct opengl_funcs, p_glUniform4iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4iv", offsetof(struct opengl_funcs, p_glUniform4iv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4ivARB", offsetof(struct opengl_funcs, p_glUniform4ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4ui", offsetof(struct opengl_funcs, p_glUniform4ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4ui64ARB", offsetof(struct opengl_funcs, p_glUniform4ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4ui64NV", offsetof(struct opengl_funcs, p_glUniform4ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4ui64vARB", offsetof(struct opengl_funcs, p_glUniform4ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4ui64vNV", offsetof(struct opengl_funcs, p_glUniform4ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4uiEXT", offsetof(struct opengl_funcs, p_glUniform4uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform4uiv", offsetof(struct opengl_funcs, p_glUniform4uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4uivEXT", offsetof(struct opengl_funcs, p_glUniform4uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniformBlockBinding", offsetof(struct opengl_funcs, p_glUniformBlockBinding), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glUniformBufferEXT", offsetof(struct opengl_funcs, p_glUniformBufferEXT), 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64ARB", offsetof(struct opengl_funcs, p_glUniformHandleui64ARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64NV", offsetof(struct opengl_funcs, p_glUniformHandleui64NV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64vARB", offsetof(struct opengl_funcs, p_glUniformHandleui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64vNV", offsetof(struct opengl_funcs, p_glUniformHandleui64vNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2dv", offsetof(struct opengl_funcs, p_glUniformMatrix2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2fv", offsetof(struct opengl_funcs, p_glUniformMatrix2fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix2fvARB", offsetof(struct opengl_funcs, p_glUniformMatrix2fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x3dv", offsetof(struct opengl_funcs, p_glUniformMatrix2x3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x3fv", offsetof(struct opengl_funcs, p_glUniformMatrix2x3fv), 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x4dv", offsetof(struct opengl_funcs, p_glUniformMatrix2x4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x4fv", offsetof(struct opengl_funcs, p_glUniformMatrix2x4fv), 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix3dv", offsetof(struct opengl_funcs, p_glUniformMatrix3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3fv", offsetof(struct opengl_funcs, p_glUniformMatrix3fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix3fvARB", offsetof(struct opengl_funcs, p_glUniformMatrix3fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x2dv", offsetof(struct opengl_funcs, p_glUniformMatrix3x2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x2fv", offsetof(struct opengl_funcs, p_glUniformMatrix3x2fv), 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x4dv", offsetof(struct opengl_funcs, p_glUniformMatrix3x4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x4fv", offsetof(struct opengl_funcs, p_glUniformMatrix3x4fv), 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix4dv", offsetof(struct opengl_funcs, p_glUniformMatrix4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4fv", offsetof(struct opengl_funcs, p_glUniformMatrix4fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix4fvARB", offsetof(struct opengl_funcs, p_glUniformMatrix4fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x2dv", offsetof(struct opengl_funcs, p_glUniformMatrix4x2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x2fv", offsetof(struct opengl_funcs, p_glUniformMatrix4x2fv), 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x3dv", offsetof(struct opengl_funcs, p_glUniformMatrix4x3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x3fv", offsetof(struct opengl_funcs, p_glUniformMatrix4x3fv), 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformSubroutinesuiv", offsetof(struct opengl_funcs, p_glUniformSubroutinesuiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glUniformui64NV", offsetof(struct opengl_funcs, p_glUniformui64NV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glUniformui64vNV", offsetof(struct opengl_funcs, p_glUniformui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glUnlockArraysEXT", offsetof(struct opengl_funcs, p_glUnlockArraysEXT), 0, 0, { GL_EXT_compiled_vertex_array, GL_EXTENSION_COUNT }}, + { "glUnmapBuffer", offsetof(struct opengl_funcs, p_glUnmapBuffer), 1, 5, { GL_EXTENSION_COUNT }}, + { "glUnmapBufferARB", offsetof(struct opengl_funcs, p_glUnmapBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glUnmapNamedBuffer", offsetof(struct opengl_funcs, p_glUnmapNamedBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glUnmapNamedBufferEXT", offsetof(struct opengl_funcs, p_glUnmapNamedBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glUnmapObjectBufferATI", offsetof(struct opengl_funcs, p_glUnmapObjectBufferATI), 0, 0, { GL_ATI_map_object_buffer, GL_EXTENSION_COUNT }}, + { "glUnmapTexture2DINTEL", offsetof(struct opengl_funcs, p_glUnmapTexture2DINTEL), 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, + { "glUpdateObjectBufferATI", offsetof(struct opengl_funcs, p_glUpdateObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glUploadGpuMaskNVX", offsetof(struct opengl_funcs, p_glUploadGpuMaskNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glUseProgram", offsetof(struct opengl_funcs, p_glUseProgram), 2, 0, { GL_EXTENSION_COUNT }}, + { "glUseProgramObjectARB", offsetof(struct opengl_funcs, p_glUseProgramObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUseProgramStages", offsetof(struct opengl_funcs, p_glUseProgramStages), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glUseShaderProgramEXT", offsetof(struct opengl_funcs, p_glUseShaderProgramEXT), 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glVDPAUFiniNV", offsetof(struct opengl_funcs, p_glVDPAUFiniNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUGetSurfaceivNV", offsetof(struct opengl_funcs, p_glVDPAUGetSurfaceivNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUInitNV", offsetof(struct opengl_funcs, p_glVDPAUInitNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUIsSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAUIsSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUMapSurfacesNV", offsetof(struct opengl_funcs, p_glVDPAUMapSurfacesNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAURegisterOutputSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAURegisterOutputSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAURegisterVideoSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAURegisterVideoSurfaceWithPictureStructureNV", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceWithPictureStructureNV), 0, 0, { GL_NV_vdpau_interop2, GL_EXTENSION_COUNT }}, + { "glVDPAUSurfaceAccessNV", offsetof(struct opengl_funcs, p_glVDPAUSurfaceAccessNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUUnmapSurfacesNV", offsetof(struct opengl_funcs, p_glVDPAUUnmapSurfacesNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUUnregisterSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAUUnregisterSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glValidateProgram", offsetof(struct opengl_funcs, p_glValidateProgram), 2, 0, { GL_EXTENSION_COUNT }}, + { "glValidateProgramARB", offsetof(struct opengl_funcs, p_glValidateProgramARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glValidateProgramPipeline", offsetof(struct opengl_funcs, p_glValidateProgramPipeline), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glVariantArrayObjectATI", offsetof(struct opengl_funcs, p_glVariantArrayObjectATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glVariantPointerEXT", offsetof(struct opengl_funcs, p_glVariantPointerEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantbvEXT", offsetof(struct opengl_funcs, p_glVariantbvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantdvEXT", offsetof(struct opengl_funcs, p_glVariantdvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantfvEXT", offsetof(struct opengl_funcs, p_glVariantfvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantivEXT", offsetof(struct opengl_funcs, p_glVariantivEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantsvEXT", offsetof(struct opengl_funcs, p_glVariantsvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantubvEXT", offsetof(struct opengl_funcs, p_glVariantubvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantuivEXT", offsetof(struct opengl_funcs, p_glVariantuivEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantusvEXT", offsetof(struct opengl_funcs, p_glVariantusvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertex2bOES", offsetof(struct opengl_funcs, p_glVertex2bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex2bvOES", offsetof(struct opengl_funcs, p_glVertex2bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex2hNV", offsetof(struct opengl_funcs, p_glVertex2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex2hvNV", offsetof(struct opengl_funcs, p_glVertex2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex2xOES", offsetof(struct opengl_funcs, p_glVertex2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex2xvOES", offsetof(struct opengl_funcs, p_glVertex2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex3bOES", offsetof(struct opengl_funcs, p_glVertex3bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex3bvOES", offsetof(struct opengl_funcs, p_glVertex3bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex3hNV", offsetof(struct opengl_funcs, p_glVertex3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex3hvNV", offsetof(struct opengl_funcs, p_glVertex3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex3xOES", offsetof(struct opengl_funcs, p_glVertex3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex3xvOES", offsetof(struct opengl_funcs, p_glVertex3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex4bOES", offsetof(struct opengl_funcs, p_glVertex4bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex4bvOES", offsetof(struct opengl_funcs, p_glVertex4bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex4hNV", offsetof(struct opengl_funcs, p_glVertex4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex4hvNV", offsetof(struct opengl_funcs, p_glVertex4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex4xOES", offsetof(struct opengl_funcs, p_glVertex4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex4xvOES", offsetof(struct opengl_funcs, p_glVertex4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribBinding", offsetof(struct opengl_funcs, p_glVertexArrayAttribBinding), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribFormat", offsetof(struct opengl_funcs, p_glVertexArrayAttribFormat), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribIFormat", offsetof(struct opengl_funcs, p_glVertexArrayAttribIFormat), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribLFormat", offsetof(struct opengl_funcs, p_glVertexArrayAttribLFormat), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayBindVertexBufferEXT", offsetof(struct opengl_funcs, p_glVertexArrayBindVertexBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayBindingDivisor", offsetof(struct opengl_funcs, p_glVertexArrayBindingDivisor), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayColorOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayColorOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayEdgeFlagOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayEdgeFlagOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayElementBuffer", offsetof(struct opengl_funcs, p_glVertexArrayElementBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayFogCoordOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayFogCoordOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayIndexOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayIndexOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayMultiTexCoordOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayMultiTexCoordOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayNormalOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayNormalOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayParameteriAPPLE", offsetof(struct opengl_funcs, p_glVertexArrayParameteriAPPLE), 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glVertexArrayRangeAPPLE", offsetof(struct opengl_funcs, p_glVertexArrayRangeAPPLE), 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glVertexArrayRangeNV", offsetof(struct opengl_funcs, p_glVertexArrayRangeNV), 0, 0, { GL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glVertexArraySecondaryColorOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArraySecondaryColorOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayTexCoordOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayTexCoordOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribBindingEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribBindingEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribDivisorEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribDivisorEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribFormatEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribFormatEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribIFormatEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIFormatEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribIOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribLFormatEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLFormatEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribLOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexBindingDivisorEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexBindingDivisorEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexBuffer", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexBuffers", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1d", offsetof(struct opengl_funcs, p_glVertexAttrib1d), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dARB", offsetof(struct opengl_funcs, p_glVertexAttrib1dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dNV", offsetof(struct opengl_funcs, p_glVertexAttrib1dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dv", offsetof(struct opengl_funcs, p_glVertexAttrib1dv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib1dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib1dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1f", offsetof(struct opengl_funcs, p_glVertexAttrib1f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fARB", offsetof(struct opengl_funcs, p_glVertexAttrib1fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fNV", offsetof(struct opengl_funcs, p_glVertexAttrib1fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fv", offsetof(struct opengl_funcs, p_glVertexAttrib1fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib1fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib1fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1hNV", offsetof(struct opengl_funcs, p_glVertexAttrib1hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1s", offsetof(struct opengl_funcs, p_glVertexAttrib1s), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1sARB", offsetof(struct opengl_funcs, p_glVertexAttrib1sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1sNV", offsetof(struct opengl_funcs, p_glVertexAttrib1sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1sv", offsetof(struct opengl_funcs, p_glVertexAttrib1sv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1svARB", offsetof(struct opengl_funcs, p_glVertexAttrib1svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1svNV", offsetof(struct opengl_funcs, p_glVertexAttrib1svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2d", offsetof(struct opengl_funcs, p_glVertexAttrib2d), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dARB", offsetof(struct opengl_funcs, p_glVertexAttrib2dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dNV", offsetof(struct opengl_funcs, p_glVertexAttrib2dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dv", offsetof(struct opengl_funcs, p_glVertexAttrib2dv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib2dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib2dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2f", offsetof(struct opengl_funcs, p_glVertexAttrib2f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fARB", offsetof(struct opengl_funcs, p_glVertexAttrib2fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fNV", offsetof(struct opengl_funcs, p_glVertexAttrib2fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fv", offsetof(struct opengl_funcs, p_glVertexAttrib2fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib2fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib2fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2hNV", offsetof(struct opengl_funcs, p_glVertexAttrib2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2s", offsetof(struct opengl_funcs, p_glVertexAttrib2s), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2sARB", offsetof(struct opengl_funcs, p_glVertexAttrib2sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2sNV", offsetof(struct opengl_funcs, p_glVertexAttrib2sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2sv", offsetof(struct opengl_funcs, p_glVertexAttrib2sv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2svARB", offsetof(struct opengl_funcs, p_glVertexAttrib2svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2svNV", offsetof(struct opengl_funcs, p_glVertexAttrib2svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3d", offsetof(struct opengl_funcs, p_glVertexAttrib3d), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dARB", offsetof(struct opengl_funcs, p_glVertexAttrib3dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dNV", offsetof(struct opengl_funcs, p_glVertexAttrib3dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dv", offsetof(struct opengl_funcs, p_glVertexAttrib3dv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib3dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib3dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3f", offsetof(struct opengl_funcs, p_glVertexAttrib3f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fARB", offsetof(struct opengl_funcs, p_glVertexAttrib3fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fNV", offsetof(struct opengl_funcs, p_glVertexAttrib3fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fv", offsetof(struct opengl_funcs, p_glVertexAttrib3fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib3fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib3fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3hNV", offsetof(struct opengl_funcs, p_glVertexAttrib3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3s", offsetof(struct opengl_funcs, p_glVertexAttrib3s), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3sARB", offsetof(struct opengl_funcs, p_glVertexAttrib3sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3sNV", offsetof(struct opengl_funcs, p_glVertexAttrib3sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3sv", offsetof(struct opengl_funcs, p_glVertexAttrib3sv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3svARB", offsetof(struct opengl_funcs, p_glVertexAttrib3svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3svNV", offsetof(struct opengl_funcs, p_glVertexAttrib3svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nbv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nbv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NbvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NbvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Niv", offsetof(struct opengl_funcs, p_glVertexAttrib4Niv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nsv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nsv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NsvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NsvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nub", offsetof(struct opengl_funcs, p_glVertexAttrib4Nub), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NubARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NubARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nubv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nubv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NubvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NubvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nuiv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nuiv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NuivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NuivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nusv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nusv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NusvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NusvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4bv", offsetof(struct opengl_funcs, p_glVertexAttrib4bv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4bvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4bvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4d", offsetof(struct opengl_funcs, p_glVertexAttrib4d), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dARB", offsetof(struct opengl_funcs, p_glVertexAttrib4dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dNV", offsetof(struct opengl_funcs, p_glVertexAttrib4dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dv", offsetof(struct opengl_funcs, p_glVertexAttrib4dv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4f", offsetof(struct opengl_funcs, p_glVertexAttrib4f), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fARB", offsetof(struct opengl_funcs, p_glVertexAttrib4fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fNV", offsetof(struct opengl_funcs, p_glVertexAttrib4fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fv", offsetof(struct opengl_funcs, p_glVertexAttrib4fv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4hNV", offsetof(struct opengl_funcs, p_glVertexAttrib4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4iv", offsetof(struct opengl_funcs, p_glVertexAttrib4iv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4ivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4s", offsetof(struct opengl_funcs, p_glVertexAttrib4s), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4sARB", offsetof(struct opengl_funcs, p_glVertexAttrib4sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4sNV", offsetof(struct opengl_funcs, p_glVertexAttrib4sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4sv", offsetof(struct opengl_funcs, p_glVertexAttrib4sv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4svARB", offsetof(struct opengl_funcs, p_glVertexAttrib4svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4svNV", offsetof(struct opengl_funcs, p_glVertexAttrib4svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubNV", offsetof(struct opengl_funcs, p_glVertexAttrib4ubNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubv", offsetof(struct opengl_funcs, p_glVertexAttrib4ubv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4uiv", offsetof(struct opengl_funcs, p_glVertexAttrib4uiv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4uivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4uivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4usv", offsetof(struct opengl_funcs, p_glVertexAttrib4usv), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4usvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4usvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttribArrayObjectATI", offsetof(struct opengl_funcs, p_glVertexAttribArrayObjectATI), 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, + { "glVertexAttribBinding", offsetof(struct opengl_funcs, p_glVertexAttribBinding), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribDivisor", offsetof(struct opengl_funcs, p_glVertexAttribDivisor), 3, 3, { GL_EXTENSION_COUNT }}, + { "glVertexAttribDivisorARB", offsetof(struct opengl_funcs, p_glVertexAttribDivisorARB), 0, 0, { GL_ARB_instanced_arrays, GL_EXTENSION_COUNT }}, + { "glVertexAttribFormat", offsetof(struct opengl_funcs, p_glVertexAttribFormat), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribFormatNV", offsetof(struct opengl_funcs, p_glVertexAttribFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1i", offsetof(struct opengl_funcs, p_glVertexAttribI1i), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1iv", offsetof(struct opengl_funcs, p_glVertexAttribI1iv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1ui", offsetof(struct opengl_funcs, p_glVertexAttribI1ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1uiv", offsetof(struct opengl_funcs, p_glVertexAttribI1uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2i", offsetof(struct opengl_funcs, p_glVertexAttribI2i), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2iv", offsetof(struct opengl_funcs, p_glVertexAttribI2iv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2ui", offsetof(struct opengl_funcs, p_glVertexAttribI2ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2uiv", offsetof(struct opengl_funcs, p_glVertexAttribI2uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3i", offsetof(struct opengl_funcs, p_glVertexAttribI3i), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3iv", offsetof(struct opengl_funcs, p_glVertexAttribI3iv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3ui", offsetof(struct opengl_funcs, p_glVertexAttribI3ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3uiv", offsetof(struct opengl_funcs, p_glVertexAttribI3uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4bv", offsetof(struct opengl_funcs, p_glVertexAttribI4bv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4bvEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4bvEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4i", offsetof(struct opengl_funcs, p_glVertexAttribI4i), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4iv", offsetof(struct opengl_funcs, p_glVertexAttribI4iv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4sv", offsetof(struct opengl_funcs, p_glVertexAttribI4sv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4svEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4svEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ubv", offsetof(struct opengl_funcs, p_glVertexAttribI4ubv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ubvEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4ubvEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ui", offsetof(struct opengl_funcs, p_glVertexAttribI4ui), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4uiv", offsetof(struct opengl_funcs, p_glVertexAttribI4uiv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4usv", offsetof(struct opengl_funcs, p_glVertexAttribI4usv), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4usvEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4usvEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribIFormat", offsetof(struct opengl_funcs, p_glVertexAttribIFormat), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribIFormatNV", offsetof(struct opengl_funcs, p_glVertexAttribIFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glVertexAttribIPointer", offsetof(struct opengl_funcs, p_glVertexAttribIPointer), 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribIPointerEXT", offsetof(struct opengl_funcs, p_glVertexAttribIPointerEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1d", offsetof(struct opengl_funcs, p_glVertexAttribL1d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL1dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1dv", offsetof(struct opengl_funcs, p_glVertexAttribL1dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL1dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL1i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL1i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64ARB", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64ARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64vARB", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2d", offsetof(struct opengl_funcs, p_glVertexAttribL2d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL2dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2dv", offsetof(struct opengl_funcs, p_glVertexAttribL2dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL2dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL2i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL2i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3d", offsetof(struct opengl_funcs, p_glVertexAttribL3d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL3dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3dv", offsetof(struct opengl_funcs, p_glVertexAttribL3dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL3dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL3i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL3i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4d", offsetof(struct opengl_funcs, p_glVertexAttribL4d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL4dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4dv", offsetof(struct opengl_funcs, p_glVertexAttribL4dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL4dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL4i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL4i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribLFormat", offsetof(struct opengl_funcs, p_glVertexAttribLFormat), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribLFormatNV", offsetof(struct opengl_funcs, p_glVertexAttribLFormatNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribLPointer", offsetof(struct opengl_funcs, p_glVertexAttribLPointer), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribLPointerEXT", offsetof(struct opengl_funcs, p_glVertexAttribLPointerEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribP1ui", offsetof(struct opengl_funcs, p_glVertexAttribP1ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP1uiv", offsetof(struct opengl_funcs, p_glVertexAttribP1uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP2ui", offsetof(struct opengl_funcs, p_glVertexAttribP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP2uiv", offsetof(struct opengl_funcs, p_glVertexAttribP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP3ui", offsetof(struct opengl_funcs, p_glVertexAttribP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP3uiv", offsetof(struct opengl_funcs, p_glVertexAttribP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP4ui", offsetof(struct opengl_funcs, p_glVertexAttribP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP4uiv", offsetof(struct opengl_funcs, p_glVertexAttribP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribParameteriAMD", offsetof(struct opengl_funcs, p_glVertexAttribParameteriAMD), 0, 0, { GL_AMD_interleaved_elements, GL_EXTENSION_COUNT }}, + { "glVertexAttribPointer", offsetof(struct opengl_funcs, p_glVertexAttribPointer), 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribPointerARB", offsetof(struct opengl_funcs, p_glVertexAttribPointerARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttribPointerNV", offsetof(struct opengl_funcs, p_glVertexAttribPointerNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs1dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs1fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1svNV", offsetof(struct opengl_funcs, p_glVertexAttribs1svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs2dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs2fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2svNV", offsetof(struct opengl_funcs, p_glVertexAttribs2svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs3dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs3fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3svNV", offsetof(struct opengl_funcs, p_glVertexAttribs3svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4svNV", offsetof(struct opengl_funcs, p_glVertexAttribs4svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4ubvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4ubvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexBindingDivisor", offsetof(struct opengl_funcs, p_glVertexBindingDivisor), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexBlendARB", offsetof(struct opengl_funcs, p_glVertexBlendARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glVertexBlendEnvfATI", offsetof(struct opengl_funcs, p_glVertexBlendEnvfATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexBlendEnviATI", offsetof(struct opengl_funcs, p_glVertexBlendEnviATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexFormatNV", offsetof(struct opengl_funcs, p_glVertexFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glVertexP2ui", offsetof(struct opengl_funcs, p_glVertexP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP2uiv", offsetof(struct opengl_funcs, p_glVertexP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP3ui", offsetof(struct opengl_funcs, p_glVertexP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP3uiv", offsetof(struct opengl_funcs, p_glVertexP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP4ui", offsetof(struct opengl_funcs, p_glVertexP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP4uiv", offsetof(struct opengl_funcs, p_glVertexP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexPointerEXT", offsetof(struct opengl_funcs, p_glVertexPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glVertexPointerListIBM", offsetof(struct opengl_funcs, p_glVertexPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glVertexPointervINTEL", offsetof(struct opengl_funcs, p_glVertexPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glVertexStream1dATI", offsetof(struct opengl_funcs, p_glVertexStream1dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1dvATI", offsetof(struct opengl_funcs, p_glVertexStream1dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1fATI", offsetof(struct opengl_funcs, p_glVertexStream1fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1fvATI", offsetof(struct opengl_funcs, p_glVertexStream1fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1iATI", offsetof(struct opengl_funcs, p_glVertexStream1iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1ivATI", offsetof(struct opengl_funcs, p_glVertexStream1ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1sATI", offsetof(struct opengl_funcs, p_glVertexStream1sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1svATI", offsetof(struct opengl_funcs, p_glVertexStream1svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2dATI", offsetof(struct opengl_funcs, p_glVertexStream2dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2dvATI", offsetof(struct opengl_funcs, p_glVertexStream2dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2fATI", offsetof(struct opengl_funcs, p_glVertexStream2fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2fvATI", offsetof(struct opengl_funcs, p_glVertexStream2fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2iATI", offsetof(struct opengl_funcs, p_glVertexStream2iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2ivATI", offsetof(struct opengl_funcs, p_glVertexStream2ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2sATI", offsetof(struct opengl_funcs, p_glVertexStream2sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2svATI", offsetof(struct opengl_funcs, p_glVertexStream2svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3dATI", offsetof(struct opengl_funcs, p_glVertexStream3dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3dvATI", offsetof(struct opengl_funcs, p_glVertexStream3dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3fATI", offsetof(struct opengl_funcs, p_glVertexStream3fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3fvATI", offsetof(struct opengl_funcs, p_glVertexStream3fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3iATI", offsetof(struct opengl_funcs, p_glVertexStream3iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3ivATI", offsetof(struct opengl_funcs, p_glVertexStream3ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3sATI", offsetof(struct opengl_funcs, p_glVertexStream3sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3svATI", offsetof(struct opengl_funcs, p_glVertexStream3svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4dATI", offsetof(struct opengl_funcs, p_glVertexStream4dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4dvATI", offsetof(struct opengl_funcs, p_glVertexStream4dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4fATI", offsetof(struct opengl_funcs, p_glVertexStream4fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4fvATI", offsetof(struct opengl_funcs, p_glVertexStream4fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4iATI", offsetof(struct opengl_funcs, p_glVertexStream4iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4ivATI", offsetof(struct opengl_funcs, p_glVertexStream4ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4sATI", offsetof(struct opengl_funcs, p_glVertexStream4sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4svATI", offsetof(struct opengl_funcs, p_glVertexStream4svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexWeightPointerEXT", offsetof(struct opengl_funcs, p_glVertexWeightPointerEXT), 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, + { "glVertexWeightfEXT", offsetof(struct opengl_funcs, p_glVertexWeightfEXT), 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, + { "glVertexWeightfvEXT", offsetof(struct opengl_funcs, p_glVertexWeightfvEXT), 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, + { "glVertexWeighthNV", offsetof(struct opengl_funcs, p_glVertexWeighthNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexWeighthvNV", offsetof(struct opengl_funcs, p_glVertexWeighthvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVideoCaptureNV", offsetof(struct opengl_funcs, p_glVideoCaptureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glVideoCaptureStreamParameterdvNV", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterdvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glVideoCaptureStreamParameterfvNV", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterfvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glVideoCaptureStreamParameterivNV", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterivNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glViewportArrayv", offsetof(struct opengl_funcs, p_glViewportArrayv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glViewportIndexedf", offsetof(struct opengl_funcs, p_glViewportIndexedf), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glViewportIndexedfv", offsetof(struct opengl_funcs, p_glViewportIndexedfv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glViewportPositionWScaleNV", offsetof(struct opengl_funcs, p_glViewportPositionWScaleNV), 0, 0, { GL_NV_clip_space_w_scaling, GL_EXTENSION_COUNT }}, + { "glViewportSwizzleNV", offsetof(struct opengl_funcs, p_glViewportSwizzleNV), 0, 0, { GL_NV_viewport_swizzle, GL_EXTENSION_COUNT }}, + { "glWaitSemaphoreEXT", offsetof(struct opengl_funcs, p_glWaitSemaphoreEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glWaitSemaphoreui64NVX", offsetof(struct opengl_funcs, p_glWaitSemaphoreui64NVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glWaitSync", offsetof(struct opengl_funcs, p_glWaitSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glWaitVkSemaphoreNV", offsetof(struct opengl_funcs, p_glWaitVkSemaphoreNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glWeightPathsNV", offsetof(struct opengl_funcs, p_glWeightPathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glWeightPointerARB", offsetof(struct opengl_funcs, p_glWeightPointerARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightbvARB", offsetof(struct opengl_funcs, p_glWeightbvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightdvARB", offsetof(struct opengl_funcs, p_glWeightdvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightfvARB", offsetof(struct opengl_funcs, p_glWeightfvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightivARB", offsetof(struct opengl_funcs, p_glWeightivARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightsvARB", offsetof(struct opengl_funcs, p_glWeightsvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightubvARB", offsetof(struct opengl_funcs, p_glWeightubvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightuivARB", offsetof(struct opengl_funcs, p_glWeightuivARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightusvARB", offsetof(struct opengl_funcs, p_glWeightusvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWindowPos2d", offsetof(struct opengl_funcs, p_glWindowPos2d), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2dARB", offsetof(struct opengl_funcs, p_glWindowPos2dARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2dMESA", offsetof(struct opengl_funcs, p_glWindowPos2dMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2dv", offsetof(struct opengl_funcs, p_glWindowPos2dv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2dvARB", offsetof(struct opengl_funcs, p_glWindowPos2dvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2dvMESA", offsetof(struct opengl_funcs, p_glWindowPos2dvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2f", offsetof(struct opengl_funcs, p_glWindowPos2f), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2fARB", offsetof(struct opengl_funcs, p_glWindowPos2fARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2fMESA", offsetof(struct opengl_funcs, p_glWindowPos2fMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2fv", offsetof(struct opengl_funcs, p_glWindowPos2fv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2fvARB", offsetof(struct opengl_funcs, p_glWindowPos2fvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2fvMESA", offsetof(struct opengl_funcs, p_glWindowPos2fvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2i", offsetof(struct opengl_funcs, p_glWindowPos2i), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2iARB", offsetof(struct opengl_funcs, p_glWindowPos2iARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2iMESA", offsetof(struct opengl_funcs, p_glWindowPos2iMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2iv", offsetof(struct opengl_funcs, p_glWindowPos2iv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2ivARB", offsetof(struct opengl_funcs, p_glWindowPos2ivARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2ivMESA", offsetof(struct opengl_funcs, p_glWindowPos2ivMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2s", offsetof(struct opengl_funcs, p_glWindowPos2s), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2sARB", offsetof(struct opengl_funcs, p_glWindowPos2sARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2sMESA", offsetof(struct opengl_funcs, p_glWindowPos2sMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2sv", offsetof(struct opengl_funcs, p_glWindowPos2sv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2svARB", offsetof(struct opengl_funcs, p_glWindowPos2svARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2svMESA", offsetof(struct opengl_funcs, p_glWindowPos2svMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3d", offsetof(struct opengl_funcs, p_glWindowPos3d), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3dARB", offsetof(struct opengl_funcs, p_glWindowPos3dARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3dMESA", offsetof(struct opengl_funcs, p_glWindowPos3dMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3dv", offsetof(struct opengl_funcs, p_glWindowPos3dv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3dvARB", offsetof(struct opengl_funcs, p_glWindowPos3dvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3dvMESA", offsetof(struct opengl_funcs, p_glWindowPos3dvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3f", offsetof(struct opengl_funcs, p_glWindowPos3f), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3fARB", offsetof(struct opengl_funcs, p_glWindowPos3fARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3fMESA", offsetof(struct opengl_funcs, p_glWindowPos3fMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3fv", offsetof(struct opengl_funcs, p_glWindowPos3fv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3fvARB", offsetof(struct opengl_funcs, p_glWindowPos3fvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3fvMESA", offsetof(struct opengl_funcs, p_glWindowPos3fvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3i", offsetof(struct opengl_funcs, p_glWindowPos3i), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3iARB", offsetof(struct opengl_funcs, p_glWindowPos3iARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3iMESA", offsetof(struct opengl_funcs, p_glWindowPos3iMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3iv", offsetof(struct opengl_funcs, p_glWindowPos3iv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3ivARB", offsetof(struct opengl_funcs, p_glWindowPos3ivARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3ivMESA", offsetof(struct opengl_funcs, p_glWindowPos3ivMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3s", offsetof(struct opengl_funcs, p_glWindowPos3s), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3sARB", offsetof(struct opengl_funcs, p_glWindowPos3sARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3sMESA", offsetof(struct opengl_funcs, p_glWindowPos3sMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3sv", offsetof(struct opengl_funcs, p_glWindowPos3sv), 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3svARB", offsetof(struct opengl_funcs, p_glWindowPos3svARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3svMESA", offsetof(struct opengl_funcs, p_glWindowPos3svMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4dMESA", offsetof(struct opengl_funcs, p_glWindowPos4dMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4dvMESA", offsetof(struct opengl_funcs, p_glWindowPos4dvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4fMESA", offsetof(struct opengl_funcs, p_glWindowPos4fMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4fvMESA", offsetof(struct opengl_funcs, p_glWindowPos4fvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4iMESA", offsetof(struct opengl_funcs, p_glWindowPos4iMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4ivMESA", offsetof(struct opengl_funcs, p_glWindowPos4ivMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4sMESA", offsetof(struct opengl_funcs, p_glWindowPos4sMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4svMESA", offsetof(struct opengl_funcs, p_glWindowPos4svMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowRectanglesEXT", offsetof(struct opengl_funcs, p_glWindowRectanglesEXT), 0, 0, { GL_EXT_window_rectangles, GL_EXTENSION_COUNT }}, + { "glWriteMaskEXT", offsetof(struct opengl_funcs, p_glWriteMaskEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "wglAllocateMemoryNV", offsetof(struct opengl_funcs, p_wglAllocateMemoryNV), 0, 0, { WGL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "wglBindTexImageARB", offsetof(struct opengl_funcs, p_wglBindTexImageARB), 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, + { "wglChoosePixelFormatARB", offsetof(struct opengl_funcs, p_wglChoosePixelFormatARB), 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, + { "wglCreateContextAttribsARB", offsetof(struct opengl_funcs, p_wglCreateContextAttribsARB), 0, 0, { WGL_ARB_create_context, GL_EXTENSION_COUNT }}, + { "wglCreatePbufferARB", offsetof(struct opengl_funcs, p_wglCreatePbufferARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglDestroyPbufferARB", offsetof(struct opengl_funcs, p_wglDestroyPbufferARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglFreeMemoryNV", offsetof(struct opengl_funcs, p_wglFreeMemoryNV), 0, 0, { WGL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "wglGetCurrentReadDCARB", offsetof(struct opengl_funcs, p_wglGetCurrentReadDCARB), 0, 0, { WGL_ARB_make_current_read, GL_EXTENSION_COUNT }}, + { "wglGetExtensionsStringARB", offsetof(struct opengl_funcs, p_wglGetExtensionsStringARB), 0, 0, { WGL_ARB_extensions_string, GL_EXTENSION_COUNT }}, + { "wglGetExtensionsStringEXT", offsetof(struct opengl_funcs, p_wglGetExtensionsStringEXT), 0, 0, { WGL_EXT_extensions_string, GL_EXTENSION_COUNT }}, + { "wglGetPbufferDCARB", offsetof(struct opengl_funcs, p_wglGetPbufferDCARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglGetPixelFormatAttribfvARB", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribfvARB), 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, + { "wglGetPixelFormatAttribivARB", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribivARB), 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, + { "wglGetSwapIntervalEXT", offsetof(struct opengl_funcs, p_wglGetSwapIntervalEXT), 0, 0, { WGL_EXT_swap_control, GL_EXTENSION_COUNT }}, + { "wglMakeContextCurrentARB", offsetof(struct opengl_funcs, p_wglMakeContextCurrentARB), 0, 0, { WGL_ARB_make_current_read, GL_EXTENSION_COUNT }}, + { "wglQueryCurrentRendererIntegerWINE", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererIntegerWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglQueryCurrentRendererStringWINE", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererStringWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglQueryPbufferARB", offsetof(struct opengl_funcs, p_wglQueryPbufferARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglQueryRendererIntegerWINE", offsetof(struct opengl_funcs, p_wglQueryRendererIntegerWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglQueryRendererStringWINE", offsetof(struct opengl_funcs, p_wglQueryRendererStringWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglReleasePbufferDCARB", offsetof(struct opengl_funcs, p_wglReleasePbufferDCARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglReleaseTexImageARB", offsetof(struct opengl_funcs, p_wglReleaseTexImageARB), 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, + { "wglSetPbufferAttribARB", offsetof(struct opengl_funcs, p_wglSetPbufferAttribARB), 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, + { "wglSetPixelFormatWINE", offsetof(struct opengl_funcs, p_wglSetPixelFormatWINE), 0, 0, { WGL_WINE_pixel_format_passthrough, GL_EXTENSION_COUNT }}, + { "wglSwapIntervalEXT", offsetof(struct opengl_funcs, p_wglSwapIntervalEXT), 0, 0, { WGL_EXT_swap_control, GL_EXTENSION_COUNT }}, }; diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 7bd6628a728..120f3cc44db 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -681,14 +681,6 @@ static char *query_opengl_option( const char *name ) return str; } -/* Check if a GL extension is supported */ -static BOOL is_extension_supported( struct context *ctx, const char *extension ) -{ - struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); - enum opengl_extension ext = parse_extension( extension, strlen( extension )); - return ext != GL_EXTENSION_COUNT && client->extensions[ext]; -} - static size_t parse_extensions( const char *name, enum opengl_extension extensions[GL_EXTENSION_COUNT] ) { size_t count = 0; @@ -740,8 +732,7 @@ static GLubyte *filter_extensions( struct context *ctx, const char *str, const s static BOOL is_function_supported( struct context *ctx, const struct registry_entry *func ) { struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); - const char *extension = func->extension; - size_t len; + const enum opengl_extension *ext; /* We use the GetProcAddress function from the display driver to retrieve function pointers * for OpenGL and WGL extensions. In case of winex11.drv the OpenGL extension lookup is done @@ -753,15 +744,7 @@ static BOOL is_function_supported( struct context *ctx, const struct registry_en || (client->major_version == func->major && client->minor_version >= func->minor))) return TRUE; - while ((len = strlen( extension ))) - { - TRACE( "Checking for extension '%s'\n", extension ); - - /* Check if the extension is part of the GL extension string to see if it is supported. */ - if (is_extension_supported( ctx, extension )) return TRUE; - extension += len + 1; - } - + for (ext = func->extensions; *ext != GL_EXTENSION_COUNT; ext++) if (client->extensions[*ext]) return TRUE; return FALSE; } @@ -923,7 +906,7 @@ PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) if (!is_function_supported( ctx, found )) { - WARN( "Extension %s required for %s not supported\n", found->extension, name ); + WARN( "Extensions required for %s not supported\n", name ); return (void *)-1; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> --- dlls/opengl32/make_opengl | 20 ++++++++++++-------- dlls/opengl32/unix_private.h | 2 +- dlls/opengl32/unix_thunks.c | 15 ++++++++++++--- dlls/opengl32/unix_wgl.c | 10 ++-------- 4 files changed, 27 insertions(+), 20 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index a1f4d3de9de..081a25d5631 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1921,14 +1921,7 @@ foreach (sort keys %norm_functions) print OUT "};\n"; # Then the table giving the string <-> function correspondence */ -my $count = 0; -foreach (keys %ext_functions) -{ - next unless is_exposed_function( $ext_functions{$_} ); - $count += 1; -} -print OUT "\nconst int extension_registry_size = $count;\n"; -print OUT "const struct registry_entry extension_registry[$count] =\n"; +print OUT "const struct registry_entry extension_registry[] =\n"; print OUT "{\n"; foreach (sort keys %ext_functions) { @@ -1960,5 +1953,16 @@ foreach (sort keys %ext_functions) printf OUT " { \"%s\", offsetof(struct opengl_funcs, p_$_), $major, $minor, { %s }},\n", $_, join(", ", @exts); } print OUT "};\n"; +print OUT "\n"; +print OUT "static int registry_entry_cmp( const void *a, const void *b )\n"; +print OUT "{\n"; +print OUT " const struct registry_entry *entry = b;\n"; +print OUT " return strcmp( a, entry->name );\n"; +print OUT "}\n"; +print OUT "\n"; +print OUT "struct registry_entry *get_function_entry( const char *name )\n"; +print OUT "{\n"; +print OUT " return bsearch( name, extension_registry, ARRAYSIZE(extension_registry), sizeof(extension_registry[0]), registry_entry_cmp );\n"; +print OUT "}\n"; close OUT; diff --git a/dlls/opengl32/unix_private.h b/dlls/opengl32/unix_private.h index 48cd1a0d963..36018c3a94f 100644 --- a/dlls/opengl32/unix_private.h +++ b/dlls/opengl32/unix_private.h @@ -43,7 +43,6 @@ struct registry_entry }; extern const struct registry_entry extension_registry[]; -extern const int extension_registry_size; extern struct opengl_funcs null_opengl_funcs; @@ -112,5 +111,6 @@ extern GLuint get_default_fbo( TEB *teb, GLenum target ); extern void push_default_fbo( TEB *teb ); extern void pop_default_fbo( TEB *teb ); extern void resolve_default_fbo( TEB *teb, BOOL read ); +extern struct registry_entry *get_function_entry( const char *name ); #endif /* __WINE_OPENGL32_UNIX_PRIVATE_H */ diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index 69b0da7b167..e5c727b892d 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -91799,9 +91799,7 @@ struct opengl_funcs null_opengl_funcs = .p_glVertexPointer = null_glVertexPointer, .p_glViewport = null_glViewport, }; - -const int extension_registry_size = 2758; -const struct registry_entry extension_registry[2758] = +const struct registry_entry extension_registry[] = { { "glAccumxOES", offsetof(struct opengl_funcs, p_glAccumxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, { "glAcquireKeyedMutexWin32EXT", offsetof(struct opengl_funcs, p_glAcquireKeyedMutexWin32EXT), 0, 0, { GL_EXT_win32_keyed_mutex, GL_EXTENSION_COUNT }}, @@ -94562,3 +94560,14 @@ const struct registry_entry extension_registry[2758] = { "wglSetPixelFormatWINE", offsetof(struct opengl_funcs, p_wglSetPixelFormatWINE), 0, 0, { WGL_WINE_pixel_format_passthrough, GL_EXTENSION_COUNT }}, { "wglSwapIntervalEXT", offsetof(struct opengl_funcs, p_wglSwapIntervalEXT), 0, 0, { WGL_EXT_swap_control, GL_EXTENSION_COUNT }}, }; + +static int registry_entry_cmp( const void *a, const void *b ) +{ + const struct registry_entry *entry = b; + return strcmp( a, entry->name ); +} + +struct registry_entry *get_function_entry( const char *name ) +{ + return bsearch( name, extension_registry, ARRAYSIZE(extension_registry), sizeof(extension_registry[0]), registry_entry_cmp ); +} diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 120f3cc44db..195503c982e 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -871,15 +871,9 @@ const GLubyte *wrap_glGetString( TEB *teb, GLenum name ) return ret; } -static int registry_entry_cmp( const void *a, const void *b ) -{ - const struct registry_entry *entry_a = a, *entry_b = b; - return strcmp( entry_a->name, entry_b->name ); -} - PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) { - const struct registry_entry entry = {.name = name}, *found; + const struct registry_entry *found; struct opengl_funcs *funcs = teb->glTable; const void **func_ptr; struct context *ctx; @@ -893,7 +887,7 @@ PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) return (void *)-1; } - if (!(found = bsearch( &entry, extension_registry, extension_registry_size, sizeof(entry), registry_entry_cmp ))) + if (!(found = get_function_entry( name ))) { WARN( "Function %s unknown\n", name ); return (void *)-1; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> With test fixes by Rémi Bernon. --- dlls/opengl32/unix_wgl.c | 12 ++++++------ dlls/win32u/tests/d3dkmt.c | 7 ++++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 195503c982e..af1b098cbf3 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -893,17 +893,17 @@ PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) return (void *)-1; } + if (!is_function_supported( ctx, found )) + { + WARN( "Extensions required for %s not supported\n", name ); + return (void *)-1; + } + func_ptr = (const void **)((char *)funcs + found->offset); if (!*func_ptr) { void *driver_func = funcs->p_wglGetProcAddress( name ); - if (!is_function_supported( ctx, found )) - { - WARN( "Extensions required for %s not supported\n", name ); - return (void *)-1; - } - if (driver_func == NULL) { WARN( "Function %s not supported by driver\n", name ); diff --git a/dlls/win32u/tests/d3dkmt.c b/dlls/win32u/tests/d3dkmt.c index 6b52d3100b4..d4ca602e8e4 100644 --- a/dlls/win32u/tests/d3dkmt.c +++ b/dlls/win32u/tests/d3dkmt.c @@ -4224,7 +4224,7 @@ static struct opengl_device *create_opengl_device( HWND hwnd, LUID *luid ) PFN_glGetUnsignedBytevEXT p_glGetUnsignedBytevEXT; PFN_glGetUnsignedBytei_vEXT p_glGetUnsignedBytei_vEXT; - const char *extensions, *ptr; + const char *extensions, *renderer, *ptr; struct opengl_device *dev; unsigned int nodes = 0; LUID device_luid = {0}; @@ -4261,9 +4261,14 @@ static struct opengl_device *create_opengl_device( HWND hwnd, LUID *luid ) ok_x4( glGetError(), ==, 0 ); ok_ptr( extensions, !=, NULL ); + renderer = (char *)glGetString( GL_RENDERER ); + ok_x4( glGetError(), ==, 0 ); + ok_ptr( renderer, !=, NULL ); + ptr = find_opengl_extension( extensions, "GL_EXT_memory_object_win32" ); ok_ptr( ptr, !=, NULL ); ptr = find_opengl_extension( extensions, "GL_EXT_semaphore_win32" ); + todo_wine_if( strstr( renderer, "llvmpipe" )) ok_ptr( ptr, !=, NULL ); ptr = find_opengl_extension( extensions, "GL_EXT_win32_keyed_mutex" ); dev->broken = !winetest_platform_is_wine && ptr == NULL; /* missing on AMD, as is support for importing D3D handles */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/unix_wgl.c | 48 ++++------------------------------------ dlls/win32u/opengl.c | 17 +------------- 2 files changed, 5 insertions(+), 60 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index af1b098cbf3..3ee07fe2d8b 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -874,8 +874,6 @@ const GLubyte *wrap_glGetString( TEB *teb, GLenum name ) PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) { const struct registry_entry *found; - struct opengl_funcs *funcs = teb->glTable; - const void **func_ptr; struct context *ctx; /* Without an active context opengl32 doesn't know to what @@ -899,20 +897,6 @@ PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) return (void *)-1; } - func_ptr = (const void **)((char *)funcs + found->offset); - if (!*func_ptr) - { - void *driver_func = funcs->p_wglGetProcAddress( name ); - - if (driver_func == NULL) - { - WARN( "Function %s not supported by driver\n", name ); - return (void *)-1; - } - - *func_ptr = driver_func; - } - /* Return the index into the extension registry instead of a useless * function pointer, PE side will returns its own function pointers. */ @@ -990,15 +974,6 @@ static BOOL initialize_vk_device( TEB *teb, struct context *ctx ) } if (!vk_instance) return FALSE; -#define GET_GL_FUNC(name) if (!funcs->p_##name) funcs->p_##name = (void *)funcs->p_wglGetProcAddress( #name ) - GET_GL_FUNC( glBufferStorageMemEXT ); - GET_GL_FUNC( glCreateMemoryObjectsEXT ); - GET_GL_FUNC( glDeleteMemoryObjectsEXT ); - GET_GL_FUNC( glGetUnsignedBytei_vEXT ); - GET_GL_FUNC( glImportMemoryFdEXT ); - GET_GL_FUNC( glNamedBufferStorageMemEXT ); -#undef GET_GL_FUNC - funcs->p_glGetIntegerv( GL_NUM_DEVICE_UUIDS_EXT, &uuid_count ); for (i = 0; i < uuid_count; i++) { @@ -1171,13 +1146,6 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD if (client->major_version >= 3) { GLint extensions_count; - - if (!funcs->p_glGetStringi) - { - void **func_ptr = (void **)&funcs->p_glGetStringi; - *func_ptr = funcs->p_wglGetProcAddress( "glGetStringi" ); - } - funcs->p_glGetIntegerv( GL_NUM_EXTENSIONS, &extensions_count ); for (i = 0; i < extensions_count; i++) { @@ -2070,37 +2038,29 @@ NTSTATUS return_wow64_string( const void *str, PTR32 *wow64_str ) static GLint get_buffer_param( TEB *teb, GLenum target, GLenum param ) { const struct opengl_funcs *funcs = teb->glTable; - typeof(*funcs->p_glGetBufferParameteriv) *func; GLint size = 0; - if (!(func = funcs->p_glGetBufferParameteriv)) func = (void *)funcs->p_wglGetProcAddress( "glGetBufferParameteriv" ); - if (func) func( target, param, &size ); + if (funcs->p_glGetBufferParameteriv) funcs->p_glGetBufferParameteriv( target, param, &size ); return size; } static GLint get_named_buffer_param( TEB *teb, GLint buffer, GLenum param ) { const struct opengl_funcs *funcs = teb->glTable; - typeof(*funcs->p_glGetNamedBufferParameteriv) *func; GLint size = 0; - if (!(func = funcs->p_glGetNamedBufferParameteriv)) func = (void *)funcs->p_wglGetProcAddress( "glGetNamedBufferParameteriv" ); - if (func) func( buffer, param, &size ); + if (funcs->p_glGetNamedBufferParameteriv) funcs->p_glGetNamedBufferParameteriv( buffer, param, &size ); return size; } static void unmap_buffer( TEB *teb, GLenum target ) { const struct opengl_funcs *funcs = teb->glTable; - typeof(*funcs->p_glUnmapBuffer) *func; - if (!(func = funcs->p_glUnmapBuffer)) func = (void *)funcs->p_wglGetProcAddress( "glUnmapBuffer" ); - if (func) func( target ); + if (funcs->p_glUnmapBuffer) funcs->p_glUnmapBuffer( target ); } static void unmap_named_buffer( TEB *teb, GLint buffer ) { const struct opengl_funcs *funcs = teb->glTable; - typeof(*funcs->p_glUnmapNamedBuffer) *func; - if (!(func = funcs->p_glUnmapNamedBuffer)) func = (void *)funcs->p_wglGetProcAddress( "glUnmapNamedBuffer" ); - if (func) func( buffer ); + if (funcs->p_glUnmapNamedBuffer) funcs->p_glUnmapNamedBuffer( buffer ); } static GLuint get_target_name( TEB *teb, GLenum target ) diff --git a/dlls/win32u/opengl.c b/dlls/win32u/opengl.c index 28050d9a94c..dd8b243f9f3 100644 --- a/dlls/win32u/opengl.c +++ b/dlls/win32u/opengl.c @@ -2687,22 +2687,7 @@ static void display_funcs_init(void) if (!display_funcs.p_##func && !(display_funcs.p_##func = driver_funcs->p_get_proc_address( #func ))) \ WARN( "%s not found.\n", #func ); ALL_GL_FUNCS - USE_GL_FUNC(glBindFramebuffer) - USE_GL_FUNC(glBlitFramebuffer) - USE_GL_FUNC(glCheckNamedFramebufferStatus) - USE_GL_FUNC(glCreateFramebuffers) - USE_GL_FUNC(glCreateRenderbuffers) - USE_GL_FUNC(glDeleteFramebuffers) - USE_GL_FUNC(glDeleteRenderbuffers) - USE_GL_FUNC(glGetNamedFramebufferAttachmentParameteriv) - USE_GL_FUNC(glGetUnsignedBytei_vEXT) - USE_GL_FUNC(glGetUnsignedBytevEXT) - USE_GL_FUNC(glImportMemoryFdEXT) - USE_GL_FUNC(glImportSemaphoreFdEXT) - USE_GL_FUNC(glNamedFramebufferDrawBuffer) - USE_GL_FUNC(glNamedFramebufferReadBuffer) - USE_GL_FUNC(glNamedFramebufferRenderbuffer) - USE_GL_FUNC(glNamedRenderbufferStorageMultisample) + ALL_GL_EXT_FUNCS #undef USE_GL_FUNC display_funcs.p_wglGetProcAddress = win32u_wglGetProcAddress; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
From: Jacek Caban <jacek@codeweavers.com> --- dlls/opengl32/make_opengl | 96 +- dlls/opengl32/private.h | 12 +- dlls/opengl32/thunks.c | 2773 +++++++++++++++++++++++++++++++++ dlls/opengl32/unix_private.h | 12 - dlls/opengl32/unix_thunks.c | 2800 ---------------------------------- dlls/opengl32/unix_thunks.h | 1 - dlls/opengl32/unix_wgl.c | 52 - dlls/opengl32/unixlib.h | 8 - dlls/opengl32/wgl.c | 29 +- 9 files changed, 2848 insertions(+), 2935 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 081a25d5631..cfba9205333 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -157,6 +157,7 @@ my %manual_win_functions = "wglGetExtensionsStringARB" => 1, "wglGetExtensionsStringEXT" => 1, "wglGetLayerPaletteEntries" => 1, + "wglGetProcAddress" => 1, "wglRealizeLayerPalette" => 1, "wglSetLayerPaletteEntries" => 1, "wglSwapLayerBuffers" => 1, @@ -187,7 +188,6 @@ my %manual_win_thunks = "wglGetPixelFormat" => 1, "wglGetPixelFormatAttribfvARB" => 1, "wglGetPixelFormatAttribivARB" => 1, - "wglGetProcAddress" => 1, "wglMakeContextCurrentARB" => 1, "wglMakeCurrent" => 1, "wglQueryCurrentRendererStringWINE" => 1, @@ -230,7 +230,6 @@ my %manual_unix_thunks = "wglCreateContext" => 1, "wglCreateContextAttribsARB" => 1, "wglDeleteContext" => 1, - "wglGetProcAddress" => 1, "wglMakeContextCurrentARB" => 1, "wglMakeCurrent" => 1, "wglShareLists" => 1, @@ -1675,7 +1674,8 @@ open OUT, ">thunks.c" or die "cannot create thunks.c"; print OUT "/* Automatically generated from http://www.opengl.org/registry files; DO NOT EDIT! */\n\n"; print OUT "#include <stdarg.h>\n"; -print OUT "#include <stddef.h>\n\n"; +print OUT "#include <stddef.h>\n"; +print OUT "#include <stdlib.h>\n\n"; print OUT "#include \"ntstatus.h\"\n"; print OUT "#include \"windef.h\"\n"; @@ -1725,6 +1725,50 @@ foreach (sort keys %ext_functions) printf OUT " %s,\n", $_; } print OUT "};\n"; +# Then the table giving the string <-> function correspondence */ +print OUT "const struct registry_entry extension_registry[] =\n"; +print OUT "{\n"; +foreach (sort keys %ext_functions) +{ + next unless is_exposed_function( $ext_functions{$_} ); + my $func = $ext_functions{$_}; + my $major = 0; + my $minor = 0; + my @exts; + foreach my $ext (@{$func->[2]}) + { + if ($ext =~ /GL_VERSION_(\d+)_(\d+)/) + { + ($major, $minor) = ($1, $2); + next; + } + next unless is_exposed_extension( $ext ); + push @exts, $ext; + foreach my $alias (@{$extension_aliases{$ext}}) + { + if ($alias =~ /GL_VERSION_(\d+)_(\d+)/) + { + ($major, $minor) = ($1, $2); + next; + } + push @exts, $alias; + } + } + push @exts, "GL_EXTENSION_COUNT"; + printf OUT " { \"%s\", $_, $major, $minor, { %s }},\n", $_, join(", ", @exts); +} +print OUT "};\n"; +print OUT "\n"; +print OUT "static int registry_entry_cmp( const void *a, const void *b )\n"; +print OUT "{\n"; +print OUT " const struct registry_entry *entry = b;\n"; +print OUT " return strcmp( a, entry->name );\n"; +print OUT "}\n"; +print OUT "\n"; +print OUT "struct registry_entry *get_function_entry( const char *name )\n"; +print OUT "{\n"; +print OUT " return bsearch( name, extension_registry, ARRAYSIZE(extension_registry), sizeof(extension_registry[0]), registry_entry_cmp );\n"; +print OUT "}\n"; close OUT; @@ -1919,50 +1963,4 @@ foreach (sort keys %norm_functions) print OUT " .p_$_ = null_$_,\n"; } print OUT "};\n"; - -# Then the table giving the string <-> function correspondence */ -print OUT "const struct registry_entry extension_registry[] =\n"; -print OUT "{\n"; -foreach (sort keys %ext_functions) -{ - next unless is_exposed_function( $ext_functions{$_} ); - my $func = $ext_functions{$_}; - my $major = 0; - my $minor = 0; - my @exts; - foreach my $ext (@{$func->[2]}) - { - if ($ext =~ /GL_VERSION_(\d+)_(\d+)/) - { - ($major, $minor) = ($1, $2); - next; - } - next unless is_exposed_extension( $ext ); - push @exts, $ext; - foreach my $alias (@{$extension_aliases{$ext}}) - { - if ($alias =~ /GL_VERSION_(\d+)_(\d+)/) - { - ($major, $minor) = ($1, $2); - next; - } - push @exts, $alias; - } - } - push @exts, "GL_EXTENSION_COUNT"; - printf OUT " { \"%s\", offsetof(struct opengl_funcs, p_$_), $major, $minor, { %s }},\n", $_, join(", ", @exts); -} -print OUT "};\n"; -print OUT "\n"; -print OUT "static int registry_entry_cmp( const void *a, const void *b )\n"; -print OUT "{\n"; -print OUT " const struct registry_entry *entry = b;\n"; -print OUT " return strcmp( a, entry->name );\n"; -print OUT "}\n"; -print OUT "\n"; -print OUT "struct registry_entry *get_function_entry( const char *name )\n"; -print OUT "{\n"; -print OUT " return bsearch( name, extension_registry, ARRAYSIZE(extension_registry), sizeof(extension_registry[0]), registry_entry_cmp );\n"; -print OUT "}\n"; - close OUT; diff --git a/dlls/opengl32/private.h b/dlls/opengl32/private.h index 0e20af57672..7543f868d00 100644 --- a/dlls/opengl32/private.h +++ b/dlls/opengl32/private.h @@ -26,14 +26,22 @@ #include "winbase.h" #include "winternl.h" #include "wingdi.h" -#include "wine/wgl.h" +#include "wine/opengl_driver.h" -extern const void *extension_procs[]; +struct registry_entry +{ + const char *name; /* name of the extension */ + void *func; + UINT16 major; + UINT16 minor; + enum opengl_extension extensions[4]; +}; extern int WINAPI wglDescribePixelFormat( HDC hdc, int ipfd, UINT cjpfd, PIXELFORMATDESCRIPTOR *ppfd ); extern BOOL get_pbuffer_from_handle( HPBUFFERARB handle, HPBUFFERARB *obj ); extern BOOL get_context_from_handle( HGLRC handle, HGLRC *obj ); extern BOOL get_sync_from_handle( GLsync handle, GLsync *obj ); extern void set_gl_error( GLenum error ); +extern struct registry_entry *get_function_entry( const char *name ); #endif /* __WINE_OPENGL32_PRIVATE_H */ diff --git a/dlls/opengl32/thunks.c b/dlls/opengl32/thunks.c index 590d07a9087..ed8b7cce5dc 100644 --- a/dlls/opengl32/thunks.c +++ b/dlls/opengl32/thunks.c @@ -2,6 +2,7 @@ #include <stdarg.h> #include <stddef.h> +#include <stdlib.h> #include "ntstatus.h" #include "windef.h" @@ -27562,3 +27563,2775 @@ const void *extension_procs[] = wglSetPixelFormatWINE, wglSwapIntervalEXT, }; +const struct registry_entry extension_registry[] = +{ + { "glAccumxOES", glAccumxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glAcquireKeyedMutexWin32EXT", glAcquireKeyedMutexWin32EXT, 0, 0, { GL_EXT_win32_keyed_mutex, GL_EXTENSION_COUNT }}, + { "glActiveProgramEXT", glActiveProgramEXT, 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glActiveShaderProgram", glActiveShaderProgram, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glActiveStencilFaceEXT", glActiveStencilFaceEXT, 0, 0, { GL_EXT_stencil_two_side, GL_EXTENSION_COUNT }}, + { "glActiveTexture", glActiveTexture, 1, 3, { GL_EXTENSION_COUNT }}, + { "glActiveTextureARB", glActiveTextureARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glActiveVaryingNV", glActiveVaryingNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glAlphaFragmentOp1ATI", glAlphaFragmentOp1ATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glAlphaFragmentOp2ATI", glAlphaFragmentOp2ATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glAlphaFragmentOp3ATI", glAlphaFragmentOp3ATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glAlphaFuncx", glAlphaFuncx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glAlphaFuncxOES", glAlphaFuncxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glAlphaToCoverageDitherControlNV", glAlphaToCoverageDitherControlNV, 0, 0, { GL_NV_alpha_to_coverage_dither_control, GL_EXTENSION_COUNT }}, + { "glApplyFramebufferAttachmentCMAAINTEL", glApplyFramebufferAttachmentCMAAINTEL, 0, 0, { GL_INTEL_framebuffer_CMAA, GL_EXTENSION_COUNT }}, + { "glApplyTextureEXT", glApplyTextureEXT, 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, + { "glAreProgramsResidentNV", glAreProgramsResidentNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glAreTexturesResidentEXT", glAreTexturesResidentEXT, 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glArrayElementEXT", glArrayElementEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glArrayObjectATI", glArrayObjectATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glAsyncCopyBufferSubDataNVX", glAsyncCopyBufferSubDataNVX, 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glAsyncCopyImageSubDataNVX", glAsyncCopyImageSubDataNVX, 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glAsyncMarkerSGIX", glAsyncMarkerSGIX, 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glAttachObjectARB", glAttachObjectARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glAttachShader", glAttachShader, 2, 0, { GL_EXTENSION_COUNT }}, + { "glBeginConditionalRender", glBeginConditionalRender, 3, 0, { GL_EXTENSION_COUNT }}, + { "glBeginConditionalRenderNV", glBeginConditionalRenderNV, 0, 0, { GL_NV_conditional_render, GL_EXTENSION_COUNT }}, + { "glBeginConditionalRenderNVX", glBeginConditionalRenderNVX, 0, 0, { GL_NVX_conditional_render, GL_EXTENSION_COUNT }}, + { "glBeginFragmentShaderATI", glBeginFragmentShaderATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glBeginOcclusionQueryNV", glBeginOcclusionQueryNV, 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glBeginPerfMonitorAMD", glBeginPerfMonitorAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glBeginPerfQueryINTEL", glBeginPerfQueryINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glBeginQuery", glBeginQuery, 1, 5, { GL_EXTENSION_COUNT }}, + { "glBeginQueryARB", glBeginQueryARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glBeginQueryIndexed", glBeginQueryIndexed, 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glBeginTransformFeedback", glBeginTransformFeedback, 3, 0, { GL_EXTENSION_COUNT }}, + { "glBeginTransformFeedbackEXT", glBeginTransformFeedbackEXT, 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBeginTransformFeedbackNV", glBeginTransformFeedbackNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBeginVertexShaderEXT", glBeginVertexShaderEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBeginVideoCaptureNV", glBeginVideoCaptureNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glBindAttribLocation", glBindAttribLocation, 2, 0, { GL_EXTENSION_COUNT }}, + { "glBindAttribLocationARB", glBindAttribLocationARB, 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindBuffer", glBindBuffer, 1, 5, { GL_EXTENSION_COUNT }}, + { "glBindBufferARB", glBindBufferARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glBindBufferBase", glBindBufferBase, 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glBindBufferBaseEXT", glBindBufferBaseEXT, 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferBaseNV", glBindBufferBaseNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferOffsetEXT", glBindBufferOffsetEXT, 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferOffsetNV", glBindBufferOffsetNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferRange", glBindBufferRange, 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glBindBufferRangeEXT", glBindBufferRangeEXT, 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBufferRangeNV", glBindBufferRangeNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glBindBuffersBase", glBindBuffersBase, 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindBuffersRange", glBindBuffersRange, 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindFragDataLocation", glBindFragDataLocation, 3, 0, { GL_EXTENSION_COUNT }}, + { "glBindFragDataLocationEXT", glBindFragDataLocationEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glBindFragDataLocationIndexed", glBindFragDataLocationIndexed, 3, 3, { GL_ARB_blend_func_extended, GL_EXTENSION_COUNT }}, + { "glBindFragmentShaderATI", glBindFragmentShaderATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glBindFramebuffer", glBindFramebuffer, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindFramebufferEXT", glBindFramebufferEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindImageTexture", glBindImageTexture, 4, 2, { GL_ARB_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glBindImageTextureEXT", glBindImageTextureEXT, 0, 0, { GL_EXT_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glBindImageTextures", glBindImageTextures, 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindLightParameterEXT", glBindLightParameterEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindMaterialParameterEXT", glBindMaterialParameterEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindMultiTextureEXT", glBindMultiTextureEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glBindParameterEXT", glBindParameterEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindProgramARB", glBindProgramARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glBindProgramNV", glBindProgramNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glBindProgramPipeline", glBindProgramPipeline, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glBindRenderbuffer", glBindRenderbuffer, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindRenderbufferEXT", glBindRenderbufferEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBindSampler", glBindSampler, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glBindSamplers", glBindSamplers, 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindShadingRateImageNV", glBindShadingRateImageNV, 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glBindTexGenParameterEXT", glBindTexGenParameterEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindTextureEXT", glBindTextureEXT, 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glBindTextureUnit", glBindTextureUnit, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glBindTextureUnitParameterEXT", glBindTextureUnitParameterEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindTextures", glBindTextures, 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindTransformFeedback", glBindTransformFeedback, 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glBindTransformFeedbackNV", glBindTransformFeedbackNV, 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glBindVertexArray", glBindVertexArray, 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glBindVertexArrayAPPLE", glBindVertexArrayAPPLE, 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glBindVertexBuffer", glBindVertexBuffer, 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glBindVertexBuffers", glBindVertexBuffers, 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, + { "glBindVertexShaderEXT", glBindVertexShaderEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glBindVideoCaptureStreamBufferNV", glBindVideoCaptureStreamBufferNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glBindVideoCaptureStreamTextureNV", glBindVideoCaptureStreamTextureNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glBinormal3bEXT", glBinormal3bEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3bvEXT", glBinormal3bvEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3dEXT", glBinormal3dEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3dvEXT", glBinormal3dvEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3fEXT", glBinormal3fEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3fvEXT", glBinormal3fvEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3iEXT", glBinormal3iEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3ivEXT", glBinormal3ivEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3sEXT", glBinormal3sEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormal3svEXT", glBinormal3svEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBinormalPointerEXT", glBinormalPointerEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glBitmapxOES", glBitmapxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glBlendBarrier", glBlendBarrier, 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, + { "glBlendBarrierKHR", glBlendBarrierKHR, 0, 0, { GL_KHR_blend_equation_advanced, GL_EXTENSION_COUNT }}, + { "glBlendBarrierNV", glBlendBarrierNV, 0, 0, { GL_NV_blend_equation_advanced, GL_EXTENSION_COUNT }}, + { "glBlendColor", glBlendColor, 1, 4, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glBlendColorEXT", glBlendColorEXT, 0, 0, { GL_EXT_blend_color, GL_EXTENSION_COUNT }}, + { "glBlendColorxOES", glBlendColorxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glBlendEquation", glBlendEquation, 1, 4, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glBlendEquationEXT", glBlendEquationEXT, 0, 0, { GL_EXT_blend_minmax, GL_EXTENSION_COUNT }}, + { "glBlendEquationIndexedAMD", glBlendEquationIndexedAMD, 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparate", glBlendEquationSeparate, 2, 0, { GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparateEXT", glBlendEquationSeparateEXT, 0, 0, { GL_EXT_blend_equation_separate, GL_ATI_blend_equation_separate, GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparateIndexedAMD", glBlendEquationSeparateIndexedAMD, 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparatei", glBlendEquationSeparatei, 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendEquationSeparateiARB", glBlendEquationSeparateiARB, 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendEquationi", glBlendEquationi, 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendEquationiARB", glBlendEquationiARB, 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFuncIndexedAMD", glBlendFuncIndexedAMD, 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparate", glBlendFuncSeparate, 1, 4, { GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateEXT", glBlendFuncSeparateEXT, 0, 0, { GL_EXT_blend_func_separate, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateINGR", glBlendFuncSeparateINGR, 0, 0, { GL_INGR_blend_func_separate, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateIndexedAMD", glBlendFuncSeparateIndexedAMD, 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparatei", glBlendFuncSeparatei, 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendFuncSeparateiARB", glBlendFuncSeparateiARB, 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendFunci", glBlendFunci, 4, 0, { GL_EXTENSION_COUNT }}, + { "glBlendFunciARB", glBlendFunciARB, 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, + { "glBlendParameteriNV", glBlendParameteriNV, 0, 0, { GL_NV_blend_equation_advanced, GL_EXTENSION_COUNT }}, + { "glBlitFramebuffer", glBlitFramebuffer, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glBlitFramebufferEXT", glBlitFramebufferEXT, 0, 0, { GL_EXT_framebuffer_blit, GL_EXTENSION_COUNT }}, + { "glBlitFramebufferLayerEXT", glBlitFramebufferLayerEXT, 0, 0, { GL_EXT_framebuffer_blit_layers, GL_EXTENSION_COUNT }}, + { "glBlitFramebufferLayersEXT", glBlitFramebufferLayersEXT, 0, 0, { GL_EXT_framebuffer_blit_layers, GL_EXTENSION_COUNT }}, + { "glBlitNamedFramebuffer", glBlitNamedFramebuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glBufferAddressRangeNV", glBufferAddressRangeNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glBufferAttachMemoryNV", glBufferAttachMemoryNV, 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glBufferData", glBufferData, 1, 5, { GL_EXTENSION_COUNT }}, + { "glBufferDataARB", glBufferDataARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glBufferPageCommitmentARB", glBufferPageCommitmentARB, 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, + { "glBufferPageCommitmentMemNV", glBufferPageCommitmentMemNV, 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glBufferParameteriAPPLE", glBufferParameteriAPPLE, 0, 0, { GL_APPLE_flush_buffer_range, GL_EXTENSION_COUNT }}, + { "glBufferRegionEnabled", glBufferRegionEnabled, 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glBufferStorage", glBufferStorage, 4, 4, { GL_ARB_buffer_storage, GL_EXTENSION_COUNT }}, + { "glBufferStorageExternalEXT", glBufferStorageExternalEXT, 0, 0, { GL_EXT_external_buffer, GL_EXTENSION_COUNT }}, + { "glBufferStorageMemEXT", glBufferStorageMemEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glBufferSubData", glBufferSubData, 1, 5, { GL_EXTENSION_COUNT }}, + { "glBufferSubDataARB", glBufferSubDataARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glCallCommandListNV", glCallCommandListNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCheckFramebufferStatus", glCheckFramebufferStatus, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glCheckFramebufferStatusEXT", glCheckFramebufferStatusEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glCheckNamedFramebufferStatus", glCheckNamedFramebufferStatus, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCheckNamedFramebufferStatusEXT", glCheckNamedFramebufferStatusEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClampColor", glClampColor, 3, 0, { GL_EXTENSION_COUNT }}, + { "glClampColorARB", glClampColorARB, 0, 0, { GL_ARB_color_buffer_float, GL_EXTENSION_COUNT }}, + { "glClearAccumxOES", glClearAccumxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glClearBufferData", glClearBufferData, 4, 3, { GL_ARB_clear_buffer_object, GL_EXTENSION_COUNT }}, + { "glClearBufferSubData", glClearBufferSubData, 4, 3, { GL_ARB_clear_buffer_object, GL_EXTENSION_COUNT }}, + { "glClearBufferfi", glClearBufferfi, 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearBufferfv", glClearBufferfv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearBufferiv", glClearBufferiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearBufferuiv", glClearBufferuiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glClearColorIiEXT", glClearColorIiEXT, 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glClearColorIuiEXT", glClearColorIuiEXT, 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glClearColorx", glClearColorx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClearColorxOES", glClearColorxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glClearDepthdNV", glClearDepthdNV, 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, + { "glClearDepthf", glClearDepthf, 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glClearDepthfOES", glClearDepthfOES, 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glClearDepthx", glClearDepthx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClearDepthxOES", glClearDepthxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferData", glClearNamedBufferData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferDataEXT", glClearNamedBufferDataEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferSubData", glClearNamedBufferSubData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedBufferSubDataEXT", glClearNamedBufferSubDataEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferfi", glClearNamedFramebufferfi, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferfv", glClearNamedFramebufferfv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferiv", glClearNamedFramebufferiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearNamedFramebufferuiv", glClearNamedFramebufferuiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClearTexImage", glClearTexImage, 4, 4, { GL_ARB_clear_texture, GL_EXTENSION_COUNT }}, + { "glClearTexSubImage", glClearTexSubImage, 4, 4, { GL_ARB_clear_texture, GL_EXTENSION_COUNT }}, + { "glClientActiveTexture", glClientActiveTexture, 1, 3, { GL_EXTENSION_COUNT }}, + { "glClientActiveTextureARB", glClientActiveTextureARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glClientActiveVertexStreamATI", glClientActiveVertexStreamATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glClientAttribDefaultEXT", glClientAttribDefaultEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glClientWaitSemaphoreui64NVX", glClientWaitSemaphoreui64NVX, 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glClientWaitSync", glClientWaitSync, 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glClipControl", glClipControl, 4, 5, { GL_ARB_clip_control, GL_EXTENSION_COUNT }}, + { "glClipPlanef", glClipPlanef, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClipPlanefOES", glClipPlanefOES, 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glClipPlanex", glClipPlanex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glClipPlanexOES", glClipPlanexOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor3fVertex3fSUN", glColor3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor3fVertex3fvSUN", glColor3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor3hNV", glColor3hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor3hvNV", glColor3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor3xOES", glColor3xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor3xvOES", glColor3xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor4fNormal3fVertex3fSUN", glColor4fNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4fNormal3fVertex3fvSUN", glColor4fNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4hNV", glColor4hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor4hvNV", glColor4hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex2fSUN", glColor4ubVertex2fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex2fvSUN", glColor4ubVertex2fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex3fSUN", glColor4ubVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4ubVertex3fvSUN", glColor4ubVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glColor4x", glColor4x, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glColor4xOES", glColor4xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColor4xvOES", glColor4xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glColorFormatNV", glColorFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glColorFragmentOp1ATI", glColorFragmentOp1ATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glColorFragmentOp2ATI", glColorFragmentOp2ATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glColorFragmentOp3ATI", glColorFragmentOp3ATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glColorMaskIndexedEXT", glColorMaskIndexedEXT, 0, 0, { GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glColorMaski", glColorMaski, 3, 0, { GL_EXTENSION_COUNT }}, + { "glColorP3ui", glColorP3ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorP3uiv", glColorP3uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorP4ui", glColorP4ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorP4uiv", glColorP4uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glColorPointerEXT", glColorPointerEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glColorPointerListIBM", glColorPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glColorPointervINTEL", glColorPointervINTEL, 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glColorSubTable", glColorSubTable, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorSubTableEXT", glColorSubTableEXT, 0, 0, { GL_EXT_color_subtable, GL_EXTENSION_COUNT }}, + { "glColorTable", glColorTable, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorTableEXT", glColorTableEXT, 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glColorTableParameterfv", glColorTableParameterfv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorTableParameterfvSGI", glColorTableParameterfvSGI, 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glColorTableParameteriv", glColorTableParameteriv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glColorTableParameterivSGI", glColorTableParameterivSGI, 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glColorTableSGI", glColorTableSGI, 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glCombinerInputNV", glCombinerInputNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerOutputNV", glCombinerOutputNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameterfNV", glCombinerParameterfNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameterfvNV", glCombinerParameterfvNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameteriNV", glCombinerParameteriNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerParameterivNV", glCombinerParameterivNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glCombinerStageParameterfvNV", glCombinerStageParameterfvNV, 0, 0, { GL_NV_register_combiners2, GL_EXTENSION_COUNT }}, + { "glCommandListSegmentsNV", glCommandListSegmentsNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCompileCommandListNV", glCompileCommandListNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCompileShader", glCompileShader, 2, 0, { GL_EXTENSION_COUNT }}, + { "glCompileShaderARB", glCompileShaderARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glCompileShaderIncludeARB", glCompileShaderIncludeARB, 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexImage1DEXT", glCompressedMultiTexImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexImage2DEXT", glCompressedMultiTexImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexImage3DEXT", glCompressedMultiTexImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexSubImage1DEXT", glCompressedMultiTexSubImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexSubImage2DEXT", glCompressedMultiTexSubImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedMultiTexSubImage3DEXT", glCompressedMultiTexSubImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTexImage1D", glCompressedTexImage1D, 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexImage1DARB", glCompressedTexImage1DARB, 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexImage2D", glCompressedTexImage2D, 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexImage2DARB", glCompressedTexImage2DARB, 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexImage3D", glCompressedTexImage3D, 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexImage3DARB", glCompressedTexImage3DARB, 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage1D", glCompressedTexSubImage1D, 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage1DARB", glCompressedTexSubImage1DARB, 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage2D", glCompressedTexSubImage2D, 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage2DARB", glCompressedTexSubImage2DARB, 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage3D", glCompressedTexSubImage3D, 1, 3, { GL_EXTENSION_COUNT }}, + { "glCompressedTexSubImage3DARB", glCompressedTexSubImage3DARB, 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glCompressedTextureImage1DEXT", glCompressedTextureImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureImage2DEXT", glCompressedTextureImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureImage3DEXT", glCompressedTextureImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage1D", glCompressedTextureSubImage1D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage1DEXT", glCompressedTextureSubImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage2D", glCompressedTextureSubImage2D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage2DEXT", glCompressedTextureSubImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage3D", glCompressedTextureSubImage3D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCompressedTextureSubImage3DEXT", glCompressedTextureSubImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glConservativeRasterParameterfNV", glConservativeRasterParameterfNV, 0, 0, { GL_NV_conservative_raster_dilate, GL_EXTENSION_COUNT }}, + { "glConservativeRasterParameteriNV", glConservativeRasterParameteriNV, 0, 0, { GL_NV_conservative_raster_pre_snap_triangles, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter1D", glConvolutionFilter1D, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter1DEXT", glConvolutionFilter1DEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter2D", glConvolutionFilter2D, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionFilter2DEXT", glConvolutionFilter2DEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterf", glConvolutionParameterf, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterfEXT", glConvolutionParameterfEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterfv", glConvolutionParameterfv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterfvEXT", glConvolutionParameterfvEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameteri", glConvolutionParameteri, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameteriEXT", glConvolutionParameteriEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameteriv", glConvolutionParameteriv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterivEXT", glConvolutionParameterivEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterxOES", glConvolutionParameterxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glConvolutionParameterxvOES", glConvolutionParameterxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glCopyBufferSubData", glCopyBufferSubData, 3, 1, { GL_ARB_copy_buffer, GL_EXT_copy_buffer, GL_EXTENSION_COUNT }}, + { "glCopyColorSubTable", glCopyColorSubTable, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyColorSubTableEXT", glCopyColorSubTableEXT, 0, 0, { GL_EXT_color_subtable, GL_EXTENSION_COUNT }}, + { "glCopyColorTable", glCopyColorTable, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyColorTableSGI", glCopyColorTableSGI, 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter1D", glCopyConvolutionFilter1D, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter1DEXT", glCopyConvolutionFilter1DEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter2D", glCopyConvolutionFilter2D, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glCopyConvolutionFilter2DEXT", glCopyConvolutionFilter2DEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glCopyImageSubData", glCopyImageSubData, 4, 3, { GL_ARB_copy_image, GL_EXTENSION_COUNT }}, + { "glCopyImageSubDataNV", glCopyImageSubDataNV, 0, 0, { GL_NV_copy_image, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexImage1DEXT", glCopyMultiTexImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexImage2DEXT", glCopyMultiTexImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexSubImage1DEXT", glCopyMultiTexSubImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexSubImage2DEXT", glCopyMultiTexSubImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyMultiTexSubImage3DEXT", glCopyMultiTexSubImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyNamedBufferSubData", glCopyNamedBufferSubData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyPathNV", glCopyPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCopyTexImage1DEXT", glCopyTexImage1DEXT, 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexImage2DEXT", glCopyTexImage2DEXT, 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage1DEXT", glCopyTexSubImage1DEXT, 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage2DEXT", glCopyTexSubImage2DEXT, 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage3D", glCopyTexSubImage3D, 1, 2, { GL_EXTENSION_COUNT }}, + { "glCopyTexSubImage3DEXT", glCopyTexSubImage3DEXT, 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, + { "glCopyTextureImage1DEXT", glCopyTextureImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureImage2DEXT", glCopyTextureImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage1D", glCopyTextureSubImage1D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage1DEXT", glCopyTextureSubImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage2D", glCopyTextureSubImage2D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage2DEXT", glCopyTextureSubImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage3D", glCopyTextureSubImage3D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCopyTextureSubImage3DEXT", glCopyTextureSubImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCoverFillPathInstancedNV", glCoverFillPathInstancedNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverFillPathNV", glCoverFillPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverStrokePathInstancedNV", glCoverStrokePathInstancedNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverStrokePathNV", glCoverStrokePathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glCoverageModulationNV", glCoverageModulationNV, 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glCoverageModulationTableNV", glCoverageModulationTableNV, 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glCreateBuffers", glCreateBuffers, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateCommandListsNV", glCreateCommandListsNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCreateFramebuffers", glCreateFramebuffers, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateMemoryObjectsEXT", glCreateMemoryObjectsEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glCreatePerfQueryINTEL", glCreatePerfQueryINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glCreateProgram", glCreateProgram, 2, 0, { GL_EXTENSION_COUNT }}, + { "glCreateProgramObjectARB", glCreateProgramObjectARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateProgramPipelines", glCreateProgramPipelines, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateProgressFenceNVX", glCreateProgressFenceNVX, 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glCreateQueries", glCreateQueries, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateRenderbuffers", glCreateRenderbuffers, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateSamplers", glCreateSamplers, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateSemaphoresNV", glCreateSemaphoresNV, 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, + { "glCreateShader", glCreateShader, 2, 0, { GL_EXTENSION_COUNT }}, + { "glCreateShaderObjectARB", glCreateShaderObjectARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateShaderProgramEXT", glCreateShaderProgramEXT, 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateShaderProgramv", glCreateShaderProgramv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glCreateStatesNV", glCreateStatesNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glCreateSyncFromCLeventARB", glCreateSyncFromCLeventARB, 0, 0, { GL_ARB_cl_event, GL_EXTENSION_COUNT }}, + { "glCreateTextures", glCreateTextures, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateTransformFeedbacks", glCreateTransformFeedbacks, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCreateVertexArrays", glCreateVertexArrays, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glCullParameterdvEXT", glCullParameterdvEXT, 0, 0, { GL_EXT_cull_vertex, GL_EXTENSION_COUNT }}, + { "glCullParameterfvEXT", glCullParameterfvEXT, 0, 0, { GL_EXT_cull_vertex, GL_EXTENSION_COUNT }}, + { "glCurrentPaletteMatrixARB", glCurrentPaletteMatrixARB, 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glDebugMessageCallback", glDebugMessageCallback, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glDebugMessageCallbackAMD", glDebugMessageCallbackAMD, 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageCallbackARB", glDebugMessageCallbackARB, 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageControl", glDebugMessageControl, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glDebugMessageControlARB", glDebugMessageControlARB, 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageEnableAMD", glDebugMessageEnableAMD, 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageInsert", glDebugMessageInsert, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glDebugMessageInsertAMD", glDebugMessageInsertAMD, 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glDebugMessageInsertARB", glDebugMessageInsertARB, 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glDeformSGIX", glDeformSGIX, 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glDeformationMap3dSGIX", glDeformationMap3dSGIX, 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glDeformationMap3fSGIX", glDeformationMap3fSGIX, 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glDeleteAsyncMarkersSGIX", glDeleteAsyncMarkersSGIX, 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glDeleteBufferRegion", glDeleteBufferRegion, 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glDeleteBuffers", glDeleteBuffers, 1, 5, { GL_EXTENSION_COUNT }}, + { "glDeleteBuffersARB", glDeleteBuffersARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteCommandListsNV", glDeleteCommandListsNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDeleteFencesAPPLE", glDeleteFencesAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glDeleteFencesNV", glDeleteFencesNV, 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glDeleteFragmentShaderATI", glDeleteFragmentShaderATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glDeleteFramebuffers", glDeleteFramebuffers, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteFramebuffersEXT", glDeleteFramebuffersEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteMemoryObjectsEXT", glDeleteMemoryObjectsEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glDeleteNamedStringARB", glDeleteNamedStringARB, 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glDeleteNamesAMD", glDeleteNamesAMD, 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, + { "glDeleteObjectARB", glDeleteObjectARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glDeleteObjectBufferATI", glDeleteObjectBufferATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glDeleteOcclusionQueriesNV", glDeleteOcclusionQueriesNV, 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glDeletePathsNV", glDeletePathsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glDeletePerfMonitorsAMD", glDeletePerfMonitorsAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glDeletePerfQueryINTEL", glDeletePerfQueryINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glDeleteProgram", glDeleteProgram, 2, 0, { GL_EXTENSION_COUNT }}, + { "glDeleteProgramPipelines", glDeleteProgramPipelines, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glDeleteProgramsARB", glDeleteProgramsARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glDeleteProgramsNV", glDeleteProgramsNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glDeleteQueries", glDeleteQueries, 1, 5, { GL_EXTENSION_COUNT }}, + { "glDeleteQueriesARB", glDeleteQueriesARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glDeleteQueryResourceTagNV", glDeleteQueryResourceTagNV, 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, + { "glDeleteRenderbuffers", glDeleteRenderbuffers, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteRenderbuffersEXT", glDeleteRenderbuffersEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glDeleteSamplers", glDeleteSamplers, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glDeleteSemaphoresEXT", glDeleteSemaphoresEXT, 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glDeleteShader", glDeleteShader, 2, 0, { GL_EXTENSION_COUNT }}, + { "glDeleteStatesNV", glDeleteStatesNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDeleteSync", glDeleteSync, 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glDeleteTexturesEXT", glDeleteTexturesEXT, 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glDeleteTransformFeedbacks", glDeleteTransformFeedbacks, 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDeleteTransformFeedbacksNV", glDeleteTransformFeedbacksNV, 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDeleteVertexArrays", glDeleteVertexArrays, 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glDeleteVertexArraysAPPLE", glDeleteVertexArraysAPPLE, 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glDeleteVertexShaderEXT", glDeleteVertexShaderEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glDepthBoundsEXT", glDepthBoundsEXT, 0, 0, { GL_EXT_depth_bounds_test, GL_EXTENSION_COUNT }}, + { "glDepthBoundsdNV", glDepthBoundsdNV, 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, + { "glDepthRangeArraydvNV", glDepthRangeArraydvNV, 0, 0, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangeArrayv", glDepthRangeArrayv, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangeIndexed", glDepthRangeIndexed, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangeIndexeddNV", glDepthRangeIndexeddNV, 0, 0, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glDepthRangedNV", glDepthRangedNV, 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, + { "glDepthRangef", glDepthRangef, 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glDepthRangefOES", glDepthRangefOES, 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glDepthRangex", glDepthRangex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glDepthRangexOES", glDepthRangexOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glDetachObjectARB", glDetachObjectARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glDetachShader", glDetachShader, 2, 0, { GL_EXTENSION_COUNT }}, + { "glDetailTexFuncSGIS", glDetailTexFuncSGIS, 0, 0, { GL_SGIS_detail_texture, GL_EXTENSION_COUNT }}, + { "glDisableClientStateIndexedEXT", glDisableClientStateIndexedEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableClientStateiEXT", glDisableClientStateiEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableIndexedEXT", glDisableIndexedEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glDisableVariantClientStateEXT", glDisableVariantClientStateEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glDisableVertexArrayAttrib", glDisableVertexArrayAttrib, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableVertexArrayAttribEXT", glDisableVertexArrayAttribEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableVertexArrayEXT", glDisableVertexArrayEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glDisableVertexAttribAPPLE", glDisableVertexAttribAPPLE, 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glDisableVertexAttribArray", glDisableVertexAttribArray, 2, 0, { GL_EXTENSION_COUNT }}, + { "glDisableVertexAttribArrayARB", glDisableVertexAttribArrayARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glDisablei", glDisablei, 3, 0, { GL_EXTENSION_COUNT }}, + { "glDispatchCompute", glDispatchCompute, 4, 3, { GL_ARB_compute_shader, GL_EXTENSION_COUNT }}, + { "glDispatchComputeGroupSizeARB", glDispatchComputeGroupSizeARB, 0, 0, { GL_ARB_compute_variable_group_size, GL_EXTENSION_COUNT }}, + { "glDispatchComputeIndirect", glDispatchComputeIndirect, 4, 3, { GL_ARB_compute_shader, GL_EXTENSION_COUNT }}, + { "glDrawArraysEXT", glDrawArraysEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glDrawArraysIndirect", glDrawArraysIndirect, 4, 0, { GL_ARB_draw_indirect, GL_EXTENSION_COUNT }}, + { "glDrawArraysInstanced", glDrawArraysInstanced, 3, 1, { GL_EXTENSION_COUNT }}, + { "glDrawArraysInstancedARB", glDrawArraysInstancedARB, 0, 0, { GL_ARB_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawArraysInstancedBaseInstance", glDrawArraysInstancedBaseInstance, 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, + { "glDrawArraysInstancedEXT", glDrawArraysInstancedEXT, 0, 0, { GL_EXT_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawBufferRegion", glDrawBufferRegion, 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glDrawBuffers", glDrawBuffers, 2, 0, { GL_EXTENSION_COUNT }}, + { "glDrawBuffersARB", glDrawBuffersARB, 0, 0, { GL_ARB_draw_buffers, GL_EXTENSION_COUNT }}, + { "glDrawBuffersATI", glDrawBuffersATI, 0, 0, { GL_ATI_draw_buffers, GL_EXTENSION_COUNT }}, + { "glDrawCommandsAddressNV", glDrawCommandsAddressNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawCommandsNV", glDrawCommandsNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawCommandsStatesAddressNV", glDrawCommandsStatesAddressNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawCommandsStatesNV", glDrawCommandsStatesNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glDrawElementArrayAPPLE", glDrawElementArrayAPPLE, 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glDrawElementArrayATI", glDrawElementArrayATI, 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, + { "glDrawElementsBaseVertex", glDrawElementsBaseVertex, 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glDrawElementsIndirect", glDrawElementsIndirect, 4, 0, { GL_ARB_draw_indirect, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstanced", glDrawElementsInstanced, 3, 1, { GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedARB", glDrawElementsInstancedARB, 0, 0, { GL_ARB_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedBaseInstance", glDrawElementsInstancedBaseInstance, 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedBaseVertex", glDrawElementsInstancedBaseVertex, 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedBaseVertexBaseInstance", glDrawElementsInstancedBaseVertexBaseInstance, 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, + { "glDrawElementsInstancedEXT", glDrawElementsInstancedEXT, 0, 0, { GL_EXT_draw_instanced, GL_EXTENSION_COUNT }}, + { "glDrawMeshArraysSUN", glDrawMeshArraysSUN, 0, 0, { GL_SUN_mesh_array, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksEXT", glDrawMeshTasksEXT, 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksIndirectEXT", glDrawMeshTasksIndirectEXT, 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksIndirectNV", glDrawMeshTasksIndirectNV, 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawMeshTasksNV", glDrawMeshTasksNV, 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glDrawRangeElementArrayAPPLE", glDrawRangeElementArrayAPPLE, 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glDrawRangeElementArrayATI", glDrawRangeElementArrayATI, 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, + { "glDrawRangeElements", glDrawRangeElements, 1, 2, { GL_EXTENSION_COUNT }}, + { "glDrawRangeElementsBaseVertex", glDrawRangeElementsBaseVertex, 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glDrawRangeElementsEXT", glDrawRangeElementsEXT, 0, 0, { GL_EXT_draw_range_elements, GL_EXTENSION_COUNT }}, + { "glDrawTextureNV", glDrawTextureNV, 0, 0, { GL_NV_draw_texture, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedback", glDrawTransformFeedback, 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackInstanced", glDrawTransformFeedbackInstanced, 4, 2, { GL_ARB_transform_feedback_instanced, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackNV", glDrawTransformFeedbackNV, 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackStream", glDrawTransformFeedbackStream, 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glDrawTransformFeedbackStreamInstanced", glDrawTransformFeedbackStreamInstanced, 4, 2, { GL_ARB_transform_feedback_instanced, GL_EXTENSION_COUNT }}, + { "glDrawVkImageNV", glDrawVkImageNV, 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glEGLImageTargetTexStorageEXT", glEGLImageTargetTexStorageEXT, 0, 0, { GL_EXT_EGL_image_storage, GL_EXTENSION_COUNT }}, + { "glEGLImageTargetTextureStorageEXT", glEGLImageTargetTextureStorageEXT, 0, 0, { GL_EXT_EGL_image_storage, GL_EXTENSION_COUNT }}, + { "glEdgeFlagFormatNV", glEdgeFlagFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glEdgeFlagPointerEXT", glEdgeFlagPointerEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glEdgeFlagPointerListIBM", glEdgeFlagPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glElementPointerAPPLE", glElementPointerAPPLE, 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glElementPointerATI", glElementPointerATI, 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, + { "glEnableClientStateIndexedEXT", glEnableClientStateIndexedEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableClientStateiEXT", glEnableClientStateiEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableIndexedEXT", glEnableIndexedEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glEnableVariantClientStateEXT", glEnableVariantClientStateEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glEnableVertexArrayAttrib", glEnableVertexArrayAttrib, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableVertexArrayAttribEXT", glEnableVertexArrayAttribEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableVertexArrayEXT", glEnableVertexArrayEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glEnableVertexAttribAPPLE", glEnableVertexAttribAPPLE, 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glEnableVertexAttribArray", glEnableVertexAttribArray, 2, 0, { GL_EXTENSION_COUNT }}, + { "glEnableVertexAttribArrayARB", glEnableVertexAttribArrayARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glEnablei", glEnablei, 3, 0, { GL_EXTENSION_COUNT }}, + { "glEndConditionalRender", glEndConditionalRender, 3, 0, { GL_EXTENSION_COUNT }}, + { "glEndConditionalRenderNV", glEndConditionalRenderNV, 0, 0, { GL_NV_conditional_render, GL_EXTENSION_COUNT }}, + { "glEndConditionalRenderNVX", glEndConditionalRenderNVX, 0, 0, { GL_NVX_conditional_render, GL_EXTENSION_COUNT }}, + { "glEndFragmentShaderATI", glEndFragmentShaderATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glEndOcclusionQueryNV", glEndOcclusionQueryNV, 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glEndPerfMonitorAMD", glEndPerfMonitorAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glEndPerfQueryINTEL", glEndPerfQueryINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glEndQuery", glEndQuery, 1, 5, { GL_EXTENSION_COUNT }}, + { "glEndQueryARB", glEndQueryARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glEndQueryIndexed", glEndQueryIndexed, 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glEndTransformFeedback", glEndTransformFeedback, 3, 0, { GL_EXTENSION_COUNT }}, + { "glEndTransformFeedbackEXT", glEndTransformFeedbackEXT, 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glEndTransformFeedbackNV", glEndTransformFeedbackNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glEndVertexShaderEXT", glEndVertexShaderEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glEndVideoCaptureNV", glEndVideoCaptureNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glEvalCoord1xOES", glEvalCoord1xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalCoord1xvOES", glEvalCoord1xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalCoord2xOES", glEvalCoord2xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalCoord2xvOES", glEvalCoord2xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glEvalMapsNV", glEvalMapsNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glEvaluateDepthValuesARB", glEvaluateDepthValuesARB, 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, + { "glExecuteProgramNV", glExecuteProgramNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glExtractComponentEXT", glExtractComponentEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glFeedbackBufferxOES", glFeedbackBufferxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glFenceSync", glFenceSync, 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glFinalCombinerInputNV", glFinalCombinerInputNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glFinishAsyncSGIX", glFinishAsyncSGIX, 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glFinishFenceAPPLE", glFinishFenceAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glFinishFenceNV", glFinishFenceNV, 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glFinishObjectAPPLE", glFinishObjectAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glFinishTextureSUNX", glFinishTextureSUNX, 0, 0, { GL_SUNX_constant_data, GL_EXTENSION_COUNT }}, + { "glFlushMappedBufferRange", glFlushMappedBufferRange, 3, 0, { GL_ARB_map_buffer_range, GL_EXTENSION_COUNT }}, + { "glFlushMappedBufferRangeAPPLE", glFlushMappedBufferRangeAPPLE, 0, 0, { GL_APPLE_flush_buffer_range, GL_EXTENSION_COUNT }}, + { "glFlushMappedNamedBufferRange", glFlushMappedNamedBufferRange, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFlushMappedNamedBufferRangeEXT", glFlushMappedNamedBufferRangeEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFlushPixelDataRangeNV", glFlushPixelDataRangeNV, 0, 0, { GL_NV_pixel_data_range, GL_EXTENSION_COUNT }}, + { "glFlushRasterSGIX", glFlushRasterSGIX, 0, 0, { GL_SGIX_flush_raster, GL_EXTENSION_COUNT }}, + { "glFlushStaticDataIBM", glFlushStaticDataIBM, 0, 0, { GL_IBM_static_data, GL_EXTENSION_COUNT }}, + { "glFlushVertexArrayRangeAPPLE", glFlushVertexArrayRangeAPPLE, 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glFlushVertexArrayRangeNV", glFlushVertexArrayRangeNV, 0, 0, { GL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glFogCoordFormatNV", glFogCoordFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glFogCoordPointer", glFogCoordPointer, 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoordPointerEXT", glFogCoordPointerEXT, 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordPointerListIBM", glFogCoordPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glFogCoordd", glFogCoordd, 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoorddEXT", glFogCoorddEXT, 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoorddv", glFogCoorddv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoorddvEXT", glFogCoorddvEXT, 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordf", glFogCoordf, 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoordfEXT", glFogCoordfEXT, 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordfv", glFogCoordfv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glFogCoordfvEXT", glFogCoordfvEXT, 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, + { "glFogCoordhNV", glFogCoordhNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glFogCoordhvNV", glFogCoordhvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glFogFuncSGIS", glFogFuncSGIS, 0, 0, { GL_SGIS_fog_function, GL_EXTENSION_COUNT }}, + { "glFogx", glFogx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFogxOES", glFogxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glFogxv", glFogxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFogxvOES", glFogxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glFragmentColorMaterialSGIX", glFragmentColorMaterialSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentCoverageColorNV", glFragmentCoverageColorNV, 0, 0, { GL_NV_fragment_coverage_to_color, GL_EXTENSION_COUNT }}, + { "glFragmentLightModelfSGIX", glFragmentLightModelfSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightModelfvSGIX", glFragmentLightModelfvSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightModeliSGIX", glFragmentLightModeliSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightModelivSGIX", glFragmentLightModelivSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightfSGIX", glFragmentLightfSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightfvSGIX", glFragmentLightfvSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightiSGIX", glFragmentLightiSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentLightivSGIX", glFragmentLightivSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialfSGIX", glFragmentMaterialfSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialfvSGIX", glFragmentMaterialfvSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialiSGIX", glFragmentMaterialiSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFragmentMaterialivSGIX", glFragmentMaterialivSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glFrameTerminatorGREMEDY", glFrameTerminatorGREMEDY, 0, 0, { GL_GREMEDY_frame_terminator, GL_EXTENSION_COUNT }}, + { "glFrameZoomSGIX", glFrameZoomSGIX, 0, 0, { GL_SGIX_framezoom, GL_EXTENSION_COUNT }}, + { "glFramebufferDrawBufferEXT", glFramebufferDrawBufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFramebufferDrawBuffersEXT", glFramebufferDrawBuffersEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFramebufferFetchBarrierEXT", glFramebufferFetchBarrierEXT, 0, 0, { GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXTENSION_COUNT }}, + { "glFramebufferParameteri", glFramebufferParameteri, 4, 3, { GL_ARB_framebuffer_no_attachments, GL_EXTENSION_COUNT }}, + { "glFramebufferParameteriMESA", glFramebufferParameteriMESA, 0, 0, { GL_MESA_framebuffer_flip_y, GL_EXTENSION_COUNT }}, + { "glFramebufferReadBufferEXT", glFramebufferReadBufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glFramebufferRenderbuffer", glFramebufferRenderbuffer, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferRenderbufferEXT", glFramebufferRenderbufferEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferSampleLocationsfvARB", glFramebufferSampleLocationsfvARB, 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, + { "glFramebufferSampleLocationsfvNV", glFramebufferSampleLocationsfvNV, 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, + { "glFramebufferSamplePositionsfvAMD", glFramebufferSamplePositionsfvAMD, 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glFramebufferShadingRateEXT", glFramebufferShadingRateEXT, 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture", glFramebufferTexture, 3, 2, { GL_EXTENSION_COUNT }}, + { "glFramebufferTexture1D", glFramebufferTexture1D, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture1DEXT", glFramebufferTexture1DEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture2D", glFramebufferTexture2D, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture2DEXT", glFramebufferTexture2DEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture3D", glFramebufferTexture3D, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTexture3DEXT", glFramebufferTexture3DEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureARB", glFramebufferTextureARB, 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureEXT", glFramebufferTextureEXT, 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureFaceARB", glFramebufferTextureFaceARB, 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureFaceEXT", glFramebufferTextureFaceEXT, 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureLayer", glFramebufferTextureLayer, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureLayerARB", glFramebufferTextureLayerARB, 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureLayerEXT", glFramebufferTextureLayerEXT, 0, 0, { GL_EXT_texture_array, GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glFramebufferTextureMultiviewOVR", glFramebufferTextureMultiviewOVR, 0, 0, { GL_OVR_multiview, GL_EXTENSION_COUNT }}, + { "glFreeObjectBufferATI", glFreeObjectBufferATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glFrustumf", glFrustumf, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFrustumfOES", glFrustumfOES, 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glFrustumx", glFrustumx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glFrustumxOES", glFrustumxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGenAsyncMarkersSGIX", glGenAsyncMarkersSGIX, 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glGenBuffers", glGenBuffers, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGenBuffersARB", glGenBuffersARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGenFencesAPPLE", glGenFencesAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glGenFencesNV", glGenFencesNV, 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glGenFragmentShadersATI", glGenFragmentShadersATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glGenFramebuffers", glGenFramebuffers, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenFramebuffersEXT", glGenFramebuffersEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenNamesAMD", glGenNamesAMD, 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, + { "glGenOcclusionQueriesNV", glGenOcclusionQueriesNV, 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGenPathsNV", glGenPathsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGenPerfMonitorsAMD", glGenPerfMonitorsAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGenProgramPipelines", glGenProgramPipelines, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glGenProgramsARB", glGenProgramsARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGenProgramsNV", glGenProgramsNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGenQueries", glGenQueries, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGenQueriesARB", glGenQueriesARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGenQueryResourceTagNV", glGenQueryResourceTagNV, 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, + { "glGenRenderbuffers", glGenRenderbuffers, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenRenderbuffersEXT", glGenRenderbuffersEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenSamplers", glGenSamplers, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGenSemaphoresEXT", glGenSemaphoresEXT, 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGenSymbolsEXT", glGenSymbolsEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGenTexturesEXT", glGenTexturesEXT, 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glGenTransformFeedbacks", glGenTransformFeedbacks, 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glGenTransformFeedbacksNV", glGenTransformFeedbacksNV, 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glGenVertexArrays", glGenVertexArrays, 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGenVertexArraysAPPLE", glGenVertexArraysAPPLE, 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGenVertexShadersEXT", glGenVertexShadersEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGenerateMipmap", glGenerateMipmap, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenerateMipmapEXT", glGenerateMipmapEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGenerateMultiTexMipmapEXT", glGenerateMultiTexMipmapEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGenerateTextureMipmap", glGenerateTextureMipmap, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGenerateTextureMipmapEXT", glGenerateTextureMipmapEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetActiveAtomicCounterBufferiv", glGetActiveAtomicCounterBufferiv, 4, 2, { GL_ARB_shader_atomic_counters, GL_EXTENSION_COUNT }}, + { "glGetActiveAttrib", glGetActiveAttrib, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetActiveAttribARB", glGetActiveAttribARB, 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetActiveSubroutineName", glGetActiveSubroutineName, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetActiveSubroutineUniformName", glGetActiveSubroutineUniformName, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetActiveSubroutineUniformiv", glGetActiveSubroutineUniformiv, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetActiveUniform", glGetActiveUniform, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetActiveUniformARB", glGetActiveUniformARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformBlockName", glGetActiveUniformBlockName, 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformBlockiv", glGetActiveUniformBlockiv, 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformName", glGetActiveUniformName, 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveUniformsiv", glGetActiveUniformsiv, 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetActiveVaryingNV", glGetActiveVaryingNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetArrayObjectfvATI", glGetArrayObjectfvATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetArrayObjectivATI", glGetArrayObjectivATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetAttachedObjectsARB", glGetAttachedObjectsARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetAttachedShaders", glGetAttachedShaders, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetAttribLocation", glGetAttribLocation, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetAttribLocationARB", glGetAttribLocationARB, 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetBooleanIndexedvEXT", glGetBooleanIndexedvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glGetBooleani_v", glGetBooleani_v, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetBufferParameteri64v", glGetBufferParameteri64v, 3, 2, { GL_EXTENSION_COUNT }}, + { "glGetBufferParameteriv", glGetBufferParameteriv, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetBufferParameterivARB", glGetBufferParameterivARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetBufferParameterui64vNV", glGetBufferParameterui64vNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetBufferPointerv", glGetBufferPointerv, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetBufferPointervARB", glGetBufferPointervARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetBufferSubData", glGetBufferSubData, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetBufferSubDataARB", glGetBufferSubDataARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetClipPlanef", glGetClipPlanef, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetClipPlanefOES", glGetClipPlanefOES, 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glGetClipPlanex", glGetClipPlanex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetClipPlanexOES", glGetClipPlanexOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetColorTable", glGetColorTable, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetColorTableEXT", glGetColorTableEXT, 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterfv", glGetColorTableParameterfv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterfvEXT", glGetColorTableParameterfvEXT, 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterfvSGI", glGetColorTableParameterfvSGI, 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameteriv", glGetColorTableParameteriv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterivEXT", glGetColorTableParameterivEXT, 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, + { "glGetColorTableParameterivSGI", glGetColorTableParameterivSGI, 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glGetColorTableSGI", glGetColorTableSGI, 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, + { "glGetCombinerInputParameterfvNV", glGetCombinerInputParameterfvNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerInputParameterivNV", glGetCombinerInputParameterivNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerOutputParameterfvNV", glGetCombinerOutputParameterfvNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerOutputParameterivNV", glGetCombinerOutputParameterivNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetCombinerStageParameterfvNV", glGetCombinerStageParameterfvNV, 0, 0, { GL_NV_register_combiners2, GL_EXTENSION_COUNT }}, + { "glGetCommandHeaderNV", glGetCommandHeaderNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glGetCompressedMultiTexImageEXT", glGetCompressedMultiTexImageEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetCompressedTexImage", glGetCompressedTexImage, 1, 3, { GL_EXTENSION_COUNT }}, + { "glGetCompressedTexImageARB", glGetCompressedTexImageARB, 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, + { "glGetCompressedTextureImage", glGetCompressedTextureImage, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetCompressedTextureImageEXT", glGetCompressedTextureImageEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetCompressedTextureSubImage", glGetCompressedTextureSubImage, 4, 5, { GL_ARB_get_texture_sub_image, GL_EXTENSION_COUNT }}, + { "glGetConvolutionFilter", glGetConvolutionFilter, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetConvolutionFilterEXT", glGetConvolutionFilterEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterfv", glGetConvolutionParameterfv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterfvEXT", glGetConvolutionParameterfvEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameteriv", glGetConvolutionParameteriv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterivEXT", glGetConvolutionParameterivEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetConvolutionParameterxvOES", glGetConvolutionParameterxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetCoverageModulationTableNV", glGetCoverageModulationTableNV, 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glGetDebugMessageLog", glGetDebugMessageLog, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glGetDebugMessageLogAMD", glGetDebugMessageLogAMD, 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, + { "glGetDebugMessageLogARB", glGetDebugMessageLogARB, 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, + { "glGetDetailTexFuncSGIS", glGetDetailTexFuncSGIS, 0, 0, { GL_SGIS_detail_texture, GL_EXTENSION_COUNT }}, + { "glGetDoubleIndexedvEXT", glGetDoubleIndexedvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetDoublei_v", glGetDoublei_v, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glGetDoublei_vEXT", glGetDoublei_vEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFenceivNV", glGetFenceivNV, 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glGetFinalCombinerInputParameterfvNV", glGetFinalCombinerInputParameterfvNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetFinalCombinerInputParameterivNV", glGetFinalCombinerInputParameterivNV, 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, + { "glGetFirstPerfQueryIdINTEL", glGetFirstPerfQueryIdINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetFixedv", glGetFixedv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetFixedvOES", glGetFixedvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetFloatIndexedvEXT", glGetFloatIndexedvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFloati_v", glGetFloati_v, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glGetFloati_vEXT", glGetFloati_vEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFogFuncSGIS", glGetFogFuncSGIS, 0, 0, { GL_SGIS_fog_function, GL_EXTENSION_COUNT }}, + { "glGetFragDataIndex", glGetFragDataIndex, 3, 3, { GL_ARB_blend_func_extended, GL_EXTENSION_COUNT }}, + { "glGetFragDataLocation", glGetFragDataLocation, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetFragDataLocationEXT", glGetFragDataLocationEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glGetFragmentLightfvSGIX", glGetFragmentLightfvSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentLightivSGIX", glGetFragmentLightivSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentMaterialfvSGIX", glGetFragmentMaterialfvSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentMaterialivSGIX", glGetFragmentMaterialivSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glGetFragmentShadingRatesEXT", glGetFragmentShadingRatesEXT, 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glGetFramebufferAttachmentParameteriv", glGetFramebufferAttachmentParameteriv, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetFramebufferAttachmentParameterivEXT", glGetFramebufferAttachmentParameterivEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameterfvAMD", glGetFramebufferParameterfvAMD, 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameteriv", glGetFramebufferParameteriv, 4, 3, { GL_ARB_framebuffer_no_attachments, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameterivEXT", glGetFramebufferParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetFramebufferParameterivMESA", glGetFramebufferParameterivMESA, 0, 0, { GL_MESA_framebuffer_flip_y, GL_EXTENSION_COUNT }}, + { "glGetGraphicsResetStatus", glGetGraphicsResetStatus, 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetGraphicsResetStatusARB", glGetGraphicsResetStatusARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetHandleARB", glGetHandleARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetHistogram", glGetHistogram, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetHistogramEXT", glGetHistogramEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterfv", glGetHistogramParameterfv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterfvEXT", glGetHistogramParameterfvEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameteriv", glGetHistogramParameteriv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterivEXT", glGetHistogramParameterivEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetHistogramParameterxvOES", glGetHistogramParameterxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetImageHandleARB", glGetImageHandleARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetImageHandleNV", glGetImageHandleNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetImageTransformParameterfvHP", glGetImageTransformParameterfvHP, 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glGetImageTransformParameterivHP", glGetImageTransformParameterivHP, 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glGetInfoLogARB", glGetInfoLogARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetInstrumentsSGIX", glGetInstrumentsSGIX, 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glGetInteger64i_v", glGetInteger64i_v, 3, 2, { GL_EXTENSION_COUNT }}, + { "glGetInteger64v", glGetInteger64v, 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glGetIntegerIndexedvEXT", glGetIntegerIndexedvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glGetIntegeri_v", glGetIntegeri_v, 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetIntegerui64i_vNV", glGetIntegerui64i_vNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glGetIntegerui64vNV", glGetIntegerui64vNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetInternalformatSampleivNV", glGetInternalformatSampleivNV, 0, 0, { GL_NV_internalformat_sample_query, GL_EXTENSION_COUNT }}, + { "glGetInternalformati64v", glGetInternalformati64v, 4, 3, { GL_ARB_internalformat_query2, GL_EXTENSION_COUNT }}, + { "glGetInternalformativ", glGetInternalformativ, 4, 2, { GL_ARB_internalformat_query, GL_EXTENSION_COUNT }}, + { "glGetInvariantBooleanvEXT", glGetInvariantBooleanvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetInvariantFloatvEXT", glGetInvariantFloatvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetInvariantIntegervEXT", glGetInvariantIntegervEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetLightxOES", glGetLightxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetLightxv", glGetLightxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetListParameterfvSGIX", glGetListParameterfvSGIX, 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glGetListParameterivSGIX", glGetListParameterivSGIX, 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glGetLocalConstantBooleanvEXT", glGetLocalConstantBooleanvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetLocalConstantFloatvEXT", glGetLocalConstantFloatvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetLocalConstantIntegervEXT", glGetLocalConstantIntegervEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetMapAttribParameterfvNV", glGetMapAttribParameterfvNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapAttribParameterivNV", glGetMapAttribParameterivNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapControlPointsNV", glGetMapControlPointsNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapParameterfvNV", glGetMapParameterfvNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapParameterivNV", glGetMapParameterivNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glGetMapxvOES", glGetMapxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetMaterialxOES", glGetMaterialxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetMaterialxv", glGetMaterialxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetMemoryObjectDetachedResourcesuivNV", glGetMemoryObjectDetachedResourcesuivNV, 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glGetMemoryObjectParameterivEXT", glGetMemoryObjectParameterivEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glGetMinmax", glGetMinmax, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetMinmaxEXT", glGetMinmaxEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameterfv", glGetMinmaxParameterfv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameterfvEXT", glGetMinmaxParameterfvEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameteriv", glGetMinmaxParameteriv, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetMinmaxParameterivEXT", glGetMinmaxParameterivEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glGetMultiTexEnvfvEXT", glGetMultiTexEnvfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexEnvivEXT", glGetMultiTexEnvivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexGendvEXT", glGetMultiTexGendvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexGenfvEXT", glGetMultiTexGenfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexGenivEXT", glGetMultiTexGenivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexImageEXT", glGetMultiTexImageEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexLevelParameterfvEXT", glGetMultiTexLevelParameterfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexLevelParameterivEXT", glGetMultiTexLevelParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterIivEXT", glGetMultiTexParameterIivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterIuivEXT", glGetMultiTexParameterIuivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterfvEXT", glGetMultiTexParameterfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultiTexParameterivEXT", glGetMultiTexParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetMultisamplefv", glGetMultisamplefv, 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glGetMultisamplefvNV", glGetMultisamplefvNV, 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameteri64v", glGetNamedBufferParameteri64v, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameteriv", glGetNamedBufferParameteriv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameterivEXT", glGetNamedBufferParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferParameterui64vNV", glGetNamedBufferParameterui64vNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferPointerv", glGetNamedBufferPointerv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferPointervEXT", glGetNamedBufferPointervEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferSubData", glGetNamedBufferSubData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedBufferSubDataEXT", glGetNamedBufferSubDataEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferAttachmentParameteriv", glGetNamedFramebufferAttachmentParameteriv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferAttachmentParameterivEXT", glGetNamedFramebufferAttachmentParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferParameterfvAMD", glGetNamedFramebufferParameterfvAMD, 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferParameteriv", glGetNamedFramebufferParameteriv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedFramebufferParameterivEXT", glGetNamedFramebufferParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterIivEXT", glGetNamedProgramLocalParameterIivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterIuivEXT", glGetNamedProgramLocalParameterIuivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterdvEXT", glGetNamedProgramLocalParameterdvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramLocalParameterfvEXT", glGetNamedProgramLocalParameterfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramStringEXT", glGetNamedProgramStringEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedProgramivEXT", glGetNamedProgramivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedRenderbufferParameteriv", glGetNamedRenderbufferParameteriv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedRenderbufferParameterivEXT", glGetNamedRenderbufferParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetNamedStringARB", glGetNamedStringARB, 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glGetNamedStringivARB", glGetNamedStringivARB, 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glGetNextPerfQueryIdINTEL", glGetNextPerfQueryIdINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetObjectBufferfvATI", glGetObjectBufferfvATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetObjectBufferivATI", glGetObjectBufferivATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetObjectLabel", glGetObjectLabel, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glGetObjectLabelEXT", glGetObjectLabelEXT, 0, 0, { GL_EXT_debug_label, GL_EXTENSION_COUNT }}, + { "glGetObjectParameterfvARB", glGetObjectParameterfvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetObjectParameterivAPPLE", glGetObjectParameterivAPPLE, 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, + { "glGetObjectParameterivARB", glGetObjectParameterivARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetObjectPtrLabel", glGetObjectPtrLabel, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glGetOcclusionQueryivNV", glGetOcclusionQueryivNV, 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetOcclusionQueryuivNV", glGetOcclusionQueryuivNV, 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetPathColorGenfvNV", glGetPathColorGenfvNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathColorGenivNV", glGetPathColorGenivNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathCommandsNV", glGetPathCommandsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathCoordsNV", glGetPathCoordsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathDashArrayNV", glGetPathDashArrayNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathLengthNV", glGetPathLengthNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathMetricRangeNV", glGetPathMetricRangeNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathMetricsNV", glGetPathMetricsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathParameterfvNV", glGetPathParameterfvNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathParameterivNV", glGetPathParameterivNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathSpacingNV", glGetPathSpacingNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathTexGenfvNV", glGetPathTexGenfvNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPathTexGenivNV", glGetPathTexGenivNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetPerfCounterInfoINTEL", glGetPerfCounterInfoINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCounterDataAMD", glGetPerfMonitorCounterDataAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCounterInfoAMD", glGetPerfMonitorCounterInfoAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCounterStringAMD", glGetPerfMonitorCounterStringAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorCountersAMD", glGetPerfMonitorCountersAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorGroupStringAMD", glGetPerfMonitorGroupStringAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfMonitorGroupsAMD", glGetPerfMonitorGroupsAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glGetPerfQueryDataINTEL", glGetPerfQueryDataINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPerfQueryIdByNameINTEL", glGetPerfQueryIdByNameINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPerfQueryInfoINTEL", glGetPerfQueryInfoINTEL, 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, + { "glGetPixelMapxv", glGetPixelMapxv, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetPixelTexGenParameterfvSGIS", glGetPixelTexGenParameterfvSGIS, 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glGetPixelTexGenParameterivSGIS", glGetPixelTexGenParameterivSGIS, 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glGetPixelTransformParameterfvEXT", glGetPixelTransformParameterfvEXT, 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glGetPixelTransformParameterivEXT", glGetPixelTransformParameterivEXT, 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glGetPointerIndexedvEXT", glGetPointerIndexedvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetPointeri_vEXT", glGetPointeri_vEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetPointervEXT", glGetPointervEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glGetProgramBinary", glGetProgramBinary, 4, 1, { GL_ARB_get_program_binary, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterIivNV", glGetProgramEnvParameterIivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterIuivNV", glGetProgramEnvParameterIuivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterdvARB", glGetProgramEnvParameterdvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramEnvParameterfvARB", glGetProgramEnvParameterfvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramInfoLog", glGetProgramInfoLog, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetProgramInterfaceiv", glGetProgramInterfaceiv, 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterIivNV", glGetProgramLocalParameterIivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterIuivNV", glGetProgramLocalParameterIuivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterdvARB", glGetProgramLocalParameterdvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramLocalParameterfvARB", glGetProgramLocalParameterfvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramNamedParameterdvNV", glGetProgramNamedParameterdvNV, 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glGetProgramNamedParameterfvNV", glGetProgramNamedParameterfvNV, 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glGetProgramParameterdvNV", glGetProgramParameterdvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramParameterfvNV", glGetProgramParameterfvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramPipelineInfoLog", glGetProgramPipelineInfoLog, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetProgramPipelineiv", glGetProgramPipelineiv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceIndex", glGetProgramResourceIndex, 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceLocation", glGetProgramResourceLocation, 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceLocationIndex", glGetProgramResourceLocationIndex, 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceName", glGetProgramResourceName, 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramResourcefvNV", glGetProgramResourcefvNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glGetProgramResourceiv", glGetProgramResourceiv, 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, + { "glGetProgramStageiv", glGetProgramStageiv, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetProgramStringARB", glGetProgramStringARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramStringNV", glGetProgramStringNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramSubroutineParameteruivNV", glGetProgramSubroutineParameteruivNV, 0, 0, { GL_NV_gpu_program5, GL_NV_gpu_program_fp64, GL_EXTENSION_COUNT }}, + { "glGetProgramiv", glGetProgramiv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetProgramivARB", glGetProgramivARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetProgramivNV", glGetProgramivNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjecti64v", glGetQueryBufferObjecti64v, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjectiv", glGetQueryBufferObjectiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjectui64v", glGetQueryBufferObjectui64v, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryBufferObjectuiv", glGetQueryBufferObjectuiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetQueryIndexediv", glGetQueryIndexediv, 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, + { "glGetQueryObjecti64v", glGetQueryObjecti64v, 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjecti64vEXT", glGetQueryObjecti64vEXT, 0, 0, { GL_EXT_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectiv", glGetQueryObjectiv, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetQueryObjectivARB", glGetQueryObjectivARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectui64v", glGetQueryObjectui64v, 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectui64vEXT", glGetQueryObjectui64vEXT, 0, 0, { GL_EXT_timer_query, GL_EXTENSION_COUNT }}, + { "glGetQueryObjectuiv", glGetQueryObjectuiv, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetQueryObjectuivARB", glGetQueryObjectuivARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetQueryiv", glGetQueryiv, 1, 5, { GL_EXTENSION_COUNT }}, + { "glGetQueryivARB", glGetQueryivARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glGetRenderbufferParameteriv", glGetRenderbufferParameteriv, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetRenderbufferParameterivEXT", glGetRenderbufferParameterivEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameterIiv", glGetSamplerParameterIiv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameterIuiv", glGetSamplerParameterIuiv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameterfv", glGetSamplerParameterfv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSamplerParameteriv", glGetSamplerParameteriv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glGetSemaphoreParameterivNV", glGetSemaphoreParameterivNV, 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, + { "glGetSemaphoreParameterui64vEXT", glGetSemaphoreParameterui64vEXT, 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGetSeparableFilter", glGetSeparableFilter, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glGetSeparableFilterEXT", glGetSeparableFilterEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glGetShaderInfoLog", glGetShaderInfoLog, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetShaderPrecisionFormat", glGetShaderPrecisionFormat, 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glGetShaderSource", glGetShaderSource, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetShaderSourceARB", glGetShaderSourceARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetShaderiv", glGetShaderiv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetShadingRateImagePaletteNV", glGetShadingRateImagePaletteNV, 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glGetShadingRateSampleLocationivNV", glGetShadingRateSampleLocationivNV, 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glGetSharpenTexFuncSGIS", glGetSharpenTexFuncSGIS, 0, 0, { GL_SGIS_sharpen_texture, GL_EXTENSION_COUNT }}, + { "glGetStageIndexNV", glGetStageIndexNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glGetStringi", glGetStringi, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetSubroutineIndex", glGetSubroutineIndex, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetSubroutineUniformLocation", glGetSubroutineUniformLocation, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetSynciv", glGetSynciv, 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glGetTexBumpParameterfvATI", glGetTexBumpParameterfvATI, 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glGetTexBumpParameterivATI", glGetTexBumpParameterivATI, 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glGetTexEnvxv", glGetTexEnvxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetTexEnvxvOES", glGetTexEnvxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTexFilterFuncSGIS", glGetTexFilterFuncSGIS, 0, 0, { GL_SGIS_texture_filter4, GL_EXTENSION_COUNT }}, + { "glGetTexGenxvOES", glGetTexGenxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTexLevelParameterxvOES", glGetTexLevelParameterxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTexParameterIiv", glGetTexParameterIiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetTexParameterIivEXT", glGetTexParameterIivEXT, 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glGetTexParameterIuiv", glGetTexParameterIuiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetTexParameterIuivEXT", glGetTexParameterIuivEXT, 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glGetTexParameterPointervAPPLE", glGetTexParameterPointervAPPLE, 0, 0, { GL_APPLE_texture_range, GL_EXTENSION_COUNT }}, + { "glGetTexParameterxv", glGetTexParameterxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glGetTexParameterxvOES", glGetTexParameterxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glGetTextureHandleARB", glGetTextureHandleARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureHandleNV", glGetTextureHandleNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureImage", glGetTextureImage, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureImageEXT", glGetTextureImageEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameterfv", glGetTextureLevelParameterfv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameterfvEXT", glGetTextureLevelParameterfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameteriv", glGetTextureLevelParameteriv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureLevelParameterivEXT", glGetTextureLevelParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIiv", glGetTextureParameterIiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIivEXT", glGetTextureParameterIivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIuiv", glGetTextureParameterIuiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterIuivEXT", glGetTextureParameterIuivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterfv", glGetTextureParameterfv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterfvEXT", glGetTextureParameterfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameteriv", glGetTextureParameteriv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureParameterivEXT", glGetTextureParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTextureSamplerHandleARB", glGetTextureSamplerHandleARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureSamplerHandleNV", glGetTextureSamplerHandleNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetTextureSubImage", glGetTextureSubImage, 4, 5, { GL_ARB_get_texture_sub_image, GL_EXTENSION_COUNT }}, + { "glGetTrackMatrixivNV", glGetTrackMatrixivNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackVarying", glGetTransformFeedbackVarying, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackVaryingEXT", glGetTransformFeedbackVaryingEXT, 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackVaryingNV", glGetTransformFeedbackVaryingNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbacki64_v", glGetTransformFeedbacki64_v, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbacki_v", glGetTransformFeedbacki_v, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetTransformFeedbackiv", glGetTransformFeedbackiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetUniformBlockIndex", glGetUniformBlockIndex, 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetUniformBufferSizeEXT", glGetUniformBufferSizeEXT, 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, + { "glGetUniformIndices", glGetUniformIndices, 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glGetUniformLocation", glGetUniformLocation, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformLocationARB", glGetUniformLocationARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetUniformOffsetEXT", glGetUniformOffsetEXT, 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, + { "glGetUniformSubroutineuiv", glGetUniformSubroutineuiv, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glGetUniformdv", glGetUniformdv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glGetUniformfv", glGetUniformfv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformfvARB", glGetUniformfvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetUniformi64vARB", glGetUniformi64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetUniformi64vNV", glGetUniformi64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glGetUniformiv", glGetUniformiv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformivARB", glGetUniformivARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glGetUniformui64vARB", glGetUniformui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetUniformui64vNV", glGetUniformui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glGetUniformuiv", glGetUniformuiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetUniformuivEXT", glGetUniformuivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glGetUnsignedBytei_vEXT", glGetUnsignedBytei_vEXT, 0, 0, { GL_EXT_memory_object, GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGetUnsignedBytevEXT", glGetUnsignedBytevEXT, 0, 0, { GL_EXT_memory_object, GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glGetVariantArrayObjectfvATI", glGetVariantArrayObjectfvATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetVariantArrayObjectivATI", glGetVariantArrayObjectivATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glGetVariantBooleanvEXT", glGetVariantBooleanvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVariantFloatvEXT", glGetVariantFloatvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVariantIntegervEXT", glGetVariantIntegervEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVariantPointervEXT", glGetVariantPointervEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVaryingLocationNV", glGetVaryingLocationNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIndexed64iv", glGetVertexArrayIndexed64iv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIndexediv", glGetVertexArrayIndexediv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIntegeri_vEXT", glGetVertexArrayIntegeri_vEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayIntegervEXT", glGetVertexArrayIntegervEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayPointeri_vEXT", glGetVertexArrayPointeri_vEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayPointervEXT", glGetVertexArrayPointervEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexArrayiv", glGetVertexArrayiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribArrayObjectfvATI", glGetVertexAttribArrayObjectfvATI, 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribArrayObjectivATI", glGetVertexAttribArrayObjectivATI, 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIiv", glGetVertexAttribIiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIivEXT", glGetVertexAttribIivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIuiv", glGetVertexAttribIuiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribIuivEXT", glGetVertexAttribIuivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLdv", glGetVertexAttribLdv, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLdvEXT", glGetVertexAttribLdvEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLi64vNV", glGetVertexAttribLi64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLui64vARB", glGetVertexAttribLui64vARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribLui64vNV", glGetVertexAttribLui64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribPointerv", glGetVertexAttribPointerv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribPointervARB", glGetVertexAttribPointervARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribPointervNV", glGetVertexAttribPointervNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribdv", glGetVertexAttribdv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribdvARB", glGetVertexAttribdvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribdvNV", glGetVertexAttribdvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribfv", glGetVertexAttribfv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribfvARB", glGetVertexAttribfvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribfvNV", glGetVertexAttribfvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribiv", glGetVertexAttribiv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glGetVertexAttribivARB", glGetVertexAttribivARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glGetVertexAttribivNV", glGetVertexAttribivNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureStreamdvNV", glGetVideoCaptureStreamdvNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureStreamfvNV", glGetVideoCaptureStreamfvNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureStreamivNV", glGetVideoCaptureStreamivNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoCaptureivNV", glGetVideoCaptureivNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glGetVideoi64vNV", glGetVideoi64vNV, 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVideoivNV", glGetVideoivNV, 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVideoui64vNV", glGetVideoui64vNV, 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVideouivNV", glGetVideouivNV, 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glGetVkProcAddrNV", glGetVkProcAddrNV, 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glGetnColorTable", glGetnColorTable, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnColorTableARB", glGetnColorTableARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnCompressedTexImage", glGetnCompressedTexImage, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnCompressedTexImageARB", glGetnCompressedTexImageARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnConvolutionFilter", glGetnConvolutionFilter, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnConvolutionFilterARB", glGetnConvolutionFilterARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnHistogram", glGetnHistogram, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnHistogramARB", glGetnHistogramARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMapdv", glGetnMapdv, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMapdvARB", glGetnMapdvARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMapfv", glGetnMapfv, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMapfvARB", glGetnMapfvARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMapiv", glGetnMapiv, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMapivARB", glGetnMapivARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnMinmax", glGetnMinmax, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnMinmaxARB", glGetnMinmaxARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPixelMapfv", glGetnPixelMapfv, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPixelMapfvARB", glGetnPixelMapfvARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPixelMapuiv", glGetnPixelMapuiv, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPixelMapuivARB", glGetnPixelMapuivARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPixelMapusv", glGetnPixelMapusv, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPixelMapusvARB", glGetnPixelMapusvARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnPolygonStipple", glGetnPolygonStipple, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnPolygonStippleARB", glGetnPolygonStippleARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnSeparableFilter", glGetnSeparableFilter, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnSeparableFilterARB", glGetnSeparableFilterARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnTexImage", glGetnTexImage, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnTexImageARB", glGetnTexImageARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformdv", glGetnUniformdv, 4, 5, { GL_EXTENSION_COUNT }}, + { "glGetnUniformdvARB", glGetnUniformdvARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformfv", glGetnUniformfv, 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformfvARB", glGetnUniformfvARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformi64vARB", glGetnUniformi64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetnUniformiv", glGetnUniformiv, 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformivARB", glGetnUniformivARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformui64vARB", glGetnUniformui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glGetnUniformuiv", glGetnUniformuiv, 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glGetnUniformuivARB", glGetnUniformuivARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorbSUN", glGlobalAlphaFactorbSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactordSUN", glGlobalAlphaFactordSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorfSUN", glGlobalAlphaFactorfSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactoriSUN", glGlobalAlphaFactoriSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorsSUN", glGlobalAlphaFactorsSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorubSUN", glGlobalAlphaFactorubSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactoruiSUN", glGlobalAlphaFactoruiSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glGlobalAlphaFactorusSUN", glGlobalAlphaFactorusSUN, 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, + { "glHintPGI", glHintPGI, 0, 0, { GL_PGI_misc_hints, GL_EXTENSION_COUNT }}, + { "glHistogram", glHistogram, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glHistogramEXT", glHistogramEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glIglooInterfaceSGIX", glIglooInterfaceSGIX, 0, 0, { GL_SGIX_igloo_interface, GL_EXTENSION_COUNT }}, + { "glImageTransformParameterfHP", glImageTransformParameterfHP, 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImageTransformParameterfvHP", glImageTransformParameterfvHP, 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImageTransformParameteriHP", glImageTransformParameteriHP, 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImageTransformParameterivHP", glImageTransformParameterivHP, 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, + { "glImportMemoryWin32HandleEXT", glImportMemoryWin32HandleEXT, 0, 0, { GL_EXT_memory_object_win32, GL_EXTENSION_COUNT }}, + { "glImportMemoryWin32NameEXT", glImportMemoryWin32NameEXT, 0, 0, { GL_EXT_memory_object_win32, GL_EXTENSION_COUNT }}, + { "glImportSemaphoreWin32HandleEXT", glImportSemaphoreWin32HandleEXT, 0, 0, { GL_EXT_semaphore_win32, GL_EXTENSION_COUNT }}, + { "glImportSemaphoreWin32NameEXT", glImportSemaphoreWin32NameEXT, 0, 0, { GL_EXT_semaphore_win32, GL_EXTENSION_COUNT }}, + { "glImportSyncEXT", glImportSyncEXT, 0, 0, { GL_EXT_x11_sync_object, GL_EXTENSION_COUNT }}, + { "glIndexFormatNV", glIndexFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glIndexFuncEXT", glIndexFuncEXT, 0, 0, { GL_EXT_index_func, GL_EXTENSION_COUNT }}, + { "glIndexMaterialEXT", glIndexMaterialEXT, 0, 0, { GL_EXT_index_material, GL_EXTENSION_COUNT }}, + { "glIndexPointerEXT", glIndexPointerEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glIndexPointerListIBM", glIndexPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glIndexxOES", glIndexxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glIndexxvOES", glIndexxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glInsertComponentEXT", glInsertComponentEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glInsertEventMarkerEXT", glInsertEventMarkerEXT, 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, + { "glInstrumentsBufferSGIX", glInstrumentsBufferSGIX, 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glInterpolatePathsNV", glInterpolatePathsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glInvalidateBufferData", glInvalidateBufferData, 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateBufferSubData", glInvalidateBufferSubData, 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateFramebuffer", glInvalidateFramebuffer, 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateNamedFramebufferData", glInvalidateNamedFramebufferData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glInvalidateNamedFramebufferSubData", glInvalidateNamedFramebufferSubData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glInvalidateSubFramebuffer", glInvalidateSubFramebuffer, 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateTexImage", glInvalidateTexImage, 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glInvalidateTexSubImage", glInvalidateTexSubImage, 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, + { "glIsAsyncMarkerSGIX", glIsAsyncMarkerSGIX, 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glIsBuffer", glIsBuffer, 1, 5, { GL_EXTENSION_COUNT }}, + { "glIsBufferARB", glIsBufferARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glIsBufferResidentNV", glIsBufferResidentNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glIsCommandListNV", glIsCommandListNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glIsEnabledIndexedEXT", glIsEnabledIndexedEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, + { "glIsEnabledi", glIsEnabledi, 3, 0, { GL_EXTENSION_COUNT }}, + { "glIsFenceAPPLE", glIsFenceAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glIsFenceNV", glIsFenceNV, 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glIsFramebuffer", glIsFramebuffer, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsFramebufferEXT", glIsFramebufferEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsImageHandleResidentARB", glIsImageHandleResidentARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsImageHandleResidentNV", glIsImageHandleResidentNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsMemoryObjectEXT", glIsMemoryObjectEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glIsNameAMD", glIsNameAMD, 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, + { "glIsNamedBufferResidentNV", glIsNamedBufferResidentNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glIsNamedStringARB", glIsNamedStringARB, 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glIsObjectBufferATI", glIsObjectBufferATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glIsOcclusionQueryNV", glIsOcclusionQueryNV, 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, + { "glIsPathNV", glIsPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glIsPointInFillPathNV", glIsPointInFillPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glIsPointInStrokePathNV", glIsPointInStrokePathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glIsProgram", glIsProgram, 2, 0, { GL_EXTENSION_COUNT }}, + { "glIsProgramARB", glIsProgramARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glIsProgramNV", glIsProgramNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glIsProgramPipeline", glIsProgramPipeline, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glIsQuery", glIsQuery, 1, 5, { GL_EXTENSION_COUNT }}, + { "glIsQueryARB", glIsQueryARB, 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, + { "glIsRenderbuffer", glIsRenderbuffer, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsRenderbufferEXT", glIsRenderbufferEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glIsSampler", glIsSampler, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glIsSemaphoreEXT", glIsSemaphoreEXT, 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glIsShader", glIsShader, 2, 0, { GL_EXTENSION_COUNT }}, + { "glIsStateNV", glIsStateNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glIsSync", glIsSync, 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glIsTextureEXT", glIsTextureEXT, 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glIsTextureHandleResidentARB", glIsTextureHandleResidentARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsTextureHandleResidentNV", glIsTextureHandleResidentNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glIsTransformFeedback", glIsTransformFeedback, 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glIsTransformFeedbackNV", glIsTransformFeedbackNV, 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glIsVariantEnabledEXT", glIsVariantEnabledEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glIsVertexArray", glIsVertexArray, 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glIsVertexArrayAPPLE", glIsVertexArrayAPPLE, 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glIsVertexAttribEnabledAPPLE", glIsVertexAttribEnabledAPPLE, 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glLGPUCopyImageSubDataNVX", glLGPUCopyImageSubDataNVX, 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glLGPUInterlockNVX", glLGPUInterlockNVX, 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glLGPUNamedBufferSubDataNVX", glLGPUNamedBufferSubDataNVX, 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glLabelObjectEXT", glLabelObjectEXT, 0, 0, { GL_EXT_debug_label, GL_EXTENSION_COUNT }}, + { "glLightEnviSGIX", glLightEnviSGIX, 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, + { "glLightModelx", glLightModelx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightModelxOES", glLightModelxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLightModelxv", glLightModelxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightModelxvOES", glLightModelxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLightx", glLightx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightxOES", glLightxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLightxv", glLightxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLightxvOES", glLightxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLineWidthx", glLineWidthx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLineWidthxOES", glLineWidthxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLinkProgram", glLinkProgram, 2, 0, { GL_EXTENSION_COUNT }}, + { "glLinkProgramARB", glLinkProgramARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glListDrawCommandsStatesClientNV", glListDrawCommandsStatesClientNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glListParameterfSGIX", glListParameterfSGIX, 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glListParameterfvSGIX", glListParameterfvSGIX, 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glListParameteriSGIX", glListParameteriSGIX, 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glListParameterivSGIX", glListParameterivSGIX, 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, + { "glLoadIdentityDeformationMapSGIX", glLoadIdentityDeformationMapSGIX, 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, + { "glLoadMatrixx", glLoadMatrixx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glLoadMatrixxOES", glLoadMatrixxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLoadProgramNV", glLoadProgramNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixd", glLoadTransposeMatrixd, 1, 3, { GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixdARB", glLoadTransposeMatrixdARB, 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixf", glLoadTransposeMatrixf, 1, 3, { GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixfARB", glLoadTransposeMatrixfARB, 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glLoadTransposeMatrixxOES", glLoadTransposeMatrixxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glLockArraysEXT", glLockArraysEXT, 0, 0, { GL_EXT_compiled_vertex_array, GL_EXTENSION_COUNT }}, + { "glMTexCoord2fSGIS", glMTexCoord2fSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMTexCoord2fvSGIS", glMTexCoord2fvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMakeBufferNonResidentNV", glMakeBufferNonResidentNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeBufferResidentNV", glMakeBufferResidentNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleNonResidentARB", glMakeImageHandleNonResidentARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleNonResidentNV", glMakeImageHandleNonResidentNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleResidentARB", glMakeImageHandleResidentARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeImageHandleResidentNV", glMakeImageHandleResidentNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeNamedBufferNonResidentNV", glMakeNamedBufferNonResidentNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeNamedBufferResidentNV", glMakeNamedBufferResidentNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleNonResidentARB", glMakeTextureHandleNonResidentARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleNonResidentNV", glMakeTextureHandleNonResidentNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleResidentARB", glMakeTextureHandleResidentARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMakeTextureHandleResidentNV", glMakeTextureHandleResidentNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glMap1xOES", glMap1xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMap2xOES", glMap2xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMapBuffer", glMapBuffer, 1, 5, { GL_EXTENSION_COUNT }}, + { "glMapBufferARB", glMapBufferARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glMapBufferRange", glMapBufferRange, 3, 0, { GL_ARB_map_buffer_range, GL_EXTENSION_COUNT }}, + { "glMapControlPointsNV", glMapControlPointsNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glMapGrid1xOES", glMapGrid1xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMapGrid2xOES", glMapGrid2xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMapNamedBuffer", glMapNamedBuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapNamedBufferEXT", glMapNamedBufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapNamedBufferRange", glMapNamedBufferRange, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapNamedBufferRangeEXT", glMapNamedBufferRangeEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMapObjectBufferATI", glMapObjectBufferATI, 0, 0, { GL_ATI_map_object_buffer, GL_EXTENSION_COUNT }}, + { "glMapParameterfvNV", glMapParameterfvNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glMapParameterivNV", glMapParameterivNV, 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, + { "glMapTexture2DINTEL", glMapTexture2DINTEL, 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib1dAPPLE", glMapVertexAttrib1dAPPLE, 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib1fAPPLE", glMapVertexAttrib1fAPPLE, 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib2dAPPLE", glMapVertexAttrib2dAPPLE, 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMapVertexAttrib2fAPPLE", glMapVertexAttrib2fAPPLE, 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, + { "glMaterialx", glMaterialx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMaterialxOES", glMaterialxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMaterialxv", glMaterialxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMaterialxvOES", glMaterialxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMatrixFrustumEXT", glMatrixFrustumEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixIndexPointerARB", glMatrixIndexPointerARB, 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixIndexubvARB", glMatrixIndexubvARB, 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixIndexuivARB", glMatrixIndexuivARB, 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixIndexusvARB", glMatrixIndexusvARB, 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, + { "glMatrixLoad3x2fNV", glMatrixLoad3x2fNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoad3x3fNV", glMatrixLoad3x3fNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadIdentityEXT", glMatrixLoadIdentityEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadTranspose3x3fNV", glMatrixLoadTranspose3x3fNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadTransposedEXT", glMatrixLoadTransposedEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadTransposefEXT", glMatrixLoadTransposefEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoaddEXT", glMatrixLoaddEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixLoadfEXT", glMatrixLoadfEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMult3x2fNV", glMatrixMult3x2fNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMult3x3fNV", glMatrixMult3x3fNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultTranspose3x3fNV", glMatrixMultTranspose3x3fNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultTransposedEXT", glMatrixMultTransposedEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultTransposefEXT", glMatrixMultTransposefEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultdEXT", glMatrixMultdEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixMultfEXT", glMatrixMultfEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixOrthoEXT", glMatrixOrthoEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixPopEXT", glMatrixPopEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixPushEXT", glMatrixPushEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixRotatedEXT", glMatrixRotatedEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixRotatefEXT", glMatrixRotatefEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixScaledEXT", glMatrixScaledEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixScalefEXT", glMatrixScalefEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixTranslatedEXT", glMatrixTranslatedEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMatrixTranslatefEXT", glMatrixTranslatefEXT, 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glMaxShaderCompilerThreadsARB", glMaxShaderCompilerThreadsARB, 0, 0, { GL_ARB_parallel_shader_compile, GL_EXTENSION_COUNT }}, + { "glMaxShaderCompilerThreadsKHR", glMaxShaderCompilerThreadsKHR, 0, 0, { GL_KHR_parallel_shader_compile, GL_EXTENSION_COUNT }}, + { "glMemoryBarrier", glMemoryBarrier, 4, 2, { GL_ARB_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glMemoryBarrierByRegion", glMemoryBarrierByRegion, 4, 5, { GL_ARB_ES3_1_compatibility, GL_NV_ES3_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMemoryBarrierEXT", glMemoryBarrierEXT, 0, 0, { GL_EXT_shader_image_load_store, GL_EXTENSION_COUNT }}, + { "glMemoryObjectParameterivEXT", glMemoryObjectParameterivEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glMinSampleShading", glMinSampleShading, 4, 0, { GL_EXTENSION_COUNT }}, + { "glMinSampleShadingARB", glMinSampleShadingARB, 0, 0, { GL_ARB_sample_shading, GL_EXTENSION_COUNT }}, + { "glMinmax", glMinmax, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glMinmaxEXT", glMinmaxEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glMultMatrixx", glMultMatrixx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMultMatrixxOES", glMultMatrixxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixd", glMultTransposeMatrixd, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixdARB", glMultTransposeMatrixdARB, 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixf", glMultTransposeMatrixf, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixfARB", glMultTransposeMatrixfARB, 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, + { "glMultTransposeMatrixxOES", glMultTransposeMatrixxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiDrawArrays", glMultiDrawArrays, 1, 4, { GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysEXT", glMultiDrawArraysEXT, 0, 0, { GL_EXT_multi_draw_arrays, GL_SUN_multi_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirect", glMultiDrawArraysIndirect, 4, 3, { GL_ARB_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectAMD", glMultiDrawArraysIndirectAMD, 0, 0, { GL_AMD_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectBindlessCountNV", glMultiDrawArraysIndirectBindlessCountNV, 0, 0, { GL_NV_bindless_multi_draw_indirect_count, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectBindlessNV", glMultiDrawArraysIndirectBindlessNV, 0, 0, { GL_NV_bindless_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectCount", glMultiDrawArraysIndirectCount, 4, 6, { GL_EXTENSION_COUNT }}, + { "glMultiDrawArraysIndirectCountARB", glMultiDrawArraysIndirectCountARB, 0, 0, { GL_ARB_indirect_parameters, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementArrayAPPLE", glMultiDrawElementArrayAPPLE, 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glMultiDrawElements", glMultiDrawElements, 1, 4, { GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsBaseVertex", glMultiDrawElementsBaseVertex, 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsEXT", glMultiDrawElementsEXT, 0, 0, { GL_EXT_multi_draw_arrays, GL_SUN_multi_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirect", glMultiDrawElementsIndirect, 4, 3, { GL_ARB_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectAMD", glMultiDrawElementsIndirectAMD, 0, 0, { GL_AMD_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectBindlessCountNV", glMultiDrawElementsIndirectBindlessCountNV, 0, 0, { GL_NV_bindless_multi_draw_indirect_count, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectBindlessNV", glMultiDrawElementsIndirectBindlessNV, 0, 0, { GL_NV_bindless_multi_draw_indirect, GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectCount", glMultiDrawElementsIndirectCount, 4, 6, { GL_EXTENSION_COUNT }}, + { "glMultiDrawElementsIndirectCountARB", glMultiDrawElementsIndirectCountARB, 0, 0, { GL_ARB_indirect_parameters, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectCountEXT", glMultiDrawMeshTasksIndirectCountEXT, 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectCountNV", glMultiDrawMeshTasksIndirectCountNV, 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectEXT", glMultiDrawMeshTasksIndirectEXT, 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawMeshTasksIndirectNV", glMultiDrawMeshTasksIndirectNV, 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, + { "glMultiDrawRangeElementArrayAPPLE", glMultiDrawRangeElementArrayAPPLE, 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, + { "glMultiModeDrawArraysIBM", glMultiModeDrawArraysIBM, 0, 0, { GL_IBM_multimode_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiModeDrawElementsIBM", glMultiModeDrawElementsIBM, 0, 0, { GL_IBM_multimode_draw_arrays, GL_EXTENSION_COUNT }}, + { "glMultiTexBufferEXT", glMultiTexBufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1bOES", glMultiTexCoord1bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1bvOES", glMultiTexCoord1bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1d", glMultiTexCoord1d, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dARB", glMultiTexCoord1dARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dSGIS", glMultiTexCoord1dSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dv", glMultiTexCoord1dv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dvARB", glMultiTexCoord1dvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1dvSGIS", glMultiTexCoord1dvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1f", glMultiTexCoord1f, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fARB", glMultiTexCoord1fARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fSGIS", glMultiTexCoord1fSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fv", glMultiTexCoord1fv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fvARB", glMultiTexCoord1fvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1fvSGIS", glMultiTexCoord1fvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1hNV", glMultiTexCoord1hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1hvNV", glMultiTexCoord1hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1i", glMultiTexCoord1i, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1iARB", glMultiTexCoord1iARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1iSGIS", glMultiTexCoord1iSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1iv", glMultiTexCoord1iv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1ivARB", glMultiTexCoord1ivARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1ivSGIS", glMultiTexCoord1ivSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1s", glMultiTexCoord1s, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1sARB", glMultiTexCoord1sARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1sSGIS", glMultiTexCoord1sSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1sv", glMultiTexCoord1sv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1svARB", glMultiTexCoord1svARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1svSGIS", glMultiTexCoord1svSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1xOES", glMultiTexCoord1xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord1xvOES", glMultiTexCoord1xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2bOES", glMultiTexCoord2bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2bvOES", glMultiTexCoord2bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2d", glMultiTexCoord2d, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dARB", glMultiTexCoord2dARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dSGIS", glMultiTexCoord2dSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dv", glMultiTexCoord2dv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dvARB", glMultiTexCoord2dvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2dvSGIS", glMultiTexCoord2dvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2f", glMultiTexCoord2f, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fARB", glMultiTexCoord2fARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fSGIS", glMultiTexCoord2fSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fv", glMultiTexCoord2fv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fvARB", glMultiTexCoord2fvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2fvSGIS", glMultiTexCoord2fvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2hNV", glMultiTexCoord2hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2hvNV", glMultiTexCoord2hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2i", glMultiTexCoord2i, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2iARB", glMultiTexCoord2iARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2iSGIS", glMultiTexCoord2iSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2iv", glMultiTexCoord2iv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2ivARB", glMultiTexCoord2ivARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2ivSGIS", glMultiTexCoord2ivSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2s", glMultiTexCoord2s, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2sARB", glMultiTexCoord2sARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2sSGIS", glMultiTexCoord2sSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2sv", glMultiTexCoord2sv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2svARB", glMultiTexCoord2svARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2svSGIS", glMultiTexCoord2svSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2xOES", glMultiTexCoord2xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord2xvOES", glMultiTexCoord2xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3bOES", glMultiTexCoord3bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3bvOES", glMultiTexCoord3bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3d", glMultiTexCoord3d, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dARB", glMultiTexCoord3dARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dSGIS", glMultiTexCoord3dSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dv", glMultiTexCoord3dv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dvARB", glMultiTexCoord3dvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3dvSGIS", glMultiTexCoord3dvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3f", glMultiTexCoord3f, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fARB", glMultiTexCoord3fARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fSGIS", glMultiTexCoord3fSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fv", glMultiTexCoord3fv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fvARB", glMultiTexCoord3fvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3fvSGIS", glMultiTexCoord3fvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3hNV", glMultiTexCoord3hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3hvNV", glMultiTexCoord3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3i", glMultiTexCoord3i, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3iARB", glMultiTexCoord3iARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3iSGIS", glMultiTexCoord3iSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3iv", glMultiTexCoord3iv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3ivARB", glMultiTexCoord3ivARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3ivSGIS", glMultiTexCoord3ivSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3s", glMultiTexCoord3s, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3sARB", glMultiTexCoord3sARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3sSGIS", glMultiTexCoord3sSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3sv", glMultiTexCoord3sv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3svARB", glMultiTexCoord3svARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3svSGIS", glMultiTexCoord3svSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3xOES", glMultiTexCoord3xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord3xvOES", glMultiTexCoord3xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4bOES", glMultiTexCoord4bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4bvOES", glMultiTexCoord4bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4d", glMultiTexCoord4d, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dARB", glMultiTexCoord4dARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dSGIS", glMultiTexCoord4dSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dv", glMultiTexCoord4dv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dvARB", glMultiTexCoord4dvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4dvSGIS", glMultiTexCoord4dvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4f", glMultiTexCoord4f, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fARB", glMultiTexCoord4fARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fSGIS", glMultiTexCoord4fSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fv", glMultiTexCoord4fv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fvARB", glMultiTexCoord4fvARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4fvSGIS", glMultiTexCoord4fvSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4hNV", glMultiTexCoord4hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4hvNV", glMultiTexCoord4hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4i", glMultiTexCoord4i, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4iARB", glMultiTexCoord4iARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4iSGIS", glMultiTexCoord4iSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4iv", glMultiTexCoord4iv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4ivARB", glMultiTexCoord4ivARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4ivSGIS", glMultiTexCoord4ivSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4s", glMultiTexCoord4s, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4sARB", glMultiTexCoord4sARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4sSGIS", glMultiTexCoord4sSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4sv", glMultiTexCoord4sv, 1, 3, { GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4svARB", glMultiTexCoord4svARB, 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4svSGIS", glMultiTexCoord4svSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4x", glMultiTexCoord4x, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4xOES", glMultiTexCoord4xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoord4xvOES", glMultiTexCoord4xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP1ui", glMultiTexCoordP1ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP1uiv", glMultiTexCoordP1uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP2ui", glMultiTexCoordP2ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP2uiv", glMultiTexCoordP2uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP3ui", glMultiTexCoordP3ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP3uiv", glMultiTexCoordP3uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP4ui", glMultiTexCoordP4ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordP4uiv", glMultiTexCoordP4uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordPointerEXT", glMultiTexCoordPointerEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexCoordPointerSGIS", glMultiTexCoordPointerSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glMultiTexEnvfEXT", glMultiTexEnvfEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexEnvfvEXT", glMultiTexEnvfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexEnviEXT", glMultiTexEnviEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexEnvivEXT", glMultiTexEnvivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGendEXT", glMultiTexGendEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGendvEXT", glMultiTexGendvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGenfEXT", glMultiTexGenfEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGenfvEXT", glMultiTexGenfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGeniEXT", glMultiTexGeniEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexGenivEXT", glMultiTexGenivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexImage1DEXT", glMultiTexImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexImage2DEXT", glMultiTexImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexImage3DEXT", glMultiTexImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterIivEXT", glMultiTexParameterIivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterIuivEXT", glMultiTexParameterIuivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterfEXT", glMultiTexParameterfEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterfvEXT", glMultiTexParameterfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameteriEXT", glMultiTexParameteriEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexParameterivEXT", glMultiTexParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexRenderbufferEXT", glMultiTexRenderbufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexSubImage1DEXT", glMultiTexSubImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexSubImage2DEXT", glMultiTexSubImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMultiTexSubImage3DEXT", glMultiTexSubImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glMulticastBarrierNV", glMulticastBarrierNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastBlitFramebufferNV", glMulticastBlitFramebufferNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastBufferSubDataNV", glMulticastBufferSubDataNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastCopyBufferSubDataNV", glMulticastCopyBufferSubDataNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastCopyImageSubDataNV", glMulticastCopyImageSubDataNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastFramebufferSampleLocationsfvNV", glMulticastFramebufferSampleLocationsfvNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjecti64vNV", glMulticastGetQueryObjecti64vNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjectivNV", glMulticastGetQueryObjectivNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjectui64vNV", glMulticastGetQueryObjectui64vNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastGetQueryObjectuivNV", glMulticastGetQueryObjectuivNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glMulticastScissorArrayvNVX", glMulticastScissorArrayvNVX, 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glMulticastViewportArrayvNVX", glMulticastViewportArrayvNVX, 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glMulticastViewportPositionWScaleNVX", glMulticastViewportPositionWScaleNVX, 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glMulticastWaitSyncNV", glMulticastWaitSyncNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glNamedBufferAttachMemoryNV", glNamedBufferAttachMemoryNV, 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glNamedBufferData", glNamedBufferData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferDataEXT", glNamedBufferDataEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferPageCommitmentARB", glNamedBufferPageCommitmentARB, 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, + { "glNamedBufferPageCommitmentEXT", glNamedBufferPageCommitmentEXT, 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, + { "glNamedBufferPageCommitmentMemNV", glNamedBufferPageCommitmentMemNV, 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorage", glNamedBufferStorage, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorageEXT", glNamedBufferStorageEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorageExternalEXT", glNamedBufferStorageExternalEXT, 0, 0, { GL_EXT_external_buffer, GL_EXTENSION_COUNT }}, + { "glNamedBufferStorageMemEXT", glNamedBufferStorageMemEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glNamedBufferSubData", glNamedBufferSubData, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedBufferSubDataEXT", glNamedBufferSubDataEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedCopyBufferSubDataEXT", glNamedCopyBufferSubDataEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferDrawBuffer", glNamedFramebufferDrawBuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferDrawBuffers", glNamedFramebufferDrawBuffers, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferParameteri", glNamedFramebufferParameteri, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferParameteriEXT", glNamedFramebufferParameteriEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferReadBuffer", glNamedFramebufferReadBuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferRenderbuffer", glNamedFramebufferRenderbuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferRenderbufferEXT", glNamedFramebufferRenderbufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferSampleLocationsfvARB", glNamedFramebufferSampleLocationsfvARB, 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferSampleLocationsfvNV", glNamedFramebufferSampleLocationsfvNV, 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferSamplePositionsfvAMD", glNamedFramebufferSamplePositionsfvAMD, 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture", glNamedFramebufferTexture, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture1DEXT", glNamedFramebufferTexture1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture2DEXT", glNamedFramebufferTexture2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTexture3DEXT", glNamedFramebufferTexture3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureEXT", glNamedFramebufferTextureEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureFaceEXT", glNamedFramebufferTextureFaceEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureLayer", glNamedFramebufferTextureLayer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureLayerEXT", glNamedFramebufferTextureLayerEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedFramebufferTextureMultiviewOVR", glNamedFramebufferTextureMultiviewOVR, 0, 0, { GL_OVR_multiview, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4dEXT", glNamedProgramLocalParameter4dEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4dvEXT", glNamedProgramLocalParameter4dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4fEXT", glNamedProgramLocalParameter4fEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameter4fvEXT", glNamedProgramLocalParameter4fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4iEXT", glNamedProgramLocalParameterI4iEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4ivEXT", glNamedProgramLocalParameterI4ivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4uiEXT", glNamedProgramLocalParameterI4uiEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameterI4uivEXT", glNamedProgramLocalParameterI4uivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParameters4fvEXT", glNamedProgramLocalParameters4fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParametersI4ivEXT", glNamedProgramLocalParametersI4ivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramLocalParametersI4uivEXT", glNamedProgramLocalParametersI4uivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedProgramStringEXT", glNamedProgramStringEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorage", glNamedRenderbufferStorage, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageEXT", glNamedRenderbufferStorageEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisample", glNamedRenderbufferStorageMultisample, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisampleAdvancedAMD", glNamedRenderbufferStorageMultisampleAdvancedAMD, 0, 0, { GL_AMD_framebuffer_multisample_advanced, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisampleCoverageEXT", glNamedRenderbufferStorageMultisampleCoverageEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedRenderbufferStorageMultisampleEXT", glNamedRenderbufferStorageMultisampleEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glNamedStringARB", glNamedStringARB, 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, + { "glNewBufferRegion", glNewBufferRegion, 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glNewObjectBufferATI", glNewObjectBufferATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glNormal3fVertex3fSUN", glNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glNormal3fVertex3fvSUN", glNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glNormal3hNV", glNormal3hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glNormal3hvNV", glNormal3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glNormal3x", glNormal3x, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glNormal3xOES", glNormal3xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glNormal3xvOES", glNormal3xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glNormalFormatNV", glNormalFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glNormalP3ui", glNormalP3ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glNormalP3uiv", glNormalP3uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glNormalPointerEXT", glNormalPointerEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glNormalPointerListIBM", glNormalPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glNormalPointervINTEL", glNormalPointervINTEL, 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glNormalStream3bATI", glNormalStream3bATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3bvATI", glNormalStream3bvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3dATI", glNormalStream3dATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3dvATI", glNormalStream3dvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3fATI", glNormalStream3fATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3fvATI", glNormalStream3fvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3iATI", glNormalStream3iATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3ivATI", glNormalStream3ivATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3sATI", glNormalStream3sATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glNormalStream3svATI", glNormalStream3svATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glObjectLabel", glObjectLabel, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glObjectPtrLabel", glObjectPtrLabel, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glObjectPurgeableAPPLE", glObjectPurgeableAPPLE, 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, + { "glObjectUnpurgeableAPPLE", glObjectUnpurgeableAPPLE, 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, + { "glOrthof", glOrthof, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glOrthofOES", glOrthofOES, 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, + { "glOrthox", glOrthox, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glOrthoxOES", glOrthoxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPNTrianglesfATI", glPNTrianglesfATI, 0, 0, { GL_ATI_pn_triangles, GL_EXTENSION_COUNT }}, + { "glPNTrianglesiATI", glPNTrianglesiATI, 0, 0, { GL_ATI_pn_triangles, GL_EXTENSION_COUNT }}, + { "glPassTexCoordATI", glPassTexCoordATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glPassThroughxOES", glPassThroughxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPatchParameterfv", glPatchParameterfv, 4, 0, { GL_ARB_tessellation_shader, GL_EXTENSION_COUNT }}, + { "glPatchParameteri", glPatchParameteri, 4, 0, { GL_ARB_tessellation_shader, GL_EXTENSION_COUNT }}, + { "glPathColorGenNV", glPathColorGenNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathCommandsNV", glPathCommandsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathCoordsNV", glPathCoordsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathCoverDepthFuncNV", glPathCoverDepthFuncNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathDashArrayNV", glPathDashArrayNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathFogGenNV", glPathFogGenNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphIndexArrayNV", glPathGlyphIndexArrayNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphIndexRangeNV", glPathGlyphIndexRangeNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphRangeNV", glPathGlyphRangeNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathGlyphsNV", glPathGlyphsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathMemoryGlyphIndexArrayNV", glPathMemoryGlyphIndexArrayNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameterfNV", glPathParameterfNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameterfvNV", glPathParameterfvNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameteriNV", glPathParameteriNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathParameterivNV", glPathParameterivNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathStencilDepthOffsetNV", glPathStencilDepthOffsetNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathStencilFuncNV", glPathStencilFuncNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathStringNV", glPathStringNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathSubCommandsNV", glPathSubCommandsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathSubCoordsNV", glPathSubCoordsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPathTexGenNV", glPathTexGenNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPauseTransformFeedback", glPauseTransformFeedback, 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glPauseTransformFeedbackNV", glPauseTransformFeedbackNV, 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glPixelDataRangeNV", glPixelDataRangeNV, 0, 0, { GL_NV_pixel_data_range, GL_EXTENSION_COUNT }}, + { "glPixelMapx", glPixelMapx, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPixelStorex", glPixelStorex, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameterfSGIS", glPixelTexGenParameterfSGIS, 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameterfvSGIS", glPixelTexGenParameterfvSGIS, 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameteriSGIS", glPixelTexGenParameteriSGIS, 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenParameterivSGIS", glPixelTexGenParameterivSGIS, 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTexGenSGIX", glPixelTexGenSGIX, 0, 0, { GL_SGIX_pixel_texture, GL_EXTENSION_COUNT }}, + { "glPixelTransferxOES", glPixelTransferxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameterfEXT", glPixelTransformParameterfEXT, 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameterfvEXT", glPixelTransformParameterfvEXT, 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameteriEXT", glPixelTransformParameteriEXT, 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelTransformParameterivEXT", glPixelTransformParameterivEXT, 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, + { "glPixelZoomxOES", glPixelZoomxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPointAlongPathNV", glPointAlongPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glPointParameterf", glPointParameterf, 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameterfARB", glPointParameterfARB, 0, 0, { GL_ARB_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfEXT", glPointParameterfEXT, 0, 0, { GL_EXT_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfSGIS", glPointParameterfSGIS, 0, 0, { GL_SGIS_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfv", glPointParameterfv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameterfvARB", glPointParameterfvARB, 0, 0, { GL_ARB_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfvEXT", glPointParameterfvEXT, 0, 0, { GL_EXT_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameterfvSGIS", glPointParameterfvSGIS, 0, 0, { GL_SGIS_point_parameters, GL_EXTENSION_COUNT }}, + { "glPointParameteri", glPointParameteri, 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameteriNV", glPointParameteriNV, 0, 0, { GL_NV_point_sprite, GL_EXTENSION_COUNT }}, + { "glPointParameteriv", glPointParameteriv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glPointParameterivNV", glPointParameterivNV, 0, 0, { GL_NV_point_sprite, GL_EXTENSION_COUNT }}, + { "glPointParameterx", glPointParameterx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPointParameterxv", glPointParameterxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPointParameterxvOES", glPointParameterxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPointSizex", glPointSizex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPointSizexOES", glPointSizexOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPollAsyncSGIX", glPollAsyncSGIX, 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, + { "glPollInstrumentsSGIX", glPollInstrumentsSGIX, 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetClamp", glPolygonOffsetClamp, 4, 6, { GL_ARB_polygon_offset_clamp, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetClampEXT", glPolygonOffsetClampEXT, 0, 0, { GL_EXT_polygon_offset_clamp, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetEXT", glPolygonOffsetEXT, 0, 0, { GL_EXT_polygon_offset, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetx", glPolygonOffsetx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glPolygonOffsetxOES", glPolygonOffsetxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glPopDebugGroup", glPopDebugGroup, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glPopGroupMarkerEXT", glPopGroupMarkerEXT, 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, + { "glPresentFrameDualFillNV", glPresentFrameDualFillNV, 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glPresentFrameKeyedNV", glPresentFrameKeyedNV, 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, + { "glPrimitiveBoundingBox", glPrimitiveBoundingBox, 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, + { "glPrimitiveBoundingBoxARB", glPrimitiveBoundingBoxARB, 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, + { "glPrimitiveRestartIndex", glPrimitiveRestartIndex, 3, 1, { GL_EXTENSION_COUNT }}, + { "glPrimitiveRestartIndexNV", glPrimitiveRestartIndexNV, 0, 0, { GL_NV_primitive_restart, GL_EXTENSION_COUNT }}, + { "glPrimitiveRestartNV", glPrimitiveRestartNV, 0, 0, { GL_NV_primitive_restart, GL_EXTENSION_COUNT }}, + { "glPrioritizeTexturesEXT", glPrioritizeTexturesEXT, 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, + { "glPrioritizeTexturesxOES", glPrioritizeTexturesxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glProgramBinary", glProgramBinary, 4, 1, { GL_ARB_get_program_binary, GL_EXTENSION_COUNT }}, + { "glProgramBufferParametersIivNV", glProgramBufferParametersIivNV, 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, + { "glProgramBufferParametersIuivNV", glProgramBufferParametersIuivNV, 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, + { "glProgramBufferParametersfvNV", glProgramBufferParametersfvNV, 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4dARB", glProgramEnvParameter4dARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4dvARB", glProgramEnvParameter4dvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4fARB", glProgramEnvParameter4fARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameter4fvARB", glProgramEnvParameter4fvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4iNV", glProgramEnvParameterI4iNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4ivNV", glProgramEnvParameterI4ivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4uiNV", glProgramEnvParameterI4uiNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameterI4uivNV", glProgramEnvParameterI4uivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParameters4fvEXT", glProgramEnvParameters4fvEXT, 0, 0, { GL_EXT_gpu_program_parameters, GL_EXTENSION_COUNT }}, + { "glProgramEnvParametersI4ivNV", glProgramEnvParametersI4ivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramEnvParametersI4uivNV", glProgramEnvParametersI4uivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4dARB", glProgramLocalParameter4dARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4dvARB", glProgramLocalParameter4dvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4fARB", glProgramLocalParameter4fARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameter4fvARB", glProgramLocalParameter4fvARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4iNV", glProgramLocalParameterI4iNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4ivNV", glProgramLocalParameterI4ivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4uiNV", glProgramLocalParameterI4uiNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameterI4uivNV", glProgramLocalParameterI4uivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParameters4fvEXT", glProgramLocalParameters4fvEXT, 0, 0, { GL_EXT_gpu_program_parameters, GL_EXTENSION_COUNT }}, + { "glProgramLocalParametersI4ivNV", glProgramLocalParametersI4ivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramLocalParametersI4uivNV", glProgramLocalParametersI4uivNV, 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4dNV", glProgramNamedParameter4dNV, 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4dvNV", glProgramNamedParameter4dvNV, 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4fNV", glProgramNamedParameter4fNV, 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramNamedParameter4fvNV", glProgramNamedParameter4fvNV, 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4dNV", glProgramParameter4dNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4dvNV", glProgramParameter4dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4fNV", glProgramParameter4fNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameter4fvNV", glProgramParameter4fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameteri", glProgramParameteri, 4, 1, { GL_ARB_get_program_binary, GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramParameteriARB", glProgramParameteriARB, 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glProgramParameteriEXT", glProgramParameteriEXT, 0, 0, { GL_EXT_geometry_shader4, GL_EXTENSION_COUNT }}, + { "glProgramParameters4dvNV", glProgramParameters4dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramParameters4fvNV", glProgramParameters4fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramPathFragmentInputGenNV", glProgramPathFragmentInputGenNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glProgramStringARB", glProgramStringARB, 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, + { "glProgramSubroutineParametersuivNV", glProgramSubroutineParametersuivNV, 0, 0, { GL_NV_gpu_program5, GL_NV_gpu_program_fp64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1d", glProgramUniform1d, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1dEXT", glProgramUniform1dEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1dv", glProgramUniform1dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1dvEXT", glProgramUniform1dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1f", glProgramUniform1f, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1fEXT", glProgramUniform1fEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1fv", glProgramUniform1fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1fvEXT", glProgramUniform1fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i", glProgramUniform1i, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64ARB", glProgramUniform1i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64NV", glProgramUniform1i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64vARB", glProgramUniform1i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1i64vNV", glProgramUniform1i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1iEXT", glProgramUniform1iEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1iv", glProgramUniform1iv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ivEXT", glProgramUniform1ivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui", glProgramUniform1ui, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64ARB", glProgramUniform1ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64NV", glProgramUniform1ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64vARB", glProgramUniform1ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform1ui64vNV", glProgramUniform1ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform1uiEXT", glProgramUniform1uiEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform1uiv", glProgramUniform1uiv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform1uivEXT", glProgramUniform1uivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2d", glProgramUniform2d, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2dEXT", glProgramUniform2dEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2dv", glProgramUniform2dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2dvEXT", glProgramUniform2dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2f", glProgramUniform2f, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2fEXT", glProgramUniform2fEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2fv", glProgramUniform2fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2fvEXT", glProgramUniform2fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i", glProgramUniform2i, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64ARB", glProgramUniform2i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64NV", glProgramUniform2i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64vARB", glProgramUniform2i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2i64vNV", glProgramUniform2i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2iEXT", glProgramUniform2iEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2iv", glProgramUniform2iv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ivEXT", glProgramUniform2ivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui", glProgramUniform2ui, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64ARB", glProgramUniform2ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64NV", glProgramUniform2ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64vARB", glProgramUniform2ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform2ui64vNV", glProgramUniform2ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform2uiEXT", glProgramUniform2uiEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform2uiv", glProgramUniform2uiv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform2uivEXT", glProgramUniform2uivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3d", glProgramUniform3d, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3dEXT", glProgramUniform3dEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3dv", glProgramUniform3dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3dvEXT", glProgramUniform3dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3f", glProgramUniform3f, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3fEXT", glProgramUniform3fEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3fv", glProgramUniform3fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3fvEXT", glProgramUniform3fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i", glProgramUniform3i, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64ARB", glProgramUniform3i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64NV", glProgramUniform3i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64vARB", glProgramUniform3i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3i64vNV", glProgramUniform3i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3iEXT", glProgramUniform3iEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3iv", glProgramUniform3iv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ivEXT", glProgramUniform3ivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui", glProgramUniform3ui, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64ARB", glProgramUniform3ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64NV", glProgramUniform3ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64vARB", glProgramUniform3ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform3ui64vNV", glProgramUniform3ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform3uiEXT", glProgramUniform3uiEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform3uiv", glProgramUniform3uiv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform3uivEXT", glProgramUniform3uivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4d", glProgramUniform4d, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4dEXT", glProgramUniform4dEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4dv", glProgramUniform4dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4dvEXT", glProgramUniform4dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4f", glProgramUniform4f, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4fEXT", glProgramUniform4fEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4fv", glProgramUniform4fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4fvEXT", glProgramUniform4fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i", glProgramUniform4i, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64ARB", glProgramUniform4i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64NV", glProgramUniform4i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64vARB", glProgramUniform4i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4i64vNV", glProgramUniform4i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4iEXT", glProgramUniform4iEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4iv", glProgramUniform4iv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ivEXT", glProgramUniform4ivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui", glProgramUniform4ui, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64ARB", glProgramUniform4ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64NV", glProgramUniform4ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64vARB", glProgramUniform4ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glProgramUniform4ui64vNV", glProgramUniform4ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glProgramUniform4uiEXT", glProgramUniform4uiEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniform4uiv", glProgramUniform4uiv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniform4uivEXT", glProgramUniform4uivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64ARB", glProgramUniformHandleui64ARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64NV", glProgramUniformHandleui64NV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64vARB", glProgramUniformHandleui64vARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformHandleui64vNV", glProgramUniformHandleui64vNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2dv", glProgramUniformMatrix2dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2dvEXT", glProgramUniformMatrix2dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2fv", glProgramUniformMatrix2fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2fvEXT", glProgramUniformMatrix2fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3dv", glProgramUniformMatrix2x3dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3dvEXT", glProgramUniformMatrix2x3dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3fv", glProgramUniformMatrix2x3fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x3fvEXT", glProgramUniformMatrix2x3fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4dv", glProgramUniformMatrix2x4dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4dvEXT", glProgramUniformMatrix2x4dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4fv", glProgramUniformMatrix2x4fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix2x4fvEXT", glProgramUniformMatrix2x4fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3dv", glProgramUniformMatrix3dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3dvEXT", glProgramUniformMatrix3dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3fv", glProgramUniformMatrix3fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3fvEXT", glProgramUniformMatrix3fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2dv", glProgramUniformMatrix3x2dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2dvEXT", glProgramUniformMatrix3x2dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2fv", glProgramUniformMatrix3x2fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x2fvEXT", glProgramUniformMatrix3x2fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4dv", glProgramUniformMatrix3x4dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4dvEXT", glProgramUniformMatrix3x4dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4fv", glProgramUniformMatrix3x4fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix3x4fvEXT", glProgramUniformMatrix3x4fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4dv", glProgramUniformMatrix4dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4dvEXT", glProgramUniformMatrix4dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4fv", glProgramUniformMatrix4fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4fvEXT", glProgramUniformMatrix4fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2dv", glProgramUniformMatrix4x2dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2dvEXT", glProgramUniformMatrix4x2dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2fv", glProgramUniformMatrix4x2fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x2fvEXT", glProgramUniformMatrix4x2fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3dv", glProgramUniformMatrix4x3dv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3dvEXT", glProgramUniformMatrix4x3dvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3fv", glProgramUniformMatrix4x3fv, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glProgramUniformMatrix4x3fvEXT", glProgramUniformMatrix4x3fvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glProgramUniformui64NV", glProgramUniformui64NV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glProgramUniformui64vNV", glProgramUniformui64vNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glProgramVertexLimitNV", glProgramVertexLimitNV, 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, + { "glProvokingVertex", glProvokingVertex, 3, 2, { GL_ARB_provoking_vertex, GL_EXTENSION_COUNT }}, + { "glProvokingVertexEXT", glProvokingVertexEXT, 0, 0, { GL_EXT_provoking_vertex, GL_EXTENSION_COUNT }}, + { "glPushClientAttribDefaultEXT", glPushClientAttribDefaultEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glPushDebugGroup", glPushDebugGroup, 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, + { "glPushGroupMarkerEXT", glPushGroupMarkerEXT, 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, + { "glQueryCounter", glQueryCounter, 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, + { "glQueryMatrixxOES", glQueryMatrixxOES, 0, 0, { GL_OES_query_matrix, GL_EXTENSION_COUNT }}, + { "glQueryObjectParameteruiAMD", glQueryObjectParameteruiAMD, 0, 0, { GL_AMD_occlusion_query_event, GL_EXTENSION_COUNT }}, + { "glQueryResourceNV", glQueryResourceNV, 0, 0, { GL_NV_query_resource, GL_EXTENSION_COUNT }}, + { "glQueryResourceTagNV", glQueryResourceTagNV, 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, + { "glRasterPos2xOES", glRasterPos2xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos2xvOES", glRasterPos2xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos3xOES", glRasterPos3xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos3xvOES", glRasterPos3xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos4xOES", glRasterPos4xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterPos4xvOES", glRasterPos4xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRasterSamplesEXT", glRasterSamplesEXT, 0, 0, { GL_EXT_raster_multisample, GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, + { "glReadBufferRegion", glReadBufferRegion, 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, + { "glReadInstrumentsSGIX", glReadInstrumentsSGIX, 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glReadnPixels", glReadnPixels, 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, + { "glReadnPixelsARB", glReadnPixelsARB, 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, + { "glRectxOES", glRectxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glRectxvOES", glRectxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glReferencePlaneSGIX", glReferencePlaneSGIX, 0, 0, { GL_SGIX_reference_plane, GL_EXTENSION_COUNT }}, + { "glReleaseKeyedMutexWin32EXT", glReleaseKeyedMutexWin32EXT, 0, 0, { GL_EXT_win32_keyed_mutex, GL_EXTENSION_COUNT }}, + { "glReleaseShaderCompiler", glReleaseShaderCompiler, 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glRenderGpuMaskNV", glRenderGpuMaskNV, 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorage", glRenderbufferStorage, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageEXT", glRenderbufferStorageEXT, 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisample", glRenderbufferStorageMultisample, 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisampleAdvancedAMD", glRenderbufferStorageMultisampleAdvancedAMD, 0, 0, { GL_AMD_framebuffer_multisample_advanced, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisampleCoverageNV", glRenderbufferStorageMultisampleCoverageNV, 0, 0, { GL_NV_framebuffer_multisample_coverage, GL_EXTENSION_COUNT }}, + { "glRenderbufferStorageMultisampleEXT", glRenderbufferStorageMultisampleEXT, 0, 0, { GL_EXT_framebuffer_multisample, GL_EXTENSION_COUNT }}, + { "glReplacementCodePointerSUN", glReplacementCodePointerSUN, 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeubSUN", glReplacementCodeubSUN, 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeubvSUN", glReplacementCodeubvSUN, 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor3fVertex3fSUN", glReplacementCodeuiColor3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor3fVertex3fvSUN", glReplacementCodeuiColor3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", glReplacementCodeuiColor4fNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", glReplacementCodeuiColor4fNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4ubVertex3fSUN", glReplacementCodeuiColor4ubVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiColor4ubVertex3fvSUN", glReplacementCodeuiColor4ubVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiNormal3fVertex3fSUN", glReplacementCodeuiNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiNormal3fVertex3fvSUN", glReplacementCodeuiNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiSUN", glReplacementCodeuiSUN, 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fVertex3fSUN", glReplacementCodeuiTexCoord2fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiTexCoord2fVertex3fvSUN", glReplacementCodeuiTexCoord2fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiVertex3fSUN", glReplacementCodeuiVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuiVertex3fvSUN", glReplacementCodeuiVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glReplacementCodeuivSUN", glReplacementCodeuivSUN, 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeusSUN", glReplacementCodeusSUN, 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glReplacementCodeusvSUN", glReplacementCodeusvSUN, 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, + { "glRequestResidentProgramsNV", glRequestResidentProgramsNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glResetHistogram", glResetHistogram, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glResetHistogramEXT", glResetHistogramEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glResetMemoryObjectParameterNV", glResetMemoryObjectParameterNV, 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glResetMinmax", glResetMinmax, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glResetMinmaxEXT", glResetMinmaxEXT, 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, + { "glResizeBuffersMESA", glResizeBuffersMESA, 0, 0, { GL_MESA_resize_buffers, GL_EXTENSION_COUNT }}, + { "glResolveDepthValuesNV", glResolveDepthValuesNV, 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, + { "glResumeTransformFeedback", glResumeTransformFeedback, 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glResumeTransformFeedbackNV", glResumeTransformFeedbackNV, 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, + { "glRotatex", glRotatex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glRotatexOES", glRotatexOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glSampleCoverage", glSampleCoverage, 1, 3, { GL_EXTENSION_COUNT }}, + { "glSampleCoverageARB", glSampleCoverageARB, 0, 0, { GL_ARB_multisample, GL_EXTENSION_COUNT }}, + { "glSampleCoveragex", glSampleCoveragex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glSampleMapATI", glSampleMapATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glSampleMaskEXT", glSampleMaskEXT, 0, 0, { GL_EXT_multisample, GL_EXTENSION_COUNT }}, + { "glSampleMaskIndexedNV", glSampleMaskIndexedNV, 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, + { "glSampleMaskSGIS", glSampleMaskSGIS, 0, 0, { GL_SGIS_multisample, GL_EXTENSION_COUNT }}, + { "glSampleMaski", glSampleMaski, 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glSamplePatternEXT", glSamplePatternEXT, 0, 0, { GL_EXT_multisample, GL_EXTENSION_COUNT }}, + { "glSamplePatternSGIS", glSamplePatternSGIS, 0, 0, { GL_SGIS_multisample, GL_EXTENSION_COUNT }}, + { "glSamplerParameterIiv", glSamplerParameterIiv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameterIuiv", glSamplerParameterIuiv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameterf", glSamplerParameterf, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameterfv", glSamplerParameterfv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameteri", glSamplerParameteri, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glSamplerParameteriv", glSamplerParameteriv, 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, + { "glScalex", glScalex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glScalexOES", glScalexOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glScissorArrayv", glScissorArrayv, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glScissorExclusiveArrayvNV", glScissorExclusiveArrayvNV, 0, 0, { GL_NV_scissor_exclusive, GL_EXTENSION_COUNT }}, + { "glScissorExclusiveNV", glScissorExclusiveNV, 0, 0, { GL_NV_scissor_exclusive, GL_EXTENSION_COUNT }}, + { "glScissorIndexed", glScissorIndexed, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glScissorIndexedv", glScissorIndexedv, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3b", glSecondaryColor3b, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3bEXT", glSecondaryColor3bEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3bv", glSecondaryColor3bv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3bvEXT", glSecondaryColor3bvEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3d", glSecondaryColor3d, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3dEXT", glSecondaryColor3dEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3dv", glSecondaryColor3dv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3dvEXT", glSecondaryColor3dvEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3f", glSecondaryColor3f, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3fEXT", glSecondaryColor3fEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3fv", glSecondaryColor3fv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3fvEXT", glSecondaryColor3fvEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3hNV", glSecondaryColor3hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3hvNV", glSecondaryColor3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3i", glSecondaryColor3i, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3iEXT", glSecondaryColor3iEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3iv", glSecondaryColor3iv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ivEXT", glSecondaryColor3ivEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3s", glSecondaryColor3s, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3sEXT", glSecondaryColor3sEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3sv", glSecondaryColor3sv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3svEXT", glSecondaryColor3svEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ub", glSecondaryColor3ub, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ubEXT", glSecondaryColor3ubEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ubv", glSecondaryColor3ubv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ubvEXT", glSecondaryColor3ubvEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3ui", glSecondaryColor3ui, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3uiEXT", glSecondaryColor3uiEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3uiv", glSecondaryColor3uiv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3uivEXT", glSecondaryColor3uivEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3us", glSecondaryColor3us, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3usEXT", glSecondaryColor3usEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColor3usv", glSecondaryColor3usv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColor3usvEXT", glSecondaryColor3usvEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColorFormatNV", glSecondaryColorFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glSecondaryColorP3ui", glSecondaryColorP3ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glSecondaryColorP3uiv", glSecondaryColorP3uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glSecondaryColorPointer", glSecondaryColorPointer, 1, 4, { GL_EXTENSION_COUNT }}, + { "glSecondaryColorPointerEXT", glSecondaryColorPointerEXT, 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, + { "glSecondaryColorPointerListIBM", glSecondaryColorPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glSelectPerfMonitorCountersAMD", glSelectPerfMonitorCountersAMD, 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, + { "glSelectTextureCoordSetSGIS", glSelectTextureCoordSetSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glSelectTextureSGIS", glSelectTextureSGIS, 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, + { "glSemaphoreParameterivNV", glSemaphoreParameterivNV, 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, + { "glSemaphoreParameterui64vEXT", glSemaphoreParameterui64vEXT, 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glSeparableFilter2D", glSeparableFilter2D, 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, + { "glSeparableFilter2DEXT", glSeparableFilter2DEXT, 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, + { "glSetFenceAPPLE", glSetFenceAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glSetFenceNV", glSetFenceNV, 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glSetFragmentShaderConstantATI", glSetFragmentShaderConstantATI, 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, + { "glSetInvariantEXT", glSetInvariantEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glSetLocalConstantEXT", glSetLocalConstantEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glSetMultisamplefvAMD", glSetMultisamplefvAMD, 0, 0, { GL_AMD_sample_positions, GL_EXTENSION_COUNT }}, + { "glShaderBinary", glShaderBinary, 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, + { "glShaderOp1EXT", glShaderOp1EXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glShaderOp2EXT", glShaderOp2EXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glShaderOp3EXT", glShaderOp3EXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glShaderSource", glShaderSource, 2, 0, { GL_EXTENSION_COUNT }}, + { "glShaderSourceARB", glShaderSourceARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glShaderStorageBlockBinding", glShaderStorageBlockBinding, 4, 3, { GL_ARB_shader_storage_buffer_object, GL_EXTENSION_COUNT }}, + { "glShadingRateCombinerOpsEXT", glShadingRateCombinerOpsEXT, 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glShadingRateEXT", glShadingRateEXT, 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, + { "glShadingRateImageBarrierNV", glShadingRateImageBarrierNV, 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glShadingRateImagePaletteNV", glShadingRateImagePaletteNV, 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glShadingRateSampleOrderCustomNV", glShadingRateSampleOrderCustomNV, 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glShadingRateSampleOrderNV", glShadingRateSampleOrderNV, 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, + { "glSharpenTexFuncSGIS", glSharpenTexFuncSGIS, 0, 0, { GL_SGIS_sharpen_texture, GL_EXTENSION_COUNT }}, + { "glSignalSemaphoreEXT", glSignalSemaphoreEXT, 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glSignalSemaphoreui64NVX", glSignalSemaphoreui64NVX, 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glSignalVkFenceNV", glSignalVkFenceNV, 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glSignalVkSemaphoreNV", glSignalVkSemaphoreNV, 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glSpecializeShader", glSpecializeShader, 4, 6, { GL_EXTENSION_COUNT }}, + { "glSpecializeShaderARB", glSpecializeShaderARB, 0, 0, { GL_ARB_gl_spirv, GL_EXTENSION_COUNT }}, + { "glSpriteParameterfSGIX", glSpriteParameterfSGIX, 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glSpriteParameterfvSGIX", glSpriteParameterfvSGIX, 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glSpriteParameteriSGIX", glSpriteParameteriSGIX, 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glSpriteParameterivSGIX", glSpriteParameterivSGIX, 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, + { "glStartInstrumentsSGIX", glStartInstrumentsSGIX, 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glStateCaptureNV", glStateCaptureNV, 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, + { "glStencilClearTagEXT", glStencilClearTagEXT, 0, 0, { GL_EXT_stencil_clear_tag, GL_EXTENSION_COUNT }}, + { "glStencilFillPathInstancedNV", glStencilFillPathInstancedNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilFillPathNV", glStencilFillPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilFuncSeparate", glStencilFuncSeparate, 2, 0, { GL_EXTENSION_COUNT }}, + { "glStencilFuncSeparateATI", glStencilFuncSeparateATI, 0, 0, { GL_ATI_separate_stencil, GL_EXTENSION_COUNT }}, + { "glStencilMaskSeparate", glStencilMaskSeparate, 2, 0, { GL_EXTENSION_COUNT }}, + { "glStencilOpSeparate", glStencilOpSeparate, 2, 0, { GL_EXTENSION_COUNT }}, + { "glStencilOpSeparateATI", glStencilOpSeparateATI, 0, 0, { GL_ATI_separate_stencil, GL_EXTENSION_COUNT }}, + { "glStencilOpValueAMD", glStencilOpValueAMD, 0, 0, { GL_AMD_stencil_operation_extended, GL_EXTENSION_COUNT }}, + { "glStencilStrokePathInstancedNV", glStencilStrokePathInstancedNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilStrokePathNV", glStencilStrokePathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverFillPathInstancedNV", glStencilThenCoverFillPathInstancedNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverFillPathNV", glStencilThenCoverFillPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverStrokePathInstancedNV", glStencilThenCoverStrokePathInstancedNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStencilThenCoverStrokePathNV", glStencilThenCoverStrokePathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glStopInstrumentsSGIX", glStopInstrumentsSGIX, 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, + { "glStringMarkerGREMEDY", glStringMarkerGREMEDY, 0, 0, { GL_GREMEDY_string_marker, GL_EXTENSION_COUNT }}, + { "glSubpixelPrecisionBiasNV", glSubpixelPrecisionBiasNV, 0, 0, { GL_NV_conservative_raster, GL_EXTENSION_COUNT }}, + { "glSwizzleEXT", glSwizzleEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glSyncTextureINTEL", glSyncTextureINTEL, 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, + { "glTagSampleBufferSGIX", glTagSampleBufferSGIX, 0, 0, { GL_SGIX_tag_sample_buffer, GL_EXTENSION_COUNT }}, + { "glTangent3bEXT", glTangent3bEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3bvEXT", glTangent3bvEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3dEXT", glTangent3dEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3dvEXT", glTangent3dvEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3fEXT", glTangent3fEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3fvEXT", glTangent3fvEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3iEXT", glTangent3iEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3ivEXT", glTangent3ivEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3sEXT", glTangent3sEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangent3svEXT", glTangent3svEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTangentPointerEXT", glTangentPointerEXT, 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, + { "glTbufferMask3DFX", glTbufferMask3DFX, 0, 0, { GL_3DFX_tbuffer, GL_EXTENSION_COUNT }}, + { "glTessellationFactorAMD", glTessellationFactorAMD, 0, 0, { GL_AMD_vertex_shader_tessellator, GL_EXTENSION_COUNT }}, + { "glTessellationModeAMD", glTessellationModeAMD, 0, 0, { GL_AMD_vertex_shader_tessellator, GL_EXTENSION_COUNT }}, + { "glTestFenceAPPLE", glTestFenceAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glTestFenceNV", glTestFenceNV, 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, + { "glTestObjectAPPLE", glTestObjectAPPLE, 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, + { "glTexAttachMemoryNV", glTexAttachMemoryNV, 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glTexBuffer", glTexBuffer, 3, 1, { GL_EXTENSION_COUNT }}, + { "glTexBufferARB", glTexBufferARB, 0, 0, { GL_ARB_texture_buffer_object, GL_EXTENSION_COUNT }}, + { "glTexBufferEXT", glTexBufferEXT, 0, 0, { GL_EXT_texture_buffer_object, GL_EXTENSION_COUNT }}, + { "glTexBufferRange", glTexBufferRange, 4, 3, { GL_ARB_texture_buffer_range, GL_EXTENSION_COUNT }}, + { "glTexBumpParameterfvATI", glTexBumpParameterfvATI, 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glTexBumpParameterivATI", glTexBumpParameterivATI, 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, + { "glTexCoord1bOES", glTexCoord1bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord1bvOES", glTexCoord1bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord1hNV", glTexCoord1hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord1hvNV", glTexCoord1hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord1xOES", glTexCoord1xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord1xvOES", glTexCoord1xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord2bOES", glTexCoord2bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord2bvOES", glTexCoord2bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor3fVertex3fSUN", glTexCoord2fColor3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor3fVertex3fvSUN", glTexCoord2fColor3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4fNormal3fVertex3fSUN", glTexCoord2fColor4fNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4fNormal3fVertex3fvSUN", glTexCoord2fColor4fNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4ubVertex3fSUN", glTexCoord2fColor4ubVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fColor4ubVertex3fvSUN", glTexCoord2fColor4ubVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fNormal3fVertex3fSUN", glTexCoord2fNormal3fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fNormal3fVertex3fvSUN", glTexCoord2fNormal3fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fVertex3fSUN", glTexCoord2fVertex3fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2fVertex3fvSUN", glTexCoord2fVertex3fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord2hNV", glTexCoord2hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord2hvNV", glTexCoord2hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord2xOES", glTexCoord2xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord2xvOES", glTexCoord2xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord3bOES", glTexCoord3bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord3bvOES", glTexCoord3bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord3hNV", glTexCoord3hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord3hvNV", glTexCoord3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord3xOES", glTexCoord3xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord3xvOES", glTexCoord3xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord4bOES", glTexCoord4bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord4bvOES", glTexCoord4bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glTexCoord4fColor4fNormal3fVertex4fSUN", glTexCoord4fColor4fNormal3fVertex4fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4fColor4fNormal3fVertex4fvSUN", glTexCoord4fColor4fNormal3fVertex4fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4fVertex4fSUN", glTexCoord4fVertex4fSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4fVertex4fvSUN", glTexCoord4fVertex4fvSUN, 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, + { "glTexCoord4hNV", glTexCoord4hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord4hvNV", glTexCoord4hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glTexCoord4xOES", glTexCoord4xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoord4xvOES", glTexCoord4xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexCoordFormatNV", glTexCoordFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glTexCoordP1ui", glTexCoordP1ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP1uiv", glTexCoordP1uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP2ui", glTexCoordP2ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP2uiv", glTexCoordP2uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP3ui", glTexCoordP3ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP3uiv", glTexCoordP3uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP4ui", glTexCoordP4ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordP4uiv", glTexCoordP4uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glTexCoordPointerEXT", glTexCoordPointerEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glTexCoordPointerListIBM", glTexCoordPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glTexCoordPointervINTEL", glTexCoordPointervINTEL, 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glTexEnvx", glTexEnvx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexEnvxOES", glTexEnvxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexEnvxv", glTexEnvxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexEnvxvOES", glTexEnvxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexFilterFuncSGIS", glTexFilterFuncSGIS, 0, 0, { GL_SGIS_texture_filter4, GL_EXTENSION_COUNT }}, + { "glTexGenxOES", glTexGenxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexGenxvOES", glTexGenxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexImage2DMultisample", glTexImage2DMultisample, 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage2DMultisampleCoverageNV", glTexImage2DMultisampleCoverageNV, 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage3D", glTexImage3D, 1, 2, { GL_EXTENSION_COUNT }}, + { "glTexImage3DEXT", glTexImage3DEXT, 0, 0, { GL_EXT_texture3D, GL_EXTENSION_COUNT }}, + { "glTexImage3DMultisample", glTexImage3DMultisample, 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage3DMultisampleCoverageNV", glTexImage3DMultisampleCoverageNV, 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTexImage4DSGIS", glTexImage4DSGIS, 0, 0, { GL_SGIS_texture4D, GL_EXTENSION_COUNT }}, + { "glTexPageCommitmentARB", glTexPageCommitmentARB, 0, 0, { GL_ARB_sparse_texture, GL_EXTENSION_COUNT }}, + { "glTexPageCommitmentMemNV", glTexPageCommitmentMemNV, 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glTexParameterIiv", glTexParameterIiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glTexParameterIivEXT", glTexParameterIivEXT, 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glTexParameterIuiv", glTexParameterIuiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glTexParameterIuivEXT", glTexParameterIuivEXT, 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, + { "glTexParameterx", glTexParameterx, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexParameterxOES", glTexParameterxOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexParameterxv", glTexParameterxv, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTexParameterxvOES", glTexParameterxvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glTexRenderbufferNV", glTexRenderbufferNV, 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, + { "glTexStorage1D", glTexStorage1D, 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage1DEXT", glTexStorage1DEXT, 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage2D", glTexStorage2D, 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage2DEXT", glTexStorage2DEXT, 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage2DMultisample", glTexStorage2DMultisample, 4, 3, { GL_ARB_texture_storage_multisample, GL_EXTENSION_COUNT }}, + { "glTexStorage3D", glTexStorage3D, 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage3DEXT", glTexStorage3DEXT, 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTexStorage3DMultisample", glTexStorage3DMultisample, 4, 3, { GL_ARB_texture_storage_multisample, GL_EXTENSION_COUNT }}, + { "glTexStorageMem1DEXT", glTexStorageMem1DEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem2DEXT", glTexStorageMem2DEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem2DMultisampleEXT", glTexStorageMem2DMultisampleEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem3DEXT", glTexStorageMem3DEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageMem3DMultisampleEXT", glTexStorageMem3DMultisampleEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTexStorageSparseAMD", glTexStorageSparseAMD, 0, 0, { GL_AMD_sparse_texture, GL_EXTENSION_COUNT }}, + { "glTexSubImage1DEXT", glTexSubImage1DEXT, 0, 0, { GL_EXT_subtexture, GL_EXTENSION_COUNT }}, + { "glTexSubImage2DEXT", glTexSubImage2DEXT, 0, 0, { GL_EXT_subtexture, GL_EXTENSION_COUNT }}, + { "glTexSubImage3D", glTexSubImage3D, 1, 2, { GL_EXTENSION_COUNT }}, + { "glTexSubImage3DEXT", glTexSubImage3DEXT, 0, 0, { GL_EXT_texture3D, GL_EXTENSION_COUNT }}, + { "glTexSubImage4DSGIS", glTexSubImage4DSGIS, 0, 0, { GL_SGIS_texture4D, GL_EXTENSION_COUNT }}, + { "glTextureAttachMemoryNV", glTextureAttachMemoryNV, 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, + { "glTextureBarrier", glTextureBarrier, 4, 5, { GL_ARB_texture_barrier, GL_EXTENSION_COUNT }}, + { "glTextureBarrierNV", glTextureBarrierNV, 0, 0, { GL_NV_texture_barrier, GL_EXTENSION_COUNT }}, + { "glTextureBuffer", glTextureBuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureBufferEXT", glTextureBufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureBufferRange", glTextureBufferRange, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureBufferRangeEXT", glTextureBufferRangeEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureColorMaskSGIS", glTextureColorMaskSGIS, 0, 0, { GL_SGIS_texture_color_mask, GL_EXTENSION_COUNT }}, + { "glTextureImage1DEXT", glTextureImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureImage2DEXT", glTextureImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureImage2DMultisampleCoverageNV", glTextureImage2DMultisampleCoverageNV, 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureImage2DMultisampleNV", glTextureImage2DMultisampleNV, 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureImage3DEXT", glTextureImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureImage3DMultisampleCoverageNV", glTextureImage3DMultisampleCoverageNV, 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureImage3DMultisampleNV", glTextureImage3DMultisampleNV, 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, + { "glTextureLightEXT", glTextureLightEXT, 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, + { "glTextureMaterialEXT", glTextureMaterialEXT, 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, + { "glTextureNormalEXT", glTextureNormalEXT, 0, 0, { GL_EXT_texture_perturb_normal, GL_EXTENSION_COUNT }}, + { "glTexturePageCommitmentEXT", glTexturePageCommitmentEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTexturePageCommitmentMemNV", glTexturePageCommitmentMemNV, 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, + { "glTextureParameterIiv", glTextureParameterIiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterIivEXT", glTextureParameterIivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterIuiv", glTextureParameterIuiv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterIuivEXT", glTextureParameterIuivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterf", glTextureParameterf, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterfEXT", glTextureParameterfEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterfv", glTextureParameterfv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterfvEXT", glTextureParameterfvEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameteri", glTextureParameteri, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameteriEXT", glTextureParameteriEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameteriv", glTextureParameteriv, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureParameterivEXT", glTextureParameterivEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureRangeAPPLE", glTextureRangeAPPLE, 0, 0, { GL_APPLE_texture_range, GL_EXTENSION_COUNT }}, + { "glTextureRenderbufferEXT", glTextureRenderbufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage1D", glTextureStorage1D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage1DEXT", glTextureStorage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTextureStorage2D", glTextureStorage2D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage2DEXT", glTextureStorage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTextureStorage2DMultisample", glTextureStorage2DMultisample, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage2DMultisampleEXT", glTextureStorage2DMultisampleEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage3D", glTextureStorage3D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage3DEXT", glTextureStorage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, + { "glTextureStorage3DMultisample", glTextureStorage3DMultisample, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorage3DMultisampleEXT", glTextureStorage3DMultisampleEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem1DEXT", glTextureStorageMem1DEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem2DEXT", glTextureStorageMem2DEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem2DMultisampleEXT", glTextureStorageMem2DMultisampleEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem3DEXT", glTextureStorageMem3DEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageMem3DMultisampleEXT", glTextureStorageMem3DMultisampleEXT, 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, + { "glTextureStorageSparseAMD", glTextureStorageSparseAMD, 0, 0, { GL_AMD_sparse_texture, GL_EXTENSION_COUNT }}, + { "glTextureSubImage1D", glTextureSubImage1D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage1DEXT", glTextureSubImage1DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage2D", glTextureSubImage2D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage2DEXT", glTextureSubImage2DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage3D", glTextureSubImage3D, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureSubImage3DEXT", glTextureSubImage3DEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTextureView", glTextureView, 4, 3, { GL_ARB_texture_view, GL_EXTENSION_COUNT }}, + { "glTrackMatrixNV", glTrackMatrixNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackAttribsNV", glTransformFeedbackAttribsNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackBufferBase", glTransformFeedbackBufferBase, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackBufferRange", glTransformFeedbackBufferRange, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackStreamAttribsNV", glTransformFeedbackStreamAttribsNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackVaryings", glTransformFeedbackVaryings, 3, 0, { GL_EXTENSION_COUNT }}, + { "glTransformFeedbackVaryingsEXT", glTransformFeedbackVaryingsEXT, 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformFeedbackVaryingsNV", glTransformFeedbackVaryingsNV, 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, + { "glTransformPathNV", glTransformPathNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glTranslatex", glTranslatex, 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, + { "glTranslatexOES", glTranslatexOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glUniform1d", glUniform1d, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform1dv", glUniform1dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform1f", glUniform1f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1fARB", glUniform1fARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1fv", glUniform1fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1fvARB", glUniform1fvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1i", glUniform1i, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1i64ARB", glUniform1i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1i64NV", glUniform1i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1i64vARB", glUniform1i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1i64vNV", glUniform1i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1iARB", glUniform1iARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1iv", glUniform1iv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1ivARB", glUniform1ivARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform1ui", glUniform1ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1ui64ARB", glUniform1ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1ui64NV", glUniform1ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1ui64vARB", glUniform1ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform1ui64vNV", glUniform1ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform1uiEXT", glUniform1uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform1uiv", glUniform1uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform1uivEXT", glUniform1uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform2d", glUniform2d, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform2dv", glUniform2dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform2f", glUniform2f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2fARB", glUniform2fARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2fv", glUniform2fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2fvARB", glUniform2fvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2i", glUniform2i, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2i64ARB", glUniform2i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2i64NV", glUniform2i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2i64vARB", glUniform2i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2i64vNV", glUniform2i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2iARB", glUniform2iARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2iv", glUniform2iv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2ivARB", glUniform2ivARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform2ui", glUniform2ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2ui64ARB", glUniform2ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2ui64NV", glUniform2ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2ui64vARB", glUniform2ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform2ui64vNV", glUniform2ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform2uiEXT", glUniform2uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform2uiv", glUniform2uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform2uivEXT", glUniform2uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform3d", glUniform3d, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform3dv", glUniform3dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform3f", glUniform3f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3fARB", glUniform3fARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3fv", glUniform3fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3fvARB", glUniform3fvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3i", glUniform3i, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3i64ARB", glUniform3i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3i64NV", glUniform3i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3i64vARB", glUniform3i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3i64vNV", glUniform3i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3iARB", glUniform3iARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3iv", glUniform3iv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3ivARB", glUniform3ivARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform3ui", glUniform3ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3ui64ARB", glUniform3ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3ui64NV", glUniform3ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3ui64vARB", glUniform3ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform3ui64vNV", glUniform3ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform3uiEXT", glUniform3uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform3uiv", glUniform3uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform3uivEXT", glUniform3uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform4d", glUniform4d, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform4dv", glUniform4dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniform4f", glUniform4f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4fARB", glUniform4fARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4fv", glUniform4fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4fvARB", glUniform4fvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4i", glUniform4i, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4i64ARB", glUniform4i64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4i64NV", glUniform4i64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4i64vARB", glUniform4i64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4i64vNV", glUniform4i64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4iARB", glUniform4iARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4iv", glUniform4iv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4ivARB", glUniform4ivARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniform4ui", glUniform4ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4ui64ARB", glUniform4ui64ARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4ui64NV", glUniform4ui64NV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4ui64vARB", glUniform4ui64vARB, 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, + { "glUniform4ui64vNV", glUniform4ui64vNV, 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, + { "glUniform4uiEXT", glUniform4uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniform4uiv", glUniform4uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glUniform4uivEXT", glUniform4uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, + { "glUniformBlockBinding", glUniformBlockBinding, 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, + { "glUniformBufferEXT", glUniformBufferEXT, 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64ARB", glUniformHandleui64ARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64NV", glUniformHandleui64NV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64vARB", glUniformHandleui64vARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformHandleui64vNV", glUniformHandleui64vNV, 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2dv", glUniformMatrix2dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2fv", glUniformMatrix2fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix2fvARB", glUniformMatrix2fvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x3dv", glUniformMatrix2x3dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x3fv", glUniformMatrix2x3fv, 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x4dv", glUniformMatrix2x4dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix2x4fv", glUniformMatrix2x4fv, 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix3dv", glUniformMatrix3dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3fv", glUniformMatrix3fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix3fvARB", glUniformMatrix3fvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x2dv", glUniformMatrix3x2dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x2fv", glUniformMatrix3x2fv, 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x4dv", glUniformMatrix3x4dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix3x4fv", glUniformMatrix3x4fv, 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix4dv", glUniformMatrix4dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4fv", glUniformMatrix4fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix4fvARB", glUniformMatrix4fvARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x2dv", glUniformMatrix4x2dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x2fv", glUniformMatrix4x2fv, 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x3dv", glUniformMatrix4x3dv, 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, + { "glUniformMatrix4x3fv", glUniformMatrix4x3fv, 2, 1, { GL_EXTENSION_COUNT }}, + { "glUniformSubroutinesuiv", glUniformSubroutinesuiv, 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, + { "glUniformui64NV", glUniformui64NV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glUniformui64vNV", glUniformui64vNV, 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, + { "glUnlockArraysEXT", glUnlockArraysEXT, 0, 0, { GL_EXT_compiled_vertex_array, GL_EXTENSION_COUNT }}, + { "glUnmapBuffer", glUnmapBuffer, 1, 5, { GL_EXTENSION_COUNT }}, + { "glUnmapBufferARB", glUnmapBufferARB, 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, + { "glUnmapNamedBuffer", glUnmapNamedBuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glUnmapNamedBufferEXT", glUnmapNamedBufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glUnmapObjectBufferATI", glUnmapObjectBufferATI, 0, 0, { GL_ATI_map_object_buffer, GL_EXTENSION_COUNT }}, + { "glUnmapTexture2DINTEL", glUnmapTexture2DINTEL, 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, + { "glUpdateObjectBufferATI", glUpdateObjectBufferATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glUploadGpuMaskNVX", glUploadGpuMaskNVX, 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, + { "glUseProgram", glUseProgram, 2, 0, { GL_EXTENSION_COUNT }}, + { "glUseProgramObjectARB", glUseProgramObjectARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glUseProgramStages", glUseProgramStages, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glUseShaderProgramEXT", glUseShaderProgramEXT, 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glVDPAUFiniNV", glVDPAUFiniNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUGetSurfaceivNV", glVDPAUGetSurfaceivNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUInitNV", glVDPAUInitNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUIsSurfaceNV", glVDPAUIsSurfaceNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUMapSurfacesNV", glVDPAUMapSurfacesNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAURegisterOutputSurfaceNV", glVDPAURegisterOutputSurfaceNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAURegisterVideoSurfaceNV", glVDPAURegisterVideoSurfaceNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAURegisterVideoSurfaceWithPictureStructureNV", glVDPAURegisterVideoSurfaceWithPictureStructureNV, 0, 0, { GL_NV_vdpau_interop2, GL_EXTENSION_COUNT }}, + { "glVDPAUSurfaceAccessNV", glVDPAUSurfaceAccessNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUUnmapSurfacesNV", glVDPAUUnmapSurfacesNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glVDPAUUnregisterSurfaceNV", glVDPAUUnregisterSurfaceNV, 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, + { "glValidateProgram", glValidateProgram, 2, 0, { GL_EXTENSION_COUNT }}, + { "glValidateProgramARB", glValidateProgramARB, 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, + { "glValidateProgramPipeline", glValidateProgramPipeline, 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, + { "glVariantArrayObjectATI", glVariantArrayObjectATI, 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, + { "glVariantPointerEXT", glVariantPointerEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantbvEXT", glVariantbvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantdvEXT", glVariantdvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantfvEXT", glVariantfvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantivEXT", glVariantivEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantsvEXT", glVariantsvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantubvEXT", glVariantubvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantuivEXT", glVariantuivEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVariantusvEXT", glVariantusvEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertex2bOES", glVertex2bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex2bvOES", glVertex2bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex2hNV", glVertex2hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex2hvNV", glVertex2hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex2xOES", glVertex2xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex2xvOES", glVertex2xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex3bOES", glVertex3bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex3bvOES", glVertex3bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex3hNV", glVertex3hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex3hvNV", glVertex3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex3xOES", glVertex3xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex3xvOES", glVertex3xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex4bOES", glVertex4bOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex4bvOES", glVertex4bvOES, 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, + { "glVertex4hNV", glVertex4hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex4hvNV", glVertex4hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertex4xOES", glVertex4xOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertex4xvOES", glVertex4xvOES, 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribBinding", glVertexArrayAttribBinding, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribFormat", glVertexArrayAttribFormat, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribIFormat", glVertexArrayAttribIFormat, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayAttribLFormat", glVertexArrayAttribLFormat, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayBindVertexBufferEXT", glVertexArrayBindVertexBufferEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayBindingDivisor", glVertexArrayBindingDivisor, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayColorOffsetEXT", glVertexArrayColorOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayEdgeFlagOffsetEXT", glVertexArrayEdgeFlagOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayElementBuffer", glVertexArrayElementBuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayFogCoordOffsetEXT", glVertexArrayFogCoordOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayIndexOffsetEXT", glVertexArrayIndexOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayMultiTexCoordOffsetEXT", glVertexArrayMultiTexCoordOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayNormalOffsetEXT", glVertexArrayNormalOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayParameteriAPPLE", glVertexArrayParameteriAPPLE, 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glVertexArrayRangeAPPLE", glVertexArrayRangeAPPLE, 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glVertexArrayRangeNV", glVertexArrayRangeNV, 0, 0, { GL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "glVertexArraySecondaryColorOffsetEXT", glVertexArraySecondaryColorOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayTexCoordOffsetEXT", glVertexArrayTexCoordOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribBindingEXT", glVertexArrayVertexAttribBindingEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribDivisorEXT", glVertexArrayVertexAttribDivisorEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribFormatEXT", glVertexArrayVertexAttribFormatEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribIFormatEXT", glVertexArrayVertexAttribIFormatEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribIOffsetEXT", glVertexArrayVertexAttribIOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribLFormatEXT", glVertexArrayVertexAttribLFormatEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribLOffsetEXT", glVertexArrayVertexAttribLOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexAttribOffsetEXT", glVertexArrayVertexAttribOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexBindingDivisorEXT", glVertexArrayVertexBindingDivisorEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexBuffer", glVertexArrayVertexBuffer, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexBuffers", glVertexArrayVertexBuffers, 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexArrayVertexOffsetEXT", glVertexArrayVertexOffsetEXT, 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1d", glVertexAttrib1d, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dARB", glVertexAttrib1dARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dNV", glVertexAttrib1dNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dv", glVertexAttrib1dv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dvARB", glVertexAttrib1dvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1dvNV", glVertexAttrib1dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1f", glVertexAttrib1f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fARB", glVertexAttrib1fARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fNV", glVertexAttrib1fNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fv", glVertexAttrib1fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fvARB", glVertexAttrib1fvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1fvNV", glVertexAttrib1fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1hNV", glVertexAttrib1hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1hvNV", glVertexAttrib1hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1s", glVertexAttrib1s, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1sARB", glVertexAttrib1sARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1sNV", glVertexAttrib1sNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1sv", glVertexAttrib1sv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib1svARB", glVertexAttrib1svARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib1svNV", glVertexAttrib1svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2d", glVertexAttrib2d, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dARB", glVertexAttrib2dARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dNV", glVertexAttrib2dNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dv", glVertexAttrib2dv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dvARB", glVertexAttrib2dvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2dvNV", glVertexAttrib2dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2f", glVertexAttrib2f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fARB", glVertexAttrib2fARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fNV", glVertexAttrib2fNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fv", glVertexAttrib2fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fvARB", glVertexAttrib2fvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2fvNV", glVertexAttrib2fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2hNV", glVertexAttrib2hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2hvNV", glVertexAttrib2hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2s", glVertexAttrib2s, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2sARB", glVertexAttrib2sARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2sNV", glVertexAttrib2sNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2sv", glVertexAttrib2sv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib2svARB", glVertexAttrib2svARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib2svNV", glVertexAttrib2svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3d", glVertexAttrib3d, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dARB", glVertexAttrib3dARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dNV", glVertexAttrib3dNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dv", glVertexAttrib3dv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dvARB", glVertexAttrib3dvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3dvNV", glVertexAttrib3dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3f", glVertexAttrib3f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fARB", glVertexAttrib3fARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fNV", glVertexAttrib3fNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fv", glVertexAttrib3fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fvARB", glVertexAttrib3fvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3fvNV", glVertexAttrib3fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3hNV", glVertexAttrib3hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3hvNV", glVertexAttrib3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3s", glVertexAttrib3s, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3sARB", glVertexAttrib3sARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3sNV", glVertexAttrib3sNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3sv", glVertexAttrib3sv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib3svARB", glVertexAttrib3svARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib3svNV", glVertexAttrib3svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nbv", glVertexAttrib4Nbv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NbvARB", glVertexAttrib4NbvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Niv", glVertexAttrib4Niv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NivARB", glVertexAttrib4NivARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nsv", glVertexAttrib4Nsv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NsvARB", glVertexAttrib4NsvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nub", glVertexAttrib4Nub, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NubARB", glVertexAttrib4NubARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nubv", glVertexAttrib4Nubv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NubvARB", glVertexAttrib4NubvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nuiv", glVertexAttrib4Nuiv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NuivARB", glVertexAttrib4NuivARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4Nusv", glVertexAttrib4Nusv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4NusvARB", glVertexAttrib4NusvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4bv", glVertexAttrib4bv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4bvARB", glVertexAttrib4bvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4d", glVertexAttrib4d, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dARB", glVertexAttrib4dARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dNV", glVertexAttrib4dNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dv", glVertexAttrib4dv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dvARB", glVertexAttrib4dvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4dvNV", glVertexAttrib4dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4f", glVertexAttrib4f, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fARB", glVertexAttrib4fARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fNV", glVertexAttrib4fNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fv", glVertexAttrib4fv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fvARB", glVertexAttrib4fvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4fvNV", glVertexAttrib4fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4hNV", glVertexAttrib4hNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4hvNV", glVertexAttrib4hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4iv", glVertexAttrib4iv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ivARB", glVertexAttrib4ivARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4s", glVertexAttrib4s, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4sARB", glVertexAttrib4sARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4sNV", glVertexAttrib4sNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4sv", glVertexAttrib4sv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4svARB", glVertexAttrib4svARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4svNV", glVertexAttrib4svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubNV", glVertexAttrib4ubNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubv", glVertexAttrib4ubv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubvARB", glVertexAttrib4ubvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4ubvNV", glVertexAttrib4ubvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4uiv", glVertexAttrib4uiv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4uivARB", glVertexAttrib4uivARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttrib4usv", glVertexAttrib4usv, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttrib4usvARB", glVertexAttrib4usvARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttribArrayObjectATI", glVertexAttribArrayObjectATI, 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, + { "glVertexAttribBinding", glVertexAttribBinding, 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribDivisor", glVertexAttribDivisor, 3, 3, { GL_EXTENSION_COUNT }}, + { "glVertexAttribDivisorARB", glVertexAttribDivisorARB, 0, 0, { GL_ARB_instanced_arrays, GL_EXTENSION_COUNT }}, + { "glVertexAttribFormat", glVertexAttribFormat, 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribFormatNV", glVertexAttribFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1i", glVertexAttribI1i, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1iEXT", glVertexAttribI1iEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1iv", glVertexAttribI1iv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1ivEXT", glVertexAttribI1ivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1ui", glVertexAttribI1ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1uiEXT", glVertexAttribI1uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI1uiv", glVertexAttribI1uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI1uivEXT", glVertexAttribI1uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2i", glVertexAttribI2i, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2iEXT", glVertexAttribI2iEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2iv", glVertexAttribI2iv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2ivEXT", glVertexAttribI2ivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2ui", glVertexAttribI2ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2uiEXT", glVertexAttribI2uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI2uiv", glVertexAttribI2uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI2uivEXT", glVertexAttribI2uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3i", glVertexAttribI3i, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3iEXT", glVertexAttribI3iEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3iv", glVertexAttribI3iv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3ivEXT", glVertexAttribI3ivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3ui", glVertexAttribI3ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3uiEXT", glVertexAttribI3uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI3uiv", glVertexAttribI3uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI3uivEXT", glVertexAttribI3uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4bv", glVertexAttribI4bv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4bvEXT", glVertexAttribI4bvEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4i", glVertexAttribI4i, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4iEXT", glVertexAttribI4iEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4iv", glVertexAttribI4iv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ivEXT", glVertexAttribI4ivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4sv", glVertexAttribI4sv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4svEXT", glVertexAttribI4svEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ubv", glVertexAttribI4ubv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ubvEXT", glVertexAttribI4ubvEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4ui", glVertexAttribI4ui, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4uiEXT", glVertexAttribI4uiEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4uiv", glVertexAttribI4uiv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4uivEXT", glVertexAttribI4uivEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribI4usv", glVertexAttribI4usv, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribI4usvEXT", glVertexAttribI4usvEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribIFormat", glVertexAttribIFormat, 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribIFormatNV", glVertexAttribIFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glVertexAttribIPointer", glVertexAttribIPointer, 3, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribIPointerEXT", glVertexAttribIPointerEXT, 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1d", glVertexAttribL1d, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1dEXT", glVertexAttribL1dEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1dv", glVertexAttribL1dv, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1dvEXT", glVertexAttribL1dvEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1i64NV", glVertexAttribL1i64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1i64vNV", glVertexAttribL1i64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64ARB", glVertexAttribL1ui64ARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64NV", glVertexAttribL1ui64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64vARB", glVertexAttribL1ui64vARB, 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, + { "glVertexAttribL1ui64vNV", glVertexAttribL1ui64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2d", glVertexAttribL2d, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2dEXT", glVertexAttribL2dEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2dv", glVertexAttribL2dv, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2dvEXT", glVertexAttribL2dvEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2i64NV", glVertexAttribL2i64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2i64vNV", glVertexAttribL2i64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2ui64NV", glVertexAttribL2ui64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL2ui64vNV", glVertexAttribL2ui64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3d", glVertexAttribL3d, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3dEXT", glVertexAttribL3dEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3dv", glVertexAttribL3dv, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3dvEXT", glVertexAttribL3dvEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3i64NV", glVertexAttribL3i64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3i64vNV", glVertexAttribL3i64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3ui64NV", glVertexAttribL3ui64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL3ui64vNV", glVertexAttribL3ui64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4d", glVertexAttribL4d, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4dEXT", glVertexAttribL4dEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4dv", glVertexAttribL4dv, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4dvEXT", glVertexAttribL4dvEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4i64NV", glVertexAttribL4i64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4i64vNV", glVertexAttribL4i64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4ui64NV", glVertexAttribL4ui64NV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribL4ui64vNV", glVertexAttribL4ui64vNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribLFormat", glVertexAttribLFormat, 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexAttribLFormatNV", glVertexAttribLFormatNV, 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribLPointer", glVertexAttribLPointer, 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribLPointerEXT", glVertexAttribLPointerEXT, 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, + { "glVertexAttribP1ui", glVertexAttribP1ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP1uiv", glVertexAttribP1uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP2ui", glVertexAttribP2ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP2uiv", glVertexAttribP2uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP3ui", glVertexAttribP3ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP3uiv", glVertexAttribP3uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP4ui", glVertexAttribP4ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribP4uiv", glVertexAttribP4uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexAttribParameteriAMD", glVertexAttribParameteriAMD, 0, 0, { GL_AMD_interleaved_elements, GL_EXTENSION_COUNT }}, + { "glVertexAttribPointer", glVertexAttribPointer, 2, 0, { GL_EXTENSION_COUNT }}, + { "glVertexAttribPointerARB", glVertexAttribPointerARB, 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, + { "glVertexAttribPointerNV", glVertexAttribPointerNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1dvNV", glVertexAttribs1dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1fvNV", glVertexAttribs1fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1hvNV", glVertexAttribs1hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs1svNV", glVertexAttribs1svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2dvNV", glVertexAttribs2dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2fvNV", glVertexAttribs2fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2hvNV", glVertexAttribs2hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs2svNV", glVertexAttribs2svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3dvNV", glVertexAttribs3dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3fvNV", glVertexAttribs3fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3hvNV", glVertexAttribs3hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs3svNV", glVertexAttribs3svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4dvNV", glVertexAttribs4dvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4fvNV", glVertexAttribs4fvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4hvNV", glVertexAttribs4hvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4svNV", glVertexAttribs4svNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexAttribs4ubvNV", glVertexAttribs4ubvNV, 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, + { "glVertexBindingDivisor", glVertexBindingDivisor, 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, + { "glVertexBlendARB", glVertexBlendARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glVertexBlendEnvfATI", glVertexBlendEnvfATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexBlendEnviATI", glVertexBlendEnviATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexFormatNV", glVertexFormatNV, 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, + { "glVertexP2ui", glVertexP2ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP2uiv", glVertexP2uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP3ui", glVertexP3ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP3uiv", glVertexP3uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP4ui", glVertexP4ui, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexP4uiv", glVertexP4uiv, 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, + { "glVertexPointerEXT", glVertexPointerEXT, 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, + { "glVertexPointerListIBM", glVertexPointerListIBM, 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, + { "glVertexPointervINTEL", glVertexPointervINTEL, 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, + { "glVertexStream1dATI", glVertexStream1dATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1dvATI", glVertexStream1dvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1fATI", glVertexStream1fATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1fvATI", glVertexStream1fvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1iATI", glVertexStream1iATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1ivATI", glVertexStream1ivATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1sATI", glVertexStream1sATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream1svATI", glVertexStream1svATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2dATI", glVertexStream2dATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2dvATI", glVertexStream2dvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2fATI", glVertexStream2fATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2fvATI", glVertexStream2fvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2iATI", glVertexStream2iATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2ivATI", glVertexStream2ivATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2sATI", glVertexStream2sATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream2svATI", glVertexStream2svATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3dATI", glVertexStream3dATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3dvATI", glVertexStream3dvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3fATI", glVertexStream3fATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3fvATI", glVertexStream3fvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3iATI", glVertexStream3iATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3ivATI", glVertexStream3ivATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3sATI", glVertexStream3sATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream3svATI", glVertexStream3svATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4dATI", glVertexStream4dATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4dvATI", glVertexStream4dvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4fATI", glVertexStream4fATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4fvATI", glVertexStream4fvATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4iATI", glVertexStream4iATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4ivATI", glVertexStream4ivATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4sATI", glVertexStream4sATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexStream4svATI", glVertexStream4svATI, 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, + { "glVertexWeightPointerEXT", glVertexWeightPointerEXT, 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, + { "glVertexWeightfEXT", glVertexWeightfEXT, 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, + { "glVertexWeightfvEXT", glVertexWeightfvEXT, 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, + { "glVertexWeighthNV", glVertexWeighthNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVertexWeighthvNV", glVertexWeighthvNV, 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, + { "glVideoCaptureNV", glVideoCaptureNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glVideoCaptureStreamParameterdvNV", glVideoCaptureStreamParameterdvNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glVideoCaptureStreamParameterfvNV", glVideoCaptureStreamParameterfvNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glVideoCaptureStreamParameterivNV", glVideoCaptureStreamParameterivNV, 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, + { "glViewportArrayv", glViewportArrayv, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glViewportIndexedf", glViewportIndexedf, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glViewportIndexedfv", glViewportIndexedfv, 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, + { "glViewportPositionWScaleNV", glViewportPositionWScaleNV, 0, 0, { GL_NV_clip_space_w_scaling, GL_EXTENSION_COUNT }}, + { "glViewportSwizzleNV", glViewportSwizzleNV, 0, 0, { GL_NV_viewport_swizzle, GL_EXTENSION_COUNT }}, + { "glWaitSemaphoreEXT", glWaitSemaphoreEXT, 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, + { "glWaitSemaphoreui64NVX", glWaitSemaphoreui64NVX, 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, + { "glWaitSync", glWaitSync, 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, + { "glWaitVkSemaphoreNV", glWaitVkSemaphoreNV, 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, + { "glWeightPathsNV", glWeightPathsNV, 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, + { "glWeightPointerARB", glWeightPointerARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightbvARB", glWeightbvARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightdvARB", glWeightdvARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightfvARB", glWeightfvARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightivARB", glWeightivARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightsvARB", glWeightsvARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightubvARB", glWeightubvARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightuivARB", glWeightuivARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWeightusvARB", glWeightusvARB, 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, + { "glWindowPos2d", glWindowPos2d, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2dARB", glWindowPos2dARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2dMESA", glWindowPos2dMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2dv", glWindowPos2dv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2dvARB", glWindowPos2dvARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2dvMESA", glWindowPos2dvMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2f", glWindowPos2f, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2fARB", glWindowPos2fARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2fMESA", glWindowPos2fMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2fv", glWindowPos2fv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2fvARB", glWindowPos2fvARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2fvMESA", glWindowPos2fvMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2i", glWindowPos2i, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2iARB", glWindowPos2iARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2iMESA", glWindowPos2iMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2iv", glWindowPos2iv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2ivARB", glWindowPos2ivARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2ivMESA", glWindowPos2ivMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2s", glWindowPos2s, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2sARB", glWindowPos2sARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2sMESA", glWindowPos2sMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2sv", glWindowPos2sv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos2svARB", glWindowPos2svARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos2svMESA", glWindowPos2svMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3d", glWindowPos3d, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3dARB", glWindowPos3dARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3dMESA", glWindowPos3dMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3dv", glWindowPos3dv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3dvARB", glWindowPos3dvARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3dvMESA", glWindowPos3dvMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3f", glWindowPos3f, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3fARB", glWindowPos3fARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3fMESA", glWindowPos3fMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3fv", glWindowPos3fv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3fvARB", glWindowPos3fvARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3fvMESA", glWindowPos3fvMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3i", glWindowPos3i, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3iARB", glWindowPos3iARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3iMESA", glWindowPos3iMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3iv", glWindowPos3iv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3ivARB", glWindowPos3ivARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3ivMESA", glWindowPos3ivMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3s", glWindowPos3s, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3sARB", glWindowPos3sARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3sMESA", glWindowPos3sMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3sv", glWindowPos3sv, 1, 4, { GL_EXTENSION_COUNT }}, + { "glWindowPos3svARB", glWindowPos3svARB, 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos3svMESA", glWindowPos3svMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4dMESA", glWindowPos4dMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4dvMESA", glWindowPos4dvMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4fMESA", glWindowPos4fMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4fvMESA", glWindowPos4fvMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4iMESA", glWindowPos4iMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4ivMESA", glWindowPos4ivMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4sMESA", glWindowPos4sMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowPos4svMESA", glWindowPos4svMESA, 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, + { "glWindowRectanglesEXT", glWindowRectanglesEXT, 0, 0, { GL_EXT_window_rectangles, GL_EXTENSION_COUNT }}, + { "glWriteMaskEXT", glWriteMaskEXT, 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, + { "wglAllocateMemoryNV", wglAllocateMemoryNV, 0, 0, { WGL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "wglBindTexImageARB", wglBindTexImageARB, 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, + { "wglChoosePixelFormatARB", wglChoosePixelFormatARB, 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, + { "wglCreateContextAttribsARB", wglCreateContextAttribsARB, 0, 0, { WGL_ARB_create_context, GL_EXTENSION_COUNT }}, + { "wglCreatePbufferARB", wglCreatePbufferARB, 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglDestroyPbufferARB", wglDestroyPbufferARB, 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglFreeMemoryNV", wglFreeMemoryNV, 0, 0, { WGL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, + { "wglGetCurrentReadDCARB", wglGetCurrentReadDCARB, 0, 0, { WGL_ARB_make_current_read, GL_EXTENSION_COUNT }}, + { "wglGetExtensionsStringARB", wglGetExtensionsStringARB, 0, 0, { WGL_ARB_extensions_string, GL_EXTENSION_COUNT }}, + { "wglGetExtensionsStringEXT", wglGetExtensionsStringEXT, 0, 0, { WGL_EXT_extensions_string, GL_EXTENSION_COUNT }}, + { "wglGetPbufferDCARB", wglGetPbufferDCARB, 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglGetPixelFormatAttribfvARB", wglGetPixelFormatAttribfvARB, 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, + { "wglGetPixelFormatAttribivARB", wglGetPixelFormatAttribivARB, 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, + { "wglGetSwapIntervalEXT", wglGetSwapIntervalEXT, 0, 0, { WGL_EXT_swap_control, GL_EXTENSION_COUNT }}, + { "wglMakeContextCurrentARB", wglMakeContextCurrentARB, 0, 0, { WGL_ARB_make_current_read, GL_EXTENSION_COUNT }}, + { "wglQueryCurrentRendererIntegerWINE", wglQueryCurrentRendererIntegerWINE, 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglQueryCurrentRendererStringWINE", wglQueryCurrentRendererStringWINE, 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglQueryPbufferARB", wglQueryPbufferARB, 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglQueryRendererIntegerWINE", wglQueryRendererIntegerWINE, 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglQueryRendererStringWINE", wglQueryRendererStringWINE, 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, + { "wglReleasePbufferDCARB", wglReleasePbufferDCARB, 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, + { "wglReleaseTexImageARB", wglReleaseTexImageARB, 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, + { "wglSetPbufferAttribARB", wglSetPbufferAttribARB, 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, + { "wglSetPixelFormatWINE", wglSetPixelFormatWINE, 0, 0, { WGL_WINE_pixel_format_passthrough, GL_EXTENSION_COUNT }}, + { "wglSwapIntervalEXT", wglSwapIntervalEXT, 0, 0, { WGL_EXT_swap_control, GL_EXTENSION_COUNT }}, +}; + +static int registry_entry_cmp( const void *a, const void *b ) +{ + const struct registry_entry *entry = b; + return strcmp( a, entry->name ); +} + +struct registry_entry *get_function_entry( const char *name ) +{ + return bsearch( name, extension_registry, ARRAYSIZE(extension_registry), sizeof(extension_registry[0]), registry_entry_cmp ); +} diff --git a/dlls/opengl32/unix_private.h b/dlls/opengl32/unix_private.h index 36018c3a94f..8f05f6218e7 100644 --- a/dlls/opengl32/unix_private.h +++ b/dlls/opengl32/unix_private.h @@ -33,17 +33,6 @@ #include "wine/opengl_driver.h" #include "unix_thunks.h" -struct registry_entry -{ - const char *name; /* name of the extension */ - size_t offset; /* offset in the opengl_funcs table */ - UINT16 major; - UINT16 minor; - enum opengl_extension extensions[4]; -}; - -extern const struct registry_entry extension_registry[]; - extern struct opengl_funcs null_opengl_funcs; static inline const struct opengl_funcs *get_dc_funcs( HDC hdc ) @@ -111,6 +100,5 @@ extern GLuint get_default_fbo( TEB *teb, GLenum target ); extern void push_default_fbo( TEB *teb ); extern void pop_default_fbo( TEB *teb ); extern void resolve_default_fbo( TEB *teb, BOOL read ); -extern struct registry_entry *get_function_entry( const char *name ); #endif /* __WINE_OPENGL32_UNIX_PRIVATE_H */ diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index e5c727b892d..52ab27e590a 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -58,13 +58,6 @@ static NTSTATUS wgl_wglGetPixelFormat( void *args ) return STATUS_SUCCESS; } -static NTSTATUS wgl_wglGetProcAddress( void *args ) -{ - struct wglGetProcAddress_params *params = args; - params->ret = wrap_wglGetProcAddress( params->teb, params->lpszProc ); - return STATUS_SUCCESS; -} - static NTSTATUS wgl_wglMakeCurrent( void *args ) { struct wglMakeCurrent_params *params = args; @@ -30550,7 +30543,6 @@ const unixlib_entry_t __wine_unix_call_funcs[] = wgl_wglCreateContext, wgl_wglDeleteContext, wgl_wglGetPixelFormat, - wgl_wglGetProcAddress, wgl_wglMakeCurrent, wgl_wglSetPixelFormat, wgl_wglShareLists, @@ -33717,19 +33709,6 @@ static NTSTATUS wow64_wgl_wglGetPixelFormat( void *args ) return STATUS_SUCCESS; } -static NTSTATUS wow64_wgl_wglGetProcAddress( void *args ) -{ - struct - { - PTR32 teb; - PTR32 lpszProc; - PTR32 ret; - } *params = args; - TEB *teb = get_teb64( params->teb ); - params->ret = (UINT_PTR)wrap_wglGetProcAddress( teb, ULongToPtr(params->lpszProc) ); - return STATUS_SUCCESS; -} - static NTSTATUS wow64_wgl_wglMakeCurrent( void *args ) { struct @@ -86950,7 +86929,6 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_wgl_wglCreateContext, wow64_wgl_wglDeleteContext, wow64_wgl_wglGetPixelFormat, - wow64_wgl_wglGetProcAddress, wow64_wgl_wglMakeCurrent, wow64_wgl_wglSetPixelFormat, wow64_wgl_wglShareLists, @@ -90073,11 +90051,6 @@ static int null_wglGetPixelFormat( HDC hdc ) RtlSetLastWin32Error( ERROR_INVALID_PIXEL_FORMAT ); return 0; } -static PROC null_wglGetProcAddress( LPCSTR lpszProc ) -{ - WARN( "unsupported\n" ); - return 0; -} static BOOL null_wglMakeCurrent( HDC hDc, HGLRC newContext ) { WARN( "unsupported\n" ); @@ -91457,7 +91430,6 @@ struct opengl_funcs null_opengl_funcs = .p_wglCreateContext = null_wglCreateContext, .p_wglDeleteContext = null_wglDeleteContext, .p_wglGetPixelFormat = null_wglGetPixelFormat, - .p_wglGetProcAddress = null_wglGetProcAddress, .p_wglMakeCurrent = null_wglMakeCurrent, .p_wglSetPixelFormat = null_wglSetPixelFormat, .p_wglShareLists = null_wglShareLists, @@ -91799,2775 +91771,3 @@ struct opengl_funcs null_opengl_funcs = .p_glVertexPointer = null_glVertexPointer, .p_glViewport = null_glViewport, }; -const struct registry_entry extension_registry[] = -{ - { "glAccumxOES", offsetof(struct opengl_funcs, p_glAccumxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glAcquireKeyedMutexWin32EXT", offsetof(struct opengl_funcs, p_glAcquireKeyedMutexWin32EXT), 0, 0, { GL_EXT_win32_keyed_mutex, GL_EXTENSION_COUNT }}, - { "glActiveProgramEXT", offsetof(struct opengl_funcs, p_glActiveProgramEXT), 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glActiveShaderProgram", offsetof(struct opengl_funcs, p_glActiveShaderProgram), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glActiveStencilFaceEXT", offsetof(struct opengl_funcs, p_glActiveStencilFaceEXT), 0, 0, { GL_EXT_stencil_two_side, GL_EXTENSION_COUNT }}, - { "glActiveTexture", offsetof(struct opengl_funcs, p_glActiveTexture), 1, 3, { GL_EXTENSION_COUNT }}, - { "glActiveTextureARB", offsetof(struct opengl_funcs, p_glActiveTextureARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glActiveVaryingNV", offsetof(struct opengl_funcs, p_glActiveVaryingNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glAlphaFragmentOp1ATI", offsetof(struct opengl_funcs, p_glAlphaFragmentOp1ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glAlphaFragmentOp2ATI", offsetof(struct opengl_funcs, p_glAlphaFragmentOp2ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glAlphaFragmentOp3ATI", offsetof(struct opengl_funcs, p_glAlphaFragmentOp3ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glAlphaFuncx", offsetof(struct opengl_funcs, p_glAlphaFuncx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glAlphaFuncxOES", offsetof(struct opengl_funcs, p_glAlphaFuncxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glAlphaToCoverageDitherControlNV", offsetof(struct opengl_funcs, p_glAlphaToCoverageDitherControlNV), 0, 0, { GL_NV_alpha_to_coverage_dither_control, GL_EXTENSION_COUNT }}, - { "glApplyFramebufferAttachmentCMAAINTEL", offsetof(struct opengl_funcs, p_glApplyFramebufferAttachmentCMAAINTEL), 0, 0, { GL_INTEL_framebuffer_CMAA, GL_EXTENSION_COUNT }}, - { "glApplyTextureEXT", offsetof(struct opengl_funcs, p_glApplyTextureEXT), 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, - { "glAreProgramsResidentNV", offsetof(struct opengl_funcs, p_glAreProgramsResidentNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glAreTexturesResidentEXT", offsetof(struct opengl_funcs, p_glAreTexturesResidentEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, - { "glArrayElementEXT", offsetof(struct opengl_funcs, p_glArrayElementEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glArrayObjectATI", offsetof(struct opengl_funcs, p_glArrayObjectATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glAsyncCopyBufferSubDataNVX", offsetof(struct opengl_funcs, p_glAsyncCopyBufferSubDataNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, - { "glAsyncCopyImageSubDataNVX", offsetof(struct opengl_funcs, p_glAsyncCopyImageSubDataNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, - { "glAsyncMarkerSGIX", offsetof(struct opengl_funcs, p_glAsyncMarkerSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, - { "glAttachObjectARB", offsetof(struct opengl_funcs, p_glAttachObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glAttachShader", offsetof(struct opengl_funcs, p_glAttachShader), 2, 0, { GL_EXTENSION_COUNT }}, - { "glBeginConditionalRender", offsetof(struct opengl_funcs, p_glBeginConditionalRender), 3, 0, { GL_EXTENSION_COUNT }}, - { "glBeginConditionalRenderNV", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNV), 0, 0, { GL_NV_conditional_render, GL_EXTENSION_COUNT }}, - { "glBeginConditionalRenderNVX", offsetof(struct opengl_funcs, p_glBeginConditionalRenderNVX), 0, 0, { GL_NVX_conditional_render, GL_EXTENSION_COUNT }}, - { "glBeginFragmentShaderATI", offsetof(struct opengl_funcs, p_glBeginFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glBeginOcclusionQueryNV", offsetof(struct opengl_funcs, p_glBeginOcclusionQueryNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, - { "glBeginPerfMonitorAMD", offsetof(struct opengl_funcs, p_glBeginPerfMonitorAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glBeginPerfQueryINTEL", offsetof(struct opengl_funcs, p_glBeginPerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glBeginQuery", offsetof(struct opengl_funcs, p_glBeginQuery), 1, 5, { GL_EXTENSION_COUNT }}, - { "glBeginQueryARB", offsetof(struct opengl_funcs, p_glBeginQueryARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glBeginQueryIndexed", offsetof(struct opengl_funcs, p_glBeginQueryIndexed), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, - { "glBeginTransformFeedback", offsetof(struct opengl_funcs, p_glBeginTransformFeedback), 3, 0, { GL_EXTENSION_COUNT }}, - { "glBeginTransformFeedbackEXT", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBeginTransformFeedbackNV", offsetof(struct opengl_funcs, p_glBeginTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBeginVertexShaderEXT", offsetof(struct opengl_funcs, p_glBeginVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBeginVideoCaptureNV", offsetof(struct opengl_funcs, p_glBeginVideoCaptureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glBindAttribLocation", offsetof(struct opengl_funcs, p_glBindAttribLocation), 2, 0, { GL_EXTENSION_COUNT }}, - { "glBindAttribLocationARB", offsetof(struct opengl_funcs, p_glBindAttribLocationARB), 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBindBuffer", offsetof(struct opengl_funcs, p_glBindBuffer), 1, 5, { GL_EXTENSION_COUNT }}, - { "glBindBufferARB", offsetof(struct opengl_funcs, p_glBindBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glBindBufferBase", offsetof(struct opengl_funcs, p_glBindBufferBase), 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glBindBufferBaseEXT", offsetof(struct opengl_funcs, p_glBindBufferBaseEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBindBufferBaseNV", offsetof(struct opengl_funcs, p_glBindBufferBaseNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBindBufferOffsetEXT", offsetof(struct opengl_funcs, p_glBindBufferOffsetEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBindBufferOffsetNV", offsetof(struct opengl_funcs, p_glBindBufferOffsetNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBindBufferRange", offsetof(struct opengl_funcs, p_glBindBufferRange), 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glBindBufferRangeEXT", offsetof(struct opengl_funcs, p_glBindBufferRangeEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBindBufferRangeNV", offsetof(struct opengl_funcs, p_glBindBufferRangeNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glBindBuffersBase", offsetof(struct opengl_funcs, p_glBindBuffersBase), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, - { "glBindBuffersRange", offsetof(struct opengl_funcs, p_glBindBuffersRange), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, - { "glBindFragDataLocation", offsetof(struct opengl_funcs, p_glBindFragDataLocation), 3, 0, { GL_EXTENSION_COUNT }}, - { "glBindFragDataLocationEXT", offsetof(struct opengl_funcs, p_glBindFragDataLocationEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glBindFragDataLocationIndexed", offsetof(struct opengl_funcs, p_glBindFragDataLocationIndexed), 3, 3, { GL_ARB_blend_func_extended, GL_EXTENSION_COUNT }}, - { "glBindFragmentShaderATI", offsetof(struct opengl_funcs, p_glBindFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glBindFramebuffer", offsetof(struct opengl_funcs, p_glBindFramebuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glBindFramebufferEXT", offsetof(struct opengl_funcs, p_glBindFramebufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glBindImageTexture", offsetof(struct opengl_funcs, p_glBindImageTexture), 4, 2, { GL_ARB_shader_image_load_store, GL_EXTENSION_COUNT }}, - { "glBindImageTextureEXT", offsetof(struct opengl_funcs, p_glBindImageTextureEXT), 0, 0, { GL_EXT_shader_image_load_store, GL_EXTENSION_COUNT }}, - { "glBindImageTextures", offsetof(struct opengl_funcs, p_glBindImageTextures), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, - { "glBindLightParameterEXT", offsetof(struct opengl_funcs, p_glBindLightParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBindMaterialParameterEXT", offsetof(struct opengl_funcs, p_glBindMaterialParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBindMultiTextureEXT", offsetof(struct opengl_funcs, p_glBindMultiTextureEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glBindParameterEXT", offsetof(struct opengl_funcs, p_glBindParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBindProgramARB", offsetof(struct opengl_funcs, p_glBindProgramARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glBindProgramNV", offsetof(struct opengl_funcs, p_glBindProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glBindProgramPipeline", offsetof(struct opengl_funcs, p_glBindProgramPipeline), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glBindRenderbuffer", offsetof(struct opengl_funcs, p_glBindRenderbuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glBindRenderbufferEXT", offsetof(struct opengl_funcs, p_glBindRenderbufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glBindSampler", offsetof(struct opengl_funcs, p_glBindSampler), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glBindSamplers", offsetof(struct opengl_funcs, p_glBindSamplers), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, - { "glBindShadingRateImageNV", offsetof(struct opengl_funcs, p_glBindShadingRateImageNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, - { "glBindTexGenParameterEXT", offsetof(struct opengl_funcs, p_glBindTexGenParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBindTextureEXT", offsetof(struct opengl_funcs, p_glBindTextureEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, - { "glBindTextureUnit", offsetof(struct opengl_funcs, p_glBindTextureUnit), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glBindTextureUnitParameterEXT", offsetof(struct opengl_funcs, p_glBindTextureUnitParameterEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBindTextures", offsetof(struct opengl_funcs, p_glBindTextures), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, - { "glBindTransformFeedback", offsetof(struct opengl_funcs, p_glBindTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glBindTransformFeedbackNV", offsetof(struct opengl_funcs, p_glBindTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glBindVertexArray", offsetof(struct opengl_funcs, p_glBindVertexArray), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glBindVertexArrayAPPLE", offsetof(struct opengl_funcs, p_glBindVertexArrayAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glBindVertexBuffer", offsetof(struct opengl_funcs, p_glBindVertexBuffer), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, - { "glBindVertexBuffers", offsetof(struct opengl_funcs, p_glBindVertexBuffers), 4, 4, { GL_ARB_multi_bind, GL_EXTENSION_COUNT }}, - { "glBindVertexShaderEXT", offsetof(struct opengl_funcs, p_glBindVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glBindVideoCaptureStreamBufferNV", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamBufferNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glBindVideoCaptureStreamTextureNV", offsetof(struct opengl_funcs, p_glBindVideoCaptureStreamTextureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glBinormal3bEXT", offsetof(struct opengl_funcs, p_glBinormal3bEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3bvEXT", offsetof(struct opengl_funcs, p_glBinormal3bvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3dEXT", offsetof(struct opengl_funcs, p_glBinormal3dEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3dvEXT", offsetof(struct opengl_funcs, p_glBinormal3dvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3fEXT", offsetof(struct opengl_funcs, p_glBinormal3fEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3fvEXT", offsetof(struct opengl_funcs, p_glBinormal3fvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3iEXT", offsetof(struct opengl_funcs, p_glBinormal3iEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3ivEXT", offsetof(struct opengl_funcs, p_glBinormal3ivEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3sEXT", offsetof(struct opengl_funcs, p_glBinormal3sEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormal3svEXT", offsetof(struct opengl_funcs, p_glBinormal3svEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBinormalPointerEXT", offsetof(struct opengl_funcs, p_glBinormalPointerEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glBitmapxOES", offsetof(struct opengl_funcs, p_glBitmapxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glBlendBarrier", offsetof(struct opengl_funcs, p_glBlendBarrier), 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, - { "glBlendBarrierKHR", offsetof(struct opengl_funcs, p_glBlendBarrierKHR), 0, 0, { GL_KHR_blend_equation_advanced, GL_EXTENSION_COUNT }}, - { "glBlendBarrierNV", offsetof(struct opengl_funcs, p_glBlendBarrierNV), 0, 0, { GL_NV_blend_equation_advanced, GL_EXTENSION_COUNT }}, - { "glBlendColor", offsetof(struct opengl_funcs, p_glBlendColor), 1, 4, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glBlendColorEXT", offsetof(struct opengl_funcs, p_glBlendColorEXT), 0, 0, { GL_EXT_blend_color, GL_EXTENSION_COUNT }}, - { "glBlendColorxOES", offsetof(struct opengl_funcs, p_glBlendColorxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glBlendEquation", offsetof(struct opengl_funcs, p_glBlendEquation), 1, 4, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glBlendEquationEXT", offsetof(struct opengl_funcs, p_glBlendEquationEXT), 0, 0, { GL_EXT_blend_minmax, GL_EXTENSION_COUNT }}, - { "glBlendEquationIndexedAMD", offsetof(struct opengl_funcs, p_glBlendEquationIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendEquationSeparate", offsetof(struct opengl_funcs, p_glBlendEquationSeparate), 2, 0, { GL_EXTENSION_COUNT }}, - { "glBlendEquationSeparateEXT", offsetof(struct opengl_funcs, p_glBlendEquationSeparateEXT), 0, 0, { GL_EXT_blend_equation_separate, GL_ATI_blend_equation_separate, GL_EXTENSION_COUNT }}, - { "glBlendEquationSeparateIndexedAMD", offsetof(struct opengl_funcs, p_glBlendEquationSeparateIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendEquationSeparatei", offsetof(struct opengl_funcs, p_glBlendEquationSeparatei), 4, 0, { GL_EXTENSION_COUNT }}, - { "glBlendEquationSeparateiARB", offsetof(struct opengl_funcs, p_glBlendEquationSeparateiARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendEquationi", offsetof(struct opengl_funcs, p_glBlendEquationi), 4, 0, { GL_EXTENSION_COUNT }}, - { "glBlendEquationiARB", offsetof(struct opengl_funcs, p_glBlendEquationiARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendFuncIndexedAMD", offsetof(struct opengl_funcs, p_glBlendFuncIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendFuncSeparate", offsetof(struct opengl_funcs, p_glBlendFuncSeparate), 1, 4, { GL_EXTENSION_COUNT }}, - { "glBlendFuncSeparateEXT", offsetof(struct opengl_funcs, p_glBlendFuncSeparateEXT), 0, 0, { GL_EXT_blend_func_separate, GL_EXTENSION_COUNT }}, - { "glBlendFuncSeparateINGR", offsetof(struct opengl_funcs, p_glBlendFuncSeparateINGR), 0, 0, { GL_INGR_blend_func_separate, GL_EXTENSION_COUNT }}, - { "glBlendFuncSeparateIndexedAMD", offsetof(struct opengl_funcs, p_glBlendFuncSeparateIndexedAMD), 0, 0, { GL_AMD_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendFuncSeparatei", offsetof(struct opengl_funcs, p_glBlendFuncSeparatei), 4, 0, { GL_EXTENSION_COUNT }}, - { "glBlendFuncSeparateiARB", offsetof(struct opengl_funcs, p_glBlendFuncSeparateiARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendFunci", offsetof(struct opengl_funcs, p_glBlendFunci), 4, 0, { GL_EXTENSION_COUNT }}, - { "glBlendFunciARB", offsetof(struct opengl_funcs, p_glBlendFunciARB), 0, 0, { GL_ARB_draw_buffers_blend, GL_EXTENSION_COUNT }}, - { "glBlendParameteriNV", offsetof(struct opengl_funcs, p_glBlendParameteriNV), 0, 0, { GL_NV_blend_equation_advanced, GL_EXTENSION_COUNT }}, - { "glBlitFramebuffer", offsetof(struct opengl_funcs, p_glBlitFramebuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glBlitFramebufferEXT", offsetof(struct opengl_funcs, p_glBlitFramebufferEXT), 0, 0, { GL_EXT_framebuffer_blit, GL_EXTENSION_COUNT }}, - { "glBlitFramebufferLayerEXT", offsetof(struct opengl_funcs, p_glBlitFramebufferLayerEXT), 0, 0, { GL_EXT_framebuffer_blit_layers, GL_EXTENSION_COUNT }}, - { "glBlitFramebufferLayersEXT", offsetof(struct opengl_funcs, p_glBlitFramebufferLayersEXT), 0, 0, { GL_EXT_framebuffer_blit_layers, GL_EXTENSION_COUNT }}, - { "glBlitNamedFramebuffer", offsetof(struct opengl_funcs, p_glBlitNamedFramebuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glBufferAddressRangeNV", offsetof(struct opengl_funcs, p_glBufferAddressRangeNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glBufferAttachMemoryNV", offsetof(struct opengl_funcs, p_glBufferAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, - { "glBufferData", offsetof(struct opengl_funcs, p_glBufferData), 1, 5, { GL_EXTENSION_COUNT }}, - { "glBufferDataARB", offsetof(struct opengl_funcs, p_glBufferDataARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glBufferPageCommitmentARB", offsetof(struct opengl_funcs, p_glBufferPageCommitmentARB), 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, - { "glBufferPageCommitmentMemNV", offsetof(struct opengl_funcs, p_glBufferPageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, - { "glBufferParameteriAPPLE", offsetof(struct opengl_funcs, p_glBufferParameteriAPPLE), 0, 0, { GL_APPLE_flush_buffer_range, GL_EXTENSION_COUNT }}, - { "glBufferRegionEnabled", offsetof(struct opengl_funcs, p_glBufferRegionEnabled), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, - { "glBufferStorage", offsetof(struct opengl_funcs, p_glBufferStorage), 4, 4, { GL_ARB_buffer_storage, GL_EXTENSION_COUNT }}, - { "glBufferStorageExternalEXT", offsetof(struct opengl_funcs, p_glBufferStorageExternalEXT), 0, 0, { GL_EXT_external_buffer, GL_EXTENSION_COUNT }}, - { "glBufferStorageMemEXT", offsetof(struct opengl_funcs, p_glBufferStorageMemEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glBufferSubData", offsetof(struct opengl_funcs, p_glBufferSubData), 1, 5, { GL_EXTENSION_COUNT }}, - { "glBufferSubDataARB", offsetof(struct opengl_funcs, p_glBufferSubDataARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glCallCommandListNV", offsetof(struct opengl_funcs, p_glCallCommandListNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glCheckFramebufferStatus", offsetof(struct opengl_funcs, p_glCheckFramebufferStatus), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glCheckFramebufferStatusEXT", offsetof(struct opengl_funcs, p_glCheckFramebufferStatusEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glCheckNamedFramebufferStatus", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatus), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCheckNamedFramebufferStatusEXT", offsetof(struct opengl_funcs, p_glCheckNamedFramebufferStatusEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClampColor", offsetof(struct opengl_funcs, p_glClampColor), 3, 0, { GL_EXTENSION_COUNT }}, - { "glClampColorARB", offsetof(struct opengl_funcs, p_glClampColorARB), 0, 0, { GL_ARB_color_buffer_float, GL_EXTENSION_COUNT }}, - { "glClearAccumxOES", offsetof(struct opengl_funcs, p_glClearAccumxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glClearBufferData", offsetof(struct opengl_funcs, p_glClearBufferData), 4, 3, { GL_ARB_clear_buffer_object, GL_EXTENSION_COUNT }}, - { "glClearBufferSubData", offsetof(struct opengl_funcs, p_glClearBufferSubData), 4, 3, { GL_ARB_clear_buffer_object, GL_EXTENSION_COUNT }}, - { "glClearBufferfi", offsetof(struct opengl_funcs, p_glClearBufferfi), 3, 0, { GL_EXTENSION_COUNT }}, - { "glClearBufferfv", offsetof(struct opengl_funcs, p_glClearBufferfv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glClearBufferiv", offsetof(struct opengl_funcs, p_glClearBufferiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glClearBufferuiv", offsetof(struct opengl_funcs, p_glClearBufferuiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glClearColorIiEXT", offsetof(struct opengl_funcs, p_glClearColorIiEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, - { "glClearColorIuiEXT", offsetof(struct opengl_funcs, p_glClearColorIuiEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, - { "glClearColorx", offsetof(struct opengl_funcs, p_glClearColorx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glClearColorxOES", offsetof(struct opengl_funcs, p_glClearColorxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glClearDepthdNV", offsetof(struct opengl_funcs, p_glClearDepthdNV), 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, - { "glClearDepthf", offsetof(struct opengl_funcs, p_glClearDepthf), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, - { "glClearDepthfOES", offsetof(struct opengl_funcs, p_glClearDepthfOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, - { "glClearDepthx", offsetof(struct opengl_funcs, p_glClearDepthx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glClearDepthxOES", offsetof(struct opengl_funcs, p_glClearDepthxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glClearNamedBufferData", offsetof(struct opengl_funcs, p_glClearNamedBufferData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearNamedBufferDataEXT", offsetof(struct opengl_funcs, p_glClearNamedBufferDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearNamedBufferSubData", offsetof(struct opengl_funcs, p_glClearNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearNamedBufferSubDataEXT", offsetof(struct opengl_funcs, p_glClearNamedBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearNamedFramebufferfi", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfi), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearNamedFramebufferfv", offsetof(struct opengl_funcs, p_glClearNamedFramebufferfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearNamedFramebufferiv", offsetof(struct opengl_funcs, p_glClearNamedFramebufferiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearNamedFramebufferuiv", offsetof(struct opengl_funcs, p_glClearNamedFramebufferuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClearTexImage", offsetof(struct opengl_funcs, p_glClearTexImage), 4, 4, { GL_ARB_clear_texture, GL_EXTENSION_COUNT }}, - { "glClearTexSubImage", offsetof(struct opengl_funcs, p_glClearTexSubImage), 4, 4, { GL_ARB_clear_texture, GL_EXTENSION_COUNT }}, - { "glClientActiveTexture", offsetof(struct opengl_funcs, p_glClientActiveTexture), 1, 3, { GL_EXTENSION_COUNT }}, - { "glClientActiveTextureARB", offsetof(struct opengl_funcs, p_glClientActiveTextureARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glClientActiveVertexStreamATI", offsetof(struct opengl_funcs, p_glClientActiveVertexStreamATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glClientAttribDefaultEXT", offsetof(struct opengl_funcs, p_glClientAttribDefaultEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glClientWaitSemaphoreui64NVX", offsetof(struct opengl_funcs, p_glClientWaitSemaphoreui64NVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, - { "glClientWaitSync", offsetof(struct opengl_funcs, p_glClientWaitSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, - { "glClipControl", offsetof(struct opengl_funcs, p_glClipControl), 4, 5, { GL_ARB_clip_control, GL_EXTENSION_COUNT }}, - { "glClipPlanef", offsetof(struct opengl_funcs, p_glClipPlanef), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glClipPlanefOES", offsetof(struct opengl_funcs, p_glClipPlanefOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, - { "glClipPlanex", offsetof(struct opengl_funcs, p_glClipPlanex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glClipPlanexOES", offsetof(struct opengl_funcs, p_glClipPlanexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glColor3fVertex3fSUN", offsetof(struct opengl_funcs, p_glColor3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glColor3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor3hNV", offsetof(struct opengl_funcs, p_glColor3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glColor3hvNV", offsetof(struct opengl_funcs, p_glColor3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glColor3xOES", offsetof(struct opengl_funcs, p_glColor3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glColor3xvOES", offsetof(struct opengl_funcs, p_glColor3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor4hNV", offsetof(struct opengl_funcs, p_glColor4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glColor4hvNV", offsetof(struct opengl_funcs, p_glColor4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glColor4ubVertex2fSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex2fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor4ubVertex2fvSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex2fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor4ubVertex3fSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor4ubVertex3fvSUN", offsetof(struct opengl_funcs, p_glColor4ubVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glColor4x", offsetof(struct opengl_funcs, p_glColor4x), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glColor4xOES", offsetof(struct opengl_funcs, p_glColor4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glColor4xvOES", offsetof(struct opengl_funcs, p_glColor4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glColorFormatNV", offsetof(struct opengl_funcs, p_glColorFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glColorFragmentOp1ATI", offsetof(struct opengl_funcs, p_glColorFragmentOp1ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glColorFragmentOp2ATI", offsetof(struct opengl_funcs, p_glColorFragmentOp2ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glColorFragmentOp3ATI", offsetof(struct opengl_funcs, p_glColorFragmentOp3ATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glColorMaskIndexedEXT", offsetof(struct opengl_funcs, p_glColorMaskIndexedEXT), 0, 0, { GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, - { "glColorMaski", offsetof(struct opengl_funcs, p_glColorMaski), 3, 0, { GL_EXTENSION_COUNT }}, - { "glColorP3ui", offsetof(struct opengl_funcs, p_glColorP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glColorP3uiv", offsetof(struct opengl_funcs, p_glColorP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glColorP4ui", offsetof(struct opengl_funcs, p_glColorP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glColorP4uiv", offsetof(struct opengl_funcs, p_glColorP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glColorPointerEXT", offsetof(struct opengl_funcs, p_glColorPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glColorPointerListIBM", offsetof(struct opengl_funcs, p_glColorPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glColorPointervINTEL", offsetof(struct opengl_funcs, p_glColorPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, - { "glColorSubTable", offsetof(struct opengl_funcs, p_glColorSubTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glColorSubTableEXT", offsetof(struct opengl_funcs, p_glColorSubTableEXT), 0, 0, { GL_EXT_color_subtable, GL_EXTENSION_COUNT }}, - { "glColorTable", offsetof(struct opengl_funcs, p_glColorTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glColorTableEXT", offsetof(struct opengl_funcs, p_glColorTableEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, - { "glColorTableParameterfv", offsetof(struct opengl_funcs, p_glColorTableParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glColorTableParameterfvSGI", offsetof(struct opengl_funcs, p_glColorTableParameterfvSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, - { "glColorTableParameteriv", offsetof(struct opengl_funcs, p_glColorTableParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glColorTableParameterivSGI", offsetof(struct opengl_funcs, p_glColorTableParameterivSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, - { "glColorTableSGI", offsetof(struct opengl_funcs, p_glColorTableSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, - { "glCombinerInputNV", offsetof(struct opengl_funcs, p_glCombinerInputNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glCombinerOutputNV", offsetof(struct opengl_funcs, p_glCombinerOutputNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glCombinerParameterfNV", offsetof(struct opengl_funcs, p_glCombinerParameterfNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glCombinerParameterfvNV", offsetof(struct opengl_funcs, p_glCombinerParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glCombinerParameteriNV", offsetof(struct opengl_funcs, p_glCombinerParameteriNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glCombinerParameterivNV", offsetof(struct opengl_funcs, p_glCombinerParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glCombinerStageParameterfvNV", offsetof(struct opengl_funcs, p_glCombinerStageParameterfvNV), 0, 0, { GL_NV_register_combiners2, GL_EXTENSION_COUNT }}, - { "glCommandListSegmentsNV", offsetof(struct opengl_funcs, p_glCommandListSegmentsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glCompileCommandListNV", offsetof(struct opengl_funcs, p_glCompileCommandListNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glCompileShader", offsetof(struct opengl_funcs, p_glCompileShader), 2, 0, { GL_EXTENSION_COUNT }}, - { "glCompileShaderARB", offsetof(struct opengl_funcs, p_glCompileShaderARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glCompileShaderIncludeARB", offsetof(struct opengl_funcs, p_glCompileShaderIncludeARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, - { "glCompressedMultiTexImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedMultiTexImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedMultiTexImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedMultiTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedMultiTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedMultiTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedMultiTexSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTexImage1D", offsetof(struct opengl_funcs, p_glCompressedTexImage1D), 1, 3, { GL_EXTENSION_COUNT }}, - { "glCompressedTexImage1DARB", offsetof(struct opengl_funcs, p_glCompressedTexImage1DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, - { "glCompressedTexImage2D", offsetof(struct opengl_funcs, p_glCompressedTexImage2D), 1, 3, { GL_EXTENSION_COUNT }}, - { "glCompressedTexImage2DARB", offsetof(struct opengl_funcs, p_glCompressedTexImage2DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, - { "glCompressedTexImage3D", offsetof(struct opengl_funcs, p_glCompressedTexImage3D), 1, 3, { GL_EXTENSION_COUNT }}, - { "glCompressedTexImage3DARB", offsetof(struct opengl_funcs, p_glCompressedTexImage3DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, - { "glCompressedTexSubImage1D", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1D), 1, 3, { GL_EXTENSION_COUNT }}, - { "glCompressedTexSubImage1DARB", offsetof(struct opengl_funcs, p_glCompressedTexSubImage1DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, - { "glCompressedTexSubImage2D", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2D), 1, 3, { GL_EXTENSION_COUNT }}, - { "glCompressedTexSubImage2DARB", offsetof(struct opengl_funcs, p_glCompressedTexSubImage2DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, - { "glCompressedTexSubImage3D", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3D), 1, 3, { GL_EXTENSION_COUNT }}, - { "glCompressedTexSubImage3DARB", offsetof(struct opengl_funcs, p_glCompressedTexSubImage3DARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, - { "glCompressedTextureImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureSubImage1D", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureSubImage1DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureSubImage2D", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureSubImage2DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureSubImage3D", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCompressedTextureSubImage3DEXT", offsetof(struct opengl_funcs, p_glCompressedTextureSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glConservativeRasterParameterfNV", offsetof(struct opengl_funcs, p_glConservativeRasterParameterfNV), 0, 0, { GL_NV_conservative_raster_dilate, GL_EXTENSION_COUNT }}, - { "glConservativeRasterParameteriNV", offsetof(struct opengl_funcs, p_glConservativeRasterParameteriNV), 0, 0, { GL_NV_conservative_raster_pre_snap_triangles, GL_EXTENSION_COUNT }}, - { "glConvolutionFilter1D", offsetof(struct opengl_funcs, p_glConvolutionFilter1D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glConvolutionFilter1DEXT", offsetof(struct opengl_funcs, p_glConvolutionFilter1DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glConvolutionFilter2D", offsetof(struct opengl_funcs, p_glConvolutionFilter2D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glConvolutionFilter2DEXT", offsetof(struct opengl_funcs, p_glConvolutionFilter2DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glConvolutionParameterf", offsetof(struct opengl_funcs, p_glConvolutionParameterf), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glConvolutionParameterfEXT", offsetof(struct opengl_funcs, p_glConvolutionParameterfEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glConvolutionParameterfv", offsetof(struct opengl_funcs, p_glConvolutionParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glConvolutionParameterfvEXT", offsetof(struct opengl_funcs, p_glConvolutionParameterfvEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glConvolutionParameteri", offsetof(struct opengl_funcs, p_glConvolutionParameteri), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glConvolutionParameteriEXT", offsetof(struct opengl_funcs, p_glConvolutionParameteriEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glConvolutionParameteriv", offsetof(struct opengl_funcs, p_glConvolutionParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glConvolutionParameterivEXT", offsetof(struct opengl_funcs, p_glConvolutionParameterivEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glConvolutionParameterxOES", offsetof(struct opengl_funcs, p_glConvolutionParameterxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glConvolutionParameterxvOES", offsetof(struct opengl_funcs, p_glConvolutionParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glCopyBufferSubData", offsetof(struct opengl_funcs, p_glCopyBufferSubData), 3, 1, { GL_ARB_copy_buffer, GL_EXT_copy_buffer, GL_EXTENSION_COUNT }}, - { "glCopyColorSubTable", offsetof(struct opengl_funcs, p_glCopyColorSubTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glCopyColorSubTableEXT", offsetof(struct opengl_funcs, p_glCopyColorSubTableEXT), 0, 0, { GL_EXT_color_subtable, GL_EXTENSION_COUNT }}, - { "glCopyColorTable", offsetof(struct opengl_funcs, p_glCopyColorTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glCopyColorTableSGI", offsetof(struct opengl_funcs, p_glCopyColorTableSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, - { "glCopyConvolutionFilter1D", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glCopyConvolutionFilter1DEXT", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter1DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glCopyConvolutionFilter2D", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glCopyConvolutionFilter2DEXT", offsetof(struct opengl_funcs, p_glCopyConvolutionFilter2DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glCopyImageSubData", offsetof(struct opengl_funcs, p_glCopyImageSubData), 4, 3, { GL_ARB_copy_image, GL_EXTENSION_COUNT }}, - { "glCopyImageSubDataNV", offsetof(struct opengl_funcs, p_glCopyImageSubDataNV), 0, 0, { GL_NV_copy_image, GL_EXTENSION_COUNT }}, - { "glCopyMultiTexImage1DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyMultiTexImage2DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyMultiTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyMultiTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyMultiTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glCopyMultiTexSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyNamedBufferSubData", offsetof(struct opengl_funcs, p_glCopyNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyPathNV", offsetof(struct opengl_funcs, p_glCopyPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glCopyTexImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTexImage1DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, - { "glCopyTexImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTexImage2DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, - { "glCopyTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTexSubImage1DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, - { "glCopyTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTexSubImage2DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, - { "glCopyTexSubImage3D", offsetof(struct opengl_funcs, p_glCopyTexSubImage3D), 1, 2, { GL_EXTENSION_COUNT }}, - { "glCopyTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glCopyTexSubImage3DEXT), 1, 2, { GL_EXT_copy_texture, GL_EXTENSION_COUNT }}, - { "glCopyTextureImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTextureImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyTextureImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTextureImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyTextureSubImage1D", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyTextureSubImage1DEXT", offsetof(struct opengl_funcs, p_glCopyTextureSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyTextureSubImage2D", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyTextureSubImage2DEXT", offsetof(struct opengl_funcs, p_glCopyTextureSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyTextureSubImage3D", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCopyTextureSubImage3DEXT", offsetof(struct opengl_funcs, p_glCopyTextureSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCoverFillPathInstancedNV", offsetof(struct opengl_funcs, p_glCoverFillPathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glCoverFillPathNV", offsetof(struct opengl_funcs, p_glCoverFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glCoverStrokePathInstancedNV", offsetof(struct opengl_funcs, p_glCoverStrokePathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glCoverStrokePathNV", offsetof(struct opengl_funcs, p_glCoverStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glCoverageModulationNV", offsetof(struct opengl_funcs, p_glCoverageModulationNV), 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, - { "glCoverageModulationTableNV", offsetof(struct opengl_funcs, p_glCoverageModulationTableNV), 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, - { "glCreateBuffers", offsetof(struct opengl_funcs, p_glCreateBuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateCommandListsNV", offsetof(struct opengl_funcs, p_glCreateCommandListsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glCreateFramebuffers", offsetof(struct opengl_funcs, p_glCreateFramebuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateMemoryObjectsEXT", offsetof(struct opengl_funcs, p_glCreateMemoryObjectsEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glCreatePerfQueryINTEL", offsetof(struct opengl_funcs, p_glCreatePerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glCreateProgram", offsetof(struct opengl_funcs, p_glCreateProgram), 2, 0, { GL_EXTENSION_COUNT }}, - { "glCreateProgramObjectARB", offsetof(struct opengl_funcs, p_glCreateProgramObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glCreateProgramPipelines", offsetof(struct opengl_funcs, p_glCreateProgramPipelines), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateProgressFenceNVX", offsetof(struct opengl_funcs, p_glCreateProgressFenceNVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, - { "glCreateQueries", offsetof(struct opengl_funcs, p_glCreateQueries), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateRenderbuffers", offsetof(struct opengl_funcs, p_glCreateRenderbuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateSamplers", offsetof(struct opengl_funcs, p_glCreateSamplers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateSemaphoresNV", offsetof(struct opengl_funcs, p_glCreateSemaphoresNV), 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, - { "glCreateShader", offsetof(struct opengl_funcs, p_glCreateShader), 2, 0, { GL_EXTENSION_COUNT }}, - { "glCreateShaderObjectARB", offsetof(struct opengl_funcs, p_glCreateShaderObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glCreateShaderProgramEXT", offsetof(struct opengl_funcs, p_glCreateShaderProgramEXT), 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glCreateShaderProgramv", offsetof(struct opengl_funcs, p_glCreateShaderProgramv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glCreateStatesNV", offsetof(struct opengl_funcs, p_glCreateStatesNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glCreateSyncFromCLeventARB", offsetof(struct opengl_funcs, p_glCreateSyncFromCLeventARB), 0, 0, { GL_ARB_cl_event, GL_EXTENSION_COUNT }}, - { "glCreateTextures", offsetof(struct opengl_funcs, p_glCreateTextures), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateTransformFeedbacks", offsetof(struct opengl_funcs, p_glCreateTransformFeedbacks), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCreateVertexArrays", offsetof(struct opengl_funcs, p_glCreateVertexArrays), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glCullParameterdvEXT", offsetof(struct opengl_funcs, p_glCullParameterdvEXT), 0, 0, { GL_EXT_cull_vertex, GL_EXTENSION_COUNT }}, - { "glCullParameterfvEXT", offsetof(struct opengl_funcs, p_glCullParameterfvEXT), 0, 0, { GL_EXT_cull_vertex, GL_EXTENSION_COUNT }}, - { "glCurrentPaletteMatrixARB", offsetof(struct opengl_funcs, p_glCurrentPaletteMatrixARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, - { "glDebugMessageCallback", offsetof(struct opengl_funcs, p_glDebugMessageCallback), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glDebugMessageCallbackAMD", offsetof(struct opengl_funcs, p_glDebugMessageCallbackAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, - { "glDebugMessageCallbackARB", offsetof(struct opengl_funcs, p_glDebugMessageCallbackARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, - { "glDebugMessageControl", offsetof(struct opengl_funcs, p_glDebugMessageControl), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glDebugMessageControlARB", offsetof(struct opengl_funcs, p_glDebugMessageControlARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, - { "glDebugMessageEnableAMD", offsetof(struct opengl_funcs, p_glDebugMessageEnableAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, - { "glDebugMessageInsert", offsetof(struct opengl_funcs, p_glDebugMessageInsert), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glDebugMessageInsertAMD", offsetof(struct opengl_funcs, p_glDebugMessageInsertAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, - { "glDebugMessageInsertARB", offsetof(struct opengl_funcs, p_glDebugMessageInsertARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, - { "glDeformSGIX", offsetof(struct opengl_funcs, p_glDeformSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, - { "glDeformationMap3dSGIX", offsetof(struct opengl_funcs, p_glDeformationMap3dSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, - { "glDeformationMap3fSGIX", offsetof(struct opengl_funcs, p_glDeformationMap3fSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, - { "glDeleteAsyncMarkersSGIX", offsetof(struct opengl_funcs, p_glDeleteAsyncMarkersSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, - { "glDeleteBufferRegion", offsetof(struct opengl_funcs, p_glDeleteBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, - { "glDeleteBuffers", offsetof(struct opengl_funcs, p_glDeleteBuffers), 1, 5, { GL_EXTENSION_COUNT }}, - { "glDeleteBuffersARB", offsetof(struct opengl_funcs, p_glDeleteBuffersARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glDeleteCommandListsNV", offsetof(struct opengl_funcs, p_glDeleteCommandListsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glDeleteFencesAPPLE", offsetof(struct opengl_funcs, p_glDeleteFencesAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glDeleteFencesNV", offsetof(struct opengl_funcs, p_glDeleteFencesNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, - { "glDeleteFragmentShaderATI", offsetof(struct opengl_funcs, p_glDeleteFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glDeleteFramebuffers", offsetof(struct opengl_funcs, p_glDeleteFramebuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glDeleteFramebuffersEXT", offsetof(struct opengl_funcs, p_glDeleteFramebuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glDeleteMemoryObjectsEXT", offsetof(struct opengl_funcs, p_glDeleteMemoryObjectsEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glDeleteNamedStringARB", offsetof(struct opengl_funcs, p_glDeleteNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, - { "glDeleteNamesAMD", offsetof(struct opengl_funcs, p_glDeleteNamesAMD), 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, - { "glDeleteObjectARB", offsetof(struct opengl_funcs, p_glDeleteObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glDeleteObjectBufferATI", offsetof(struct opengl_funcs, p_glDeleteObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glDeleteOcclusionQueriesNV", offsetof(struct opengl_funcs, p_glDeleteOcclusionQueriesNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, - { "glDeletePathsNV", offsetof(struct opengl_funcs, p_glDeletePathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glDeletePerfMonitorsAMD", offsetof(struct opengl_funcs, p_glDeletePerfMonitorsAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glDeletePerfQueryINTEL", offsetof(struct opengl_funcs, p_glDeletePerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glDeleteProgram", offsetof(struct opengl_funcs, p_glDeleteProgram), 2, 0, { GL_EXTENSION_COUNT }}, - { "glDeleteProgramPipelines", offsetof(struct opengl_funcs, p_glDeleteProgramPipelines), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glDeleteProgramsARB", offsetof(struct opengl_funcs, p_glDeleteProgramsARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glDeleteProgramsNV", offsetof(struct opengl_funcs, p_glDeleteProgramsNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glDeleteQueries", offsetof(struct opengl_funcs, p_glDeleteQueries), 1, 5, { GL_EXTENSION_COUNT }}, - { "glDeleteQueriesARB", offsetof(struct opengl_funcs, p_glDeleteQueriesARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glDeleteQueryResourceTagNV", offsetof(struct opengl_funcs, p_glDeleteQueryResourceTagNV), 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, - { "glDeleteRenderbuffers", offsetof(struct opengl_funcs, p_glDeleteRenderbuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glDeleteRenderbuffersEXT", offsetof(struct opengl_funcs, p_glDeleteRenderbuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glDeleteSamplers", offsetof(struct opengl_funcs, p_glDeleteSamplers), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glDeleteSemaphoresEXT", offsetof(struct opengl_funcs, p_glDeleteSemaphoresEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glDeleteShader", offsetof(struct opengl_funcs, p_glDeleteShader), 2, 0, { GL_EXTENSION_COUNT }}, - { "glDeleteStatesNV", offsetof(struct opengl_funcs, p_glDeleteStatesNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glDeleteSync", offsetof(struct opengl_funcs, p_glDeleteSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, - { "glDeleteTexturesEXT", offsetof(struct opengl_funcs, p_glDeleteTexturesEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, - { "glDeleteTransformFeedbacks", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacks), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glDeleteTransformFeedbacksNV", offsetof(struct opengl_funcs, p_glDeleteTransformFeedbacksNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glDeleteVertexArrays", offsetof(struct opengl_funcs, p_glDeleteVertexArrays), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glDeleteVertexArraysAPPLE", offsetof(struct opengl_funcs, p_glDeleteVertexArraysAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glDeleteVertexShaderEXT", offsetof(struct opengl_funcs, p_glDeleteVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glDepthBoundsEXT", offsetof(struct opengl_funcs, p_glDepthBoundsEXT), 0, 0, { GL_EXT_depth_bounds_test, GL_EXTENSION_COUNT }}, - { "glDepthBoundsdNV", offsetof(struct opengl_funcs, p_glDepthBoundsdNV), 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, - { "glDepthRangeArraydvNV", offsetof(struct opengl_funcs, p_glDepthRangeArraydvNV), 0, 0, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glDepthRangeArrayv", offsetof(struct opengl_funcs, p_glDepthRangeArrayv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glDepthRangeIndexed", offsetof(struct opengl_funcs, p_glDepthRangeIndexed), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glDepthRangeIndexeddNV", offsetof(struct opengl_funcs, p_glDepthRangeIndexeddNV), 0, 0, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glDepthRangedNV", offsetof(struct opengl_funcs, p_glDepthRangedNV), 0, 0, { GL_NV_depth_buffer_float, GL_EXTENSION_COUNT }}, - { "glDepthRangef", offsetof(struct opengl_funcs, p_glDepthRangef), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, - { "glDepthRangefOES", offsetof(struct opengl_funcs, p_glDepthRangefOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, - { "glDepthRangex", offsetof(struct opengl_funcs, p_glDepthRangex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glDepthRangexOES", offsetof(struct opengl_funcs, p_glDepthRangexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glDetachObjectARB", offsetof(struct opengl_funcs, p_glDetachObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glDetachShader", offsetof(struct opengl_funcs, p_glDetachShader), 2, 0, { GL_EXTENSION_COUNT }}, - { "glDetailTexFuncSGIS", offsetof(struct opengl_funcs, p_glDetailTexFuncSGIS), 0, 0, { GL_SGIS_detail_texture, GL_EXTENSION_COUNT }}, - { "glDisableClientStateIndexedEXT", offsetof(struct opengl_funcs, p_glDisableClientStateIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glDisableClientStateiEXT", offsetof(struct opengl_funcs, p_glDisableClientStateiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glDisableIndexedEXT", offsetof(struct opengl_funcs, p_glDisableIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, - { "glDisableVariantClientStateEXT", offsetof(struct opengl_funcs, p_glDisableVariantClientStateEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glDisableVertexArrayAttrib", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttrib), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glDisableVertexArrayAttribEXT", offsetof(struct opengl_funcs, p_glDisableVertexArrayAttribEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glDisableVertexArrayEXT", offsetof(struct opengl_funcs, p_glDisableVertexArrayEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glDisableVertexAttribAPPLE", offsetof(struct opengl_funcs, p_glDisableVertexAttribAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, - { "glDisableVertexAttribArray", offsetof(struct opengl_funcs, p_glDisableVertexAttribArray), 2, 0, { GL_EXTENSION_COUNT }}, - { "glDisableVertexAttribArrayARB", offsetof(struct opengl_funcs, p_glDisableVertexAttribArrayARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glDisablei", offsetof(struct opengl_funcs, p_glDisablei), 3, 0, { GL_EXTENSION_COUNT }}, - { "glDispatchCompute", offsetof(struct opengl_funcs, p_glDispatchCompute), 4, 3, { GL_ARB_compute_shader, GL_EXTENSION_COUNT }}, - { "glDispatchComputeGroupSizeARB", offsetof(struct opengl_funcs, p_glDispatchComputeGroupSizeARB), 0, 0, { GL_ARB_compute_variable_group_size, GL_EXTENSION_COUNT }}, - { "glDispatchComputeIndirect", offsetof(struct opengl_funcs, p_glDispatchComputeIndirect), 4, 3, { GL_ARB_compute_shader, GL_EXTENSION_COUNT }}, - { "glDrawArraysEXT", offsetof(struct opengl_funcs, p_glDrawArraysEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glDrawArraysIndirect", offsetof(struct opengl_funcs, p_glDrawArraysIndirect), 4, 0, { GL_ARB_draw_indirect, GL_EXTENSION_COUNT }}, - { "glDrawArraysInstanced", offsetof(struct opengl_funcs, p_glDrawArraysInstanced), 3, 1, { GL_EXTENSION_COUNT }}, - { "glDrawArraysInstancedARB", offsetof(struct opengl_funcs, p_glDrawArraysInstancedARB), 0, 0, { GL_ARB_draw_instanced, GL_EXTENSION_COUNT }}, - { "glDrawArraysInstancedBaseInstance", offsetof(struct opengl_funcs, p_glDrawArraysInstancedBaseInstance), 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, - { "glDrawArraysInstancedEXT", offsetof(struct opengl_funcs, p_glDrawArraysInstancedEXT), 0, 0, { GL_EXT_draw_instanced, GL_EXTENSION_COUNT }}, - { "glDrawBufferRegion", offsetof(struct opengl_funcs, p_glDrawBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, - { "glDrawBuffers", offsetof(struct opengl_funcs, p_glDrawBuffers), 2, 0, { GL_EXTENSION_COUNT }}, - { "glDrawBuffersARB", offsetof(struct opengl_funcs, p_glDrawBuffersARB), 0, 0, { GL_ARB_draw_buffers, GL_EXTENSION_COUNT }}, - { "glDrawBuffersATI", offsetof(struct opengl_funcs, p_glDrawBuffersATI), 0, 0, { GL_ATI_draw_buffers, GL_EXTENSION_COUNT }}, - { "glDrawCommandsAddressNV", offsetof(struct opengl_funcs, p_glDrawCommandsAddressNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glDrawCommandsNV", offsetof(struct opengl_funcs, p_glDrawCommandsNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glDrawCommandsStatesAddressNV", offsetof(struct opengl_funcs, p_glDrawCommandsStatesAddressNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glDrawCommandsStatesNV", offsetof(struct opengl_funcs, p_glDrawCommandsStatesNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glDrawElementArrayAPPLE", offsetof(struct opengl_funcs, p_glDrawElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, - { "glDrawElementArrayATI", offsetof(struct opengl_funcs, p_glDrawElementArrayATI), 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, - { "glDrawElementsBaseVertex", offsetof(struct opengl_funcs, p_glDrawElementsBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, - { "glDrawElementsIndirect", offsetof(struct opengl_funcs, p_glDrawElementsIndirect), 4, 0, { GL_ARB_draw_indirect, GL_EXTENSION_COUNT }}, - { "glDrawElementsInstanced", offsetof(struct opengl_funcs, p_glDrawElementsInstanced), 3, 1, { GL_EXTENSION_COUNT }}, - { "glDrawElementsInstancedARB", offsetof(struct opengl_funcs, p_glDrawElementsInstancedARB), 0, 0, { GL_ARB_draw_instanced, GL_EXTENSION_COUNT }}, - { "glDrawElementsInstancedBaseInstance", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseInstance), 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, - { "glDrawElementsInstancedBaseVertex", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, - { "glDrawElementsInstancedBaseVertexBaseInstance", offsetof(struct opengl_funcs, p_glDrawElementsInstancedBaseVertexBaseInstance), 4, 2, { GL_ARB_base_instance, GL_EXTENSION_COUNT }}, - { "glDrawElementsInstancedEXT", offsetof(struct opengl_funcs, p_glDrawElementsInstancedEXT), 0, 0, { GL_EXT_draw_instanced, GL_EXTENSION_COUNT }}, - { "glDrawMeshArraysSUN", offsetof(struct opengl_funcs, p_glDrawMeshArraysSUN), 0, 0, { GL_SUN_mesh_array, GL_EXTENSION_COUNT }}, - { "glDrawMeshTasksEXT", offsetof(struct opengl_funcs, p_glDrawMeshTasksEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, - { "glDrawMeshTasksIndirectEXT", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, - { "glDrawMeshTasksIndirectNV", offsetof(struct opengl_funcs, p_glDrawMeshTasksIndirectNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, - { "glDrawMeshTasksNV", offsetof(struct opengl_funcs, p_glDrawMeshTasksNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, - { "glDrawRangeElementArrayAPPLE", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, - { "glDrawRangeElementArrayATI", offsetof(struct opengl_funcs, p_glDrawRangeElementArrayATI), 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, - { "glDrawRangeElements", offsetof(struct opengl_funcs, p_glDrawRangeElements), 1, 2, { GL_EXTENSION_COUNT }}, - { "glDrawRangeElementsBaseVertex", offsetof(struct opengl_funcs, p_glDrawRangeElementsBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, - { "glDrawRangeElementsEXT", offsetof(struct opengl_funcs, p_glDrawRangeElementsEXT), 0, 0, { GL_EXT_draw_range_elements, GL_EXTENSION_COUNT }}, - { "glDrawTextureNV", offsetof(struct opengl_funcs, p_glDrawTextureNV), 0, 0, { GL_NV_draw_texture, GL_EXTENSION_COUNT }}, - { "glDrawTransformFeedback", offsetof(struct opengl_funcs, p_glDrawTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glDrawTransformFeedbackInstanced", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackInstanced), 4, 2, { GL_ARB_transform_feedback_instanced, GL_EXTENSION_COUNT }}, - { "glDrawTransformFeedbackNV", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glDrawTransformFeedbackStream", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStream), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, - { "glDrawTransformFeedbackStreamInstanced", offsetof(struct opengl_funcs, p_glDrawTransformFeedbackStreamInstanced), 4, 2, { GL_ARB_transform_feedback_instanced, GL_EXTENSION_COUNT }}, - { "glDrawVkImageNV", offsetof(struct opengl_funcs, p_glDrawVkImageNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, - { "glEGLImageTargetTexStorageEXT", offsetof(struct opengl_funcs, p_glEGLImageTargetTexStorageEXT), 0, 0, { GL_EXT_EGL_image_storage, GL_EXTENSION_COUNT }}, - { "glEGLImageTargetTextureStorageEXT", offsetof(struct opengl_funcs, p_glEGLImageTargetTextureStorageEXT), 0, 0, { GL_EXT_EGL_image_storage, GL_EXTENSION_COUNT }}, - { "glEdgeFlagFormatNV", offsetof(struct opengl_funcs, p_glEdgeFlagFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glEdgeFlagPointerEXT", offsetof(struct opengl_funcs, p_glEdgeFlagPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glEdgeFlagPointerListIBM", offsetof(struct opengl_funcs, p_glEdgeFlagPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glElementPointerAPPLE", offsetof(struct opengl_funcs, p_glElementPointerAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, - { "glElementPointerATI", offsetof(struct opengl_funcs, p_glElementPointerATI), 0, 0, { GL_ATI_element_array, GL_EXTENSION_COUNT }}, - { "glEnableClientStateIndexedEXT", offsetof(struct opengl_funcs, p_glEnableClientStateIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glEnableClientStateiEXT", offsetof(struct opengl_funcs, p_glEnableClientStateiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glEnableIndexedEXT", offsetof(struct opengl_funcs, p_glEnableIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, - { "glEnableVariantClientStateEXT", offsetof(struct opengl_funcs, p_glEnableVariantClientStateEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glEnableVertexArrayAttrib", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttrib), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glEnableVertexArrayAttribEXT", offsetof(struct opengl_funcs, p_glEnableVertexArrayAttribEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glEnableVertexArrayEXT", offsetof(struct opengl_funcs, p_glEnableVertexArrayEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glEnableVertexAttribAPPLE", offsetof(struct opengl_funcs, p_glEnableVertexAttribAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, - { "glEnableVertexAttribArray", offsetof(struct opengl_funcs, p_glEnableVertexAttribArray), 2, 0, { GL_EXTENSION_COUNT }}, - { "glEnableVertexAttribArrayARB", offsetof(struct opengl_funcs, p_glEnableVertexAttribArrayARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glEnablei", offsetof(struct opengl_funcs, p_glEnablei), 3, 0, { GL_EXTENSION_COUNT }}, - { "glEndConditionalRender", offsetof(struct opengl_funcs, p_glEndConditionalRender), 3, 0, { GL_EXTENSION_COUNT }}, - { "glEndConditionalRenderNV", offsetof(struct opengl_funcs, p_glEndConditionalRenderNV), 0, 0, { GL_NV_conditional_render, GL_EXTENSION_COUNT }}, - { "glEndConditionalRenderNVX", offsetof(struct opengl_funcs, p_glEndConditionalRenderNVX), 0, 0, { GL_NVX_conditional_render, GL_EXTENSION_COUNT }}, - { "glEndFragmentShaderATI", offsetof(struct opengl_funcs, p_glEndFragmentShaderATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glEndOcclusionQueryNV", offsetof(struct opengl_funcs, p_glEndOcclusionQueryNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, - { "glEndPerfMonitorAMD", offsetof(struct opengl_funcs, p_glEndPerfMonitorAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glEndPerfQueryINTEL", offsetof(struct opengl_funcs, p_glEndPerfQueryINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glEndQuery", offsetof(struct opengl_funcs, p_glEndQuery), 1, 5, { GL_EXTENSION_COUNT }}, - { "glEndQueryARB", offsetof(struct opengl_funcs, p_glEndQueryARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glEndQueryIndexed", offsetof(struct opengl_funcs, p_glEndQueryIndexed), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, - { "glEndTransformFeedback", offsetof(struct opengl_funcs, p_glEndTransformFeedback), 3, 0, { GL_EXTENSION_COUNT }}, - { "glEndTransformFeedbackEXT", offsetof(struct opengl_funcs, p_glEndTransformFeedbackEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, - { "glEndTransformFeedbackNV", offsetof(struct opengl_funcs, p_glEndTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glEndVertexShaderEXT", offsetof(struct opengl_funcs, p_glEndVertexShaderEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glEndVideoCaptureNV", offsetof(struct opengl_funcs, p_glEndVideoCaptureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glEvalCoord1xOES", offsetof(struct opengl_funcs, p_glEvalCoord1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glEvalCoord1xvOES", offsetof(struct opengl_funcs, p_glEvalCoord1xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glEvalCoord2xOES", offsetof(struct opengl_funcs, p_glEvalCoord2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glEvalCoord2xvOES", offsetof(struct opengl_funcs, p_glEvalCoord2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glEvalMapsNV", offsetof(struct opengl_funcs, p_glEvalMapsNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glEvaluateDepthValuesARB", offsetof(struct opengl_funcs, p_glEvaluateDepthValuesARB), 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, - { "glExecuteProgramNV", offsetof(struct opengl_funcs, p_glExecuteProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glExtractComponentEXT", offsetof(struct opengl_funcs, p_glExtractComponentEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glFeedbackBufferxOES", offsetof(struct opengl_funcs, p_glFeedbackBufferxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glFenceSync", offsetof(struct opengl_funcs, p_glFenceSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, - { "glFinalCombinerInputNV", offsetof(struct opengl_funcs, p_glFinalCombinerInputNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glFinishAsyncSGIX", offsetof(struct opengl_funcs, p_glFinishAsyncSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, - { "glFinishFenceAPPLE", offsetof(struct opengl_funcs, p_glFinishFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glFinishFenceNV", offsetof(struct opengl_funcs, p_glFinishFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, - { "glFinishObjectAPPLE", offsetof(struct opengl_funcs, p_glFinishObjectAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glFinishTextureSUNX", offsetof(struct opengl_funcs, p_glFinishTextureSUNX), 0, 0, { GL_SUNX_constant_data, GL_EXTENSION_COUNT }}, - { "glFlushMappedBufferRange", offsetof(struct opengl_funcs, p_glFlushMappedBufferRange), 3, 0, { GL_ARB_map_buffer_range, GL_EXTENSION_COUNT }}, - { "glFlushMappedBufferRangeAPPLE", offsetof(struct opengl_funcs, p_glFlushMappedBufferRangeAPPLE), 0, 0, { GL_APPLE_flush_buffer_range, GL_EXTENSION_COUNT }}, - { "glFlushMappedNamedBufferRange", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glFlushMappedNamedBufferRangeEXT", offsetof(struct opengl_funcs, p_glFlushMappedNamedBufferRangeEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glFlushPixelDataRangeNV", offsetof(struct opengl_funcs, p_glFlushPixelDataRangeNV), 0, 0, { GL_NV_pixel_data_range, GL_EXTENSION_COUNT }}, - { "glFlushRasterSGIX", offsetof(struct opengl_funcs, p_glFlushRasterSGIX), 0, 0, { GL_SGIX_flush_raster, GL_EXTENSION_COUNT }}, - { "glFlushStaticDataIBM", offsetof(struct opengl_funcs, p_glFlushStaticDataIBM), 0, 0, { GL_IBM_static_data, GL_EXTENSION_COUNT }}, - { "glFlushVertexArrayRangeAPPLE", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeAPPLE), 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, - { "glFlushVertexArrayRangeNV", offsetof(struct opengl_funcs, p_glFlushVertexArrayRangeNV), 0, 0, { GL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, - { "glFogCoordFormatNV", offsetof(struct opengl_funcs, p_glFogCoordFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glFogCoordPointer", offsetof(struct opengl_funcs, p_glFogCoordPointer), 1, 4, { GL_EXTENSION_COUNT }}, - { "glFogCoordPointerEXT", offsetof(struct opengl_funcs, p_glFogCoordPointerEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, - { "glFogCoordPointerListIBM", offsetof(struct opengl_funcs, p_glFogCoordPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glFogCoordd", offsetof(struct opengl_funcs, p_glFogCoordd), 1, 4, { GL_EXTENSION_COUNT }}, - { "glFogCoorddEXT", offsetof(struct opengl_funcs, p_glFogCoorddEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, - { "glFogCoorddv", offsetof(struct opengl_funcs, p_glFogCoorddv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glFogCoorddvEXT", offsetof(struct opengl_funcs, p_glFogCoorddvEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, - { "glFogCoordf", offsetof(struct opengl_funcs, p_glFogCoordf), 1, 4, { GL_EXTENSION_COUNT }}, - { "glFogCoordfEXT", offsetof(struct opengl_funcs, p_glFogCoordfEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, - { "glFogCoordfv", offsetof(struct opengl_funcs, p_glFogCoordfv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glFogCoordfvEXT", offsetof(struct opengl_funcs, p_glFogCoordfvEXT), 0, 0, { GL_EXT_fog_coord, GL_EXTENSION_COUNT }}, - { "glFogCoordhNV", offsetof(struct opengl_funcs, p_glFogCoordhNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glFogCoordhvNV", offsetof(struct opengl_funcs, p_glFogCoordhvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glFogFuncSGIS", offsetof(struct opengl_funcs, p_glFogFuncSGIS), 0, 0, { GL_SGIS_fog_function, GL_EXTENSION_COUNT }}, - { "glFogx", offsetof(struct opengl_funcs, p_glFogx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glFogxOES", offsetof(struct opengl_funcs, p_glFogxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glFogxv", offsetof(struct opengl_funcs, p_glFogxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glFogxvOES", offsetof(struct opengl_funcs, p_glFogxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glFragmentColorMaterialSGIX", offsetof(struct opengl_funcs, p_glFragmentColorMaterialSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentCoverageColorNV", offsetof(struct opengl_funcs, p_glFragmentCoverageColorNV), 0, 0, { GL_NV_fragment_coverage_to_color, GL_EXTENSION_COUNT }}, - { "glFragmentLightModelfSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModelfSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentLightModelfvSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModelfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentLightModeliSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModeliSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentLightModelivSGIX", offsetof(struct opengl_funcs, p_glFragmentLightModelivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentLightfSGIX", offsetof(struct opengl_funcs, p_glFragmentLightfSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentLightfvSGIX", offsetof(struct opengl_funcs, p_glFragmentLightfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentLightiSGIX", offsetof(struct opengl_funcs, p_glFragmentLightiSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentLightivSGIX", offsetof(struct opengl_funcs, p_glFragmentLightivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentMaterialfSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialfSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentMaterialfvSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentMaterialiSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialiSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFragmentMaterialivSGIX", offsetof(struct opengl_funcs, p_glFragmentMaterialivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glFrameTerminatorGREMEDY", offsetof(struct opengl_funcs, p_glFrameTerminatorGREMEDY), 0, 0, { GL_GREMEDY_frame_terminator, GL_EXTENSION_COUNT }}, - { "glFrameZoomSGIX", offsetof(struct opengl_funcs, p_glFrameZoomSGIX), 0, 0, { GL_SGIX_framezoom, GL_EXTENSION_COUNT }}, - { "glFramebufferDrawBufferEXT", offsetof(struct opengl_funcs, p_glFramebufferDrawBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glFramebufferDrawBuffersEXT", offsetof(struct opengl_funcs, p_glFramebufferDrawBuffersEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glFramebufferFetchBarrierEXT", offsetof(struct opengl_funcs, p_glFramebufferFetchBarrierEXT), 0, 0, { GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXTENSION_COUNT }}, - { "glFramebufferParameteri", offsetof(struct opengl_funcs, p_glFramebufferParameteri), 4, 3, { GL_ARB_framebuffer_no_attachments, GL_EXTENSION_COUNT }}, - { "glFramebufferParameteriMESA", offsetof(struct opengl_funcs, p_glFramebufferParameteriMESA), 0, 0, { GL_MESA_framebuffer_flip_y, GL_EXTENSION_COUNT }}, - { "glFramebufferReadBufferEXT", offsetof(struct opengl_funcs, p_glFramebufferReadBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glFramebufferRenderbuffer", offsetof(struct opengl_funcs, p_glFramebufferRenderbuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferRenderbufferEXT", offsetof(struct opengl_funcs, p_glFramebufferRenderbufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferSampleLocationsfvARB", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvARB), 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, - { "glFramebufferSampleLocationsfvNV", offsetof(struct opengl_funcs, p_glFramebufferSampleLocationsfvNV), 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, - { "glFramebufferSamplePositionsfvAMD", offsetof(struct opengl_funcs, p_glFramebufferSamplePositionsfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, - { "glFramebufferShadingRateEXT", offsetof(struct opengl_funcs, p_glFramebufferShadingRateEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, - { "glFramebufferTexture", offsetof(struct opengl_funcs, p_glFramebufferTexture), 3, 2, { GL_EXTENSION_COUNT }}, - { "glFramebufferTexture1D", offsetof(struct opengl_funcs, p_glFramebufferTexture1D), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferTexture1DEXT", offsetof(struct opengl_funcs, p_glFramebufferTexture1DEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferTexture2D", offsetof(struct opengl_funcs, p_glFramebufferTexture2D), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferTexture2DEXT", offsetof(struct opengl_funcs, p_glFramebufferTexture2DEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferTexture3D", offsetof(struct opengl_funcs, p_glFramebufferTexture3D), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferTexture3DEXT", offsetof(struct opengl_funcs, p_glFramebufferTexture3DEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureARB", offsetof(struct opengl_funcs, p_glFramebufferTextureARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureEXT", offsetof(struct opengl_funcs, p_glFramebufferTextureEXT), 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureFaceARB", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureFaceEXT", offsetof(struct opengl_funcs, p_glFramebufferTextureFaceEXT), 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureLayer", offsetof(struct opengl_funcs, p_glFramebufferTextureLayer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureLayerARB", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureLayerEXT", offsetof(struct opengl_funcs, p_glFramebufferTextureLayerEXT), 0, 0, { GL_EXT_texture_array, GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, - { "glFramebufferTextureMultiviewOVR", offsetof(struct opengl_funcs, p_glFramebufferTextureMultiviewOVR), 0, 0, { GL_OVR_multiview, GL_EXTENSION_COUNT }}, - { "glFreeObjectBufferATI", offsetof(struct opengl_funcs, p_glFreeObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glFrustumf", offsetof(struct opengl_funcs, p_glFrustumf), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glFrustumfOES", offsetof(struct opengl_funcs, p_glFrustumfOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, - { "glFrustumx", offsetof(struct opengl_funcs, p_glFrustumx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glFrustumxOES", offsetof(struct opengl_funcs, p_glFrustumxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGenAsyncMarkersSGIX", offsetof(struct opengl_funcs, p_glGenAsyncMarkersSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, - { "glGenBuffers", offsetof(struct opengl_funcs, p_glGenBuffers), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGenBuffersARB", offsetof(struct opengl_funcs, p_glGenBuffersARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glGenFencesAPPLE", offsetof(struct opengl_funcs, p_glGenFencesAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glGenFencesNV", offsetof(struct opengl_funcs, p_glGenFencesNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, - { "glGenFragmentShadersATI", offsetof(struct opengl_funcs, p_glGenFragmentShadersATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glGenFramebuffers", offsetof(struct opengl_funcs, p_glGenFramebuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGenFramebuffersEXT", offsetof(struct opengl_funcs, p_glGenFramebuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGenNamesAMD", offsetof(struct opengl_funcs, p_glGenNamesAMD), 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, - { "glGenOcclusionQueriesNV", offsetof(struct opengl_funcs, p_glGenOcclusionQueriesNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, - { "glGenPathsNV", offsetof(struct opengl_funcs, p_glGenPathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGenPerfMonitorsAMD", offsetof(struct opengl_funcs, p_glGenPerfMonitorsAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glGenProgramPipelines", offsetof(struct opengl_funcs, p_glGenProgramPipelines), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glGenProgramsARB", offsetof(struct opengl_funcs, p_glGenProgramsARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glGenProgramsNV", offsetof(struct opengl_funcs, p_glGenProgramsNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGenQueries", offsetof(struct opengl_funcs, p_glGenQueries), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGenQueriesARB", offsetof(struct opengl_funcs, p_glGenQueriesARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glGenQueryResourceTagNV", offsetof(struct opengl_funcs, p_glGenQueryResourceTagNV), 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, - { "glGenRenderbuffers", offsetof(struct opengl_funcs, p_glGenRenderbuffers), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGenRenderbuffersEXT", offsetof(struct opengl_funcs, p_glGenRenderbuffersEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGenSamplers", offsetof(struct opengl_funcs, p_glGenSamplers), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glGenSemaphoresEXT", offsetof(struct opengl_funcs, p_glGenSemaphoresEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glGenSymbolsEXT", offsetof(struct opengl_funcs, p_glGenSymbolsEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGenTexturesEXT", offsetof(struct opengl_funcs, p_glGenTexturesEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, - { "glGenTransformFeedbacks", offsetof(struct opengl_funcs, p_glGenTransformFeedbacks), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glGenTransformFeedbacksNV", offsetof(struct opengl_funcs, p_glGenTransformFeedbacksNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glGenVertexArrays", offsetof(struct opengl_funcs, p_glGenVertexArrays), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGenVertexArraysAPPLE", offsetof(struct opengl_funcs, p_glGenVertexArraysAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGenVertexShadersEXT", offsetof(struct opengl_funcs, p_glGenVertexShadersEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGenerateMipmap", offsetof(struct opengl_funcs, p_glGenerateMipmap), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGenerateMipmapEXT", offsetof(struct opengl_funcs, p_glGenerateMipmapEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGenerateMultiTexMipmapEXT", offsetof(struct opengl_funcs, p_glGenerateMultiTexMipmapEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGenerateTextureMipmap", offsetof(struct opengl_funcs, p_glGenerateTextureMipmap), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGenerateTextureMipmapEXT", offsetof(struct opengl_funcs, p_glGenerateTextureMipmapEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetActiveAtomicCounterBufferiv", offsetof(struct opengl_funcs, p_glGetActiveAtomicCounterBufferiv), 4, 2, { GL_ARB_shader_atomic_counters, GL_EXTENSION_COUNT }}, - { "glGetActiveAttrib", offsetof(struct opengl_funcs, p_glGetActiveAttrib), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetActiveAttribARB", offsetof(struct opengl_funcs, p_glGetActiveAttribARB), 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetActiveSubroutineName", offsetof(struct opengl_funcs, p_glGetActiveSubroutineName), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glGetActiveSubroutineUniformName", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformName), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glGetActiveSubroutineUniformiv", offsetof(struct opengl_funcs, p_glGetActiveSubroutineUniformiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glGetActiveUniform", offsetof(struct opengl_funcs, p_glGetActiveUniform), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetActiveUniformARB", offsetof(struct opengl_funcs, p_glGetActiveUniformARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetActiveUniformBlockName", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockName), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetActiveUniformBlockiv", offsetof(struct opengl_funcs, p_glGetActiveUniformBlockiv), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetActiveUniformName", offsetof(struct opengl_funcs, p_glGetActiveUniformName), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetActiveUniformsiv", offsetof(struct opengl_funcs, p_glGetActiveUniformsiv), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetActiveVaryingNV", offsetof(struct opengl_funcs, p_glGetActiveVaryingNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glGetArrayObjectfvATI", offsetof(struct opengl_funcs, p_glGetArrayObjectfvATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGetArrayObjectivATI", offsetof(struct opengl_funcs, p_glGetArrayObjectivATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGetAttachedObjectsARB", offsetof(struct opengl_funcs, p_glGetAttachedObjectsARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetAttachedShaders", offsetof(struct opengl_funcs, p_glGetAttachedShaders), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetAttribLocation", offsetof(struct opengl_funcs, p_glGetAttribLocation), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetAttribLocationARB", offsetof(struct opengl_funcs, p_glGetAttribLocationARB), 0, 0, { GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetBooleanIndexedvEXT", offsetof(struct opengl_funcs, p_glGetBooleanIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, - { "glGetBooleani_v", offsetof(struct opengl_funcs, p_glGetBooleani_v), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetBufferParameteri64v", offsetof(struct opengl_funcs, p_glGetBufferParameteri64v), 3, 2, { GL_EXTENSION_COUNT }}, - { "glGetBufferParameteriv", offsetof(struct opengl_funcs, p_glGetBufferParameteriv), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGetBufferParameterivARB", offsetof(struct opengl_funcs, p_glGetBufferParameterivARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetBufferParameterui64vNV", offsetof(struct opengl_funcs, p_glGetBufferParameterui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glGetBufferPointerv", offsetof(struct opengl_funcs, p_glGetBufferPointerv), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGetBufferPointervARB", offsetof(struct opengl_funcs, p_glGetBufferPointervARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetBufferSubData", offsetof(struct opengl_funcs, p_glGetBufferSubData), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGetBufferSubDataARB", offsetof(struct opengl_funcs, p_glGetBufferSubDataARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetClipPlanef", offsetof(struct opengl_funcs, p_glGetClipPlanef), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glGetClipPlanefOES", offsetof(struct opengl_funcs, p_glGetClipPlanefOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, - { "glGetClipPlanex", offsetof(struct opengl_funcs, p_glGetClipPlanex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glGetClipPlanexOES", offsetof(struct opengl_funcs, p_glGetClipPlanexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetColorTable", offsetof(struct opengl_funcs, p_glGetColorTable), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetColorTableEXT", offsetof(struct opengl_funcs, p_glGetColorTableEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, - { "glGetColorTableParameterfv", offsetof(struct opengl_funcs, p_glGetColorTableParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetColorTableParameterfvEXT", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, - { "glGetColorTableParameterfvSGI", offsetof(struct opengl_funcs, p_glGetColorTableParameterfvSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, - { "glGetColorTableParameteriv", offsetof(struct opengl_funcs, p_glGetColorTableParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetColorTableParameterivEXT", offsetof(struct opengl_funcs, p_glGetColorTableParameterivEXT), 0, 0, { GL_EXT_paletted_texture, GL_EXTENSION_COUNT }}, - { "glGetColorTableParameterivSGI", offsetof(struct opengl_funcs, p_glGetColorTableParameterivSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, - { "glGetColorTableSGI", offsetof(struct opengl_funcs, p_glGetColorTableSGI), 0, 0, { GL_SGI_color_table, GL_EXTENSION_COUNT }}, - { "glGetCombinerInputParameterfvNV", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glGetCombinerInputParameterivNV", offsetof(struct opengl_funcs, p_glGetCombinerInputParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glGetCombinerOutputParameterfvNV", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glGetCombinerOutputParameterivNV", offsetof(struct opengl_funcs, p_glGetCombinerOutputParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glGetCombinerStageParameterfvNV", offsetof(struct opengl_funcs, p_glGetCombinerStageParameterfvNV), 0, 0, { GL_NV_register_combiners2, GL_EXTENSION_COUNT }}, - { "glGetCommandHeaderNV", offsetof(struct opengl_funcs, p_glGetCommandHeaderNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glGetCompressedMultiTexImageEXT", offsetof(struct opengl_funcs, p_glGetCompressedMultiTexImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetCompressedTexImage", offsetof(struct opengl_funcs, p_glGetCompressedTexImage), 1, 3, { GL_EXTENSION_COUNT }}, - { "glGetCompressedTexImageARB", offsetof(struct opengl_funcs, p_glGetCompressedTexImageARB), 1, 3, { GL_ARB_texture_compression, GL_EXTENSION_COUNT }}, - { "glGetCompressedTextureImage", offsetof(struct opengl_funcs, p_glGetCompressedTextureImage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetCompressedTextureImageEXT", offsetof(struct opengl_funcs, p_glGetCompressedTextureImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetCompressedTextureSubImage", offsetof(struct opengl_funcs, p_glGetCompressedTextureSubImage), 4, 5, { GL_ARB_get_texture_sub_image, GL_EXTENSION_COUNT }}, - { "glGetConvolutionFilter", offsetof(struct opengl_funcs, p_glGetConvolutionFilter), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetConvolutionFilterEXT", offsetof(struct opengl_funcs, p_glGetConvolutionFilterEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glGetConvolutionParameterfv", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetConvolutionParameterfvEXT", offsetof(struct opengl_funcs, p_glGetConvolutionParameterfvEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glGetConvolutionParameteriv", offsetof(struct opengl_funcs, p_glGetConvolutionParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetConvolutionParameterivEXT", offsetof(struct opengl_funcs, p_glGetConvolutionParameterivEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glGetConvolutionParameterxvOES", offsetof(struct opengl_funcs, p_glGetConvolutionParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetCoverageModulationTableNV", offsetof(struct opengl_funcs, p_glGetCoverageModulationTableNV), 0, 0, { GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, - { "glGetDebugMessageLog", offsetof(struct opengl_funcs, p_glGetDebugMessageLog), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glGetDebugMessageLogAMD", offsetof(struct opengl_funcs, p_glGetDebugMessageLogAMD), 0, 0, { GL_AMD_debug_output, GL_AMDX_debug_output, GL_EXTENSION_COUNT }}, - { "glGetDebugMessageLogARB", offsetof(struct opengl_funcs, p_glGetDebugMessageLogARB), 0, 0, { GL_ARB_debug_output, GL_EXTENSION_COUNT }}, - { "glGetDetailTexFuncSGIS", offsetof(struct opengl_funcs, p_glGetDetailTexFuncSGIS), 0, 0, { GL_SGIS_detail_texture, GL_EXTENSION_COUNT }}, - { "glGetDoubleIndexedvEXT", offsetof(struct opengl_funcs, p_glGetDoubleIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetDoublei_v", offsetof(struct opengl_funcs, p_glGetDoublei_v), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glGetDoublei_vEXT", offsetof(struct opengl_funcs, p_glGetDoublei_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetFenceivNV", offsetof(struct opengl_funcs, p_glGetFenceivNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, - { "glGetFinalCombinerInputParameterfvNV", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterfvNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glGetFinalCombinerInputParameterivNV", offsetof(struct opengl_funcs, p_glGetFinalCombinerInputParameterivNV), 0, 0, { GL_NV_register_combiners, GL_EXTENSION_COUNT }}, - { "glGetFirstPerfQueryIdINTEL", offsetof(struct opengl_funcs, p_glGetFirstPerfQueryIdINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glGetFixedv", offsetof(struct opengl_funcs, p_glGetFixedv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glGetFixedvOES", offsetof(struct opengl_funcs, p_glGetFixedvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetFloatIndexedvEXT", offsetof(struct opengl_funcs, p_glGetFloatIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetFloati_v", offsetof(struct opengl_funcs, p_glGetFloati_v), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glGetFloati_vEXT", offsetof(struct opengl_funcs, p_glGetFloati_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetFogFuncSGIS", offsetof(struct opengl_funcs, p_glGetFogFuncSGIS), 0, 0, { GL_SGIS_fog_function, GL_EXTENSION_COUNT }}, - { "glGetFragDataIndex", offsetof(struct opengl_funcs, p_glGetFragDataIndex), 3, 3, { GL_ARB_blend_func_extended, GL_EXTENSION_COUNT }}, - { "glGetFragDataLocation", offsetof(struct opengl_funcs, p_glGetFragDataLocation), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetFragDataLocationEXT", offsetof(struct opengl_funcs, p_glGetFragDataLocationEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glGetFragmentLightfvSGIX", offsetof(struct opengl_funcs, p_glGetFragmentLightfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glGetFragmentLightivSGIX", offsetof(struct opengl_funcs, p_glGetFragmentLightivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glGetFragmentMaterialfvSGIX", offsetof(struct opengl_funcs, p_glGetFragmentMaterialfvSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glGetFragmentMaterialivSGIX", offsetof(struct opengl_funcs, p_glGetFragmentMaterialivSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glGetFragmentShadingRatesEXT", offsetof(struct opengl_funcs, p_glGetFragmentShadingRatesEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, - { "glGetFramebufferAttachmentParameteriv", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameteriv), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGetFramebufferAttachmentParameterivEXT", offsetof(struct opengl_funcs, p_glGetFramebufferAttachmentParameterivEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGetFramebufferParameterfvAMD", offsetof(struct opengl_funcs, p_glGetFramebufferParameterfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, - { "glGetFramebufferParameteriv", offsetof(struct opengl_funcs, p_glGetFramebufferParameteriv), 4, 3, { GL_ARB_framebuffer_no_attachments, GL_EXTENSION_COUNT }}, - { "glGetFramebufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetFramebufferParameterivMESA", offsetof(struct opengl_funcs, p_glGetFramebufferParameterivMESA), 0, 0, { GL_MESA_framebuffer_flip_y, GL_EXTENSION_COUNT }}, - { "glGetGraphicsResetStatus", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatus), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, - { "glGetGraphicsResetStatusARB", offsetof(struct opengl_funcs, p_glGetGraphicsResetStatusARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetHandleARB", offsetof(struct opengl_funcs, p_glGetHandleARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetHistogram", offsetof(struct opengl_funcs, p_glGetHistogram), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetHistogramEXT", offsetof(struct opengl_funcs, p_glGetHistogramEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glGetHistogramParameterfv", offsetof(struct opengl_funcs, p_glGetHistogramParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetHistogramParameterfvEXT", offsetof(struct opengl_funcs, p_glGetHistogramParameterfvEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glGetHistogramParameteriv", offsetof(struct opengl_funcs, p_glGetHistogramParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetHistogramParameterivEXT", offsetof(struct opengl_funcs, p_glGetHistogramParameterivEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glGetHistogramParameterxvOES", offsetof(struct opengl_funcs, p_glGetHistogramParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetImageHandleARB", offsetof(struct opengl_funcs, p_glGetImageHandleARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glGetImageHandleNV", offsetof(struct opengl_funcs, p_glGetImageHandleNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glGetImageTransformParameterfvHP", offsetof(struct opengl_funcs, p_glGetImageTransformParameterfvHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, - { "glGetImageTransformParameterivHP", offsetof(struct opengl_funcs, p_glGetImageTransformParameterivHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, - { "glGetInfoLogARB", offsetof(struct opengl_funcs, p_glGetInfoLogARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetInstrumentsSGIX", offsetof(struct opengl_funcs, p_glGetInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, - { "glGetInteger64i_v", offsetof(struct opengl_funcs, p_glGetInteger64i_v), 3, 2, { GL_EXTENSION_COUNT }}, - { "glGetInteger64v", offsetof(struct opengl_funcs, p_glGetInteger64v), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, - { "glGetIntegerIndexedvEXT", offsetof(struct opengl_funcs, p_glGetIntegerIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, - { "glGetIntegeri_v", offsetof(struct opengl_funcs, p_glGetIntegeri_v), 3, 0, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetIntegerui64i_vNV", offsetof(struct opengl_funcs, p_glGetIntegerui64i_vNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glGetIntegerui64vNV", offsetof(struct opengl_funcs, p_glGetIntegerui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glGetInternalformatSampleivNV", offsetof(struct opengl_funcs, p_glGetInternalformatSampleivNV), 0, 0, { GL_NV_internalformat_sample_query, GL_EXTENSION_COUNT }}, - { "glGetInternalformati64v", offsetof(struct opengl_funcs, p_glGetInternalformati64v), 4, 3, { GL_ARB_internalformat_query2, GL_EXTENSION_COUNT }}, - { "glGetInternalformativ", offsetof(struct opengl_funcs, p_glGetInternalformativ), 4, 2, { GL_ARB_internalformat_query, GL_EXTENSION_COUNT }}, - { "glGetInvariantBooleanvEXT", offsetof(struct opengl_funcs, p_glGetInvariantBooleanvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetInvariantFloatvEXT", offsetof(struct opengl_funcs, p_glGetInvariantFloatvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetInvariantIntegervEXT", offsetof(struct opengl_funcs, p_glGetInvariantIntegervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetLightxOES", offsetof(struct opengl_funcs, p_glGetLightxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetLightxv", offsetof(struct opengl_funcs, p_glGetLightxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glGetListParameterfvSGIX", offsetof(struct opengl_funcs, p_glGetListParameterfvSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, - { "glGetListParameterivSGIX", offsetof(struct opengl_funcs, p_glGetListParameterivSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, - { "glGetLocalConstantBooleanvEXT", offsetof(struct opengl_funcs, p_glGetLocalConstantBooleanvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetLocalConstantFloatvEXT", offsetof(struct opengl_funcs, p_glGetLocalConstantFloatvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetLocalConstantIntegervEXT", offsetof(struct opengl_funcs, p_glGetLocalConstantIntegervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetMapAttribParameterfvNV", offsetof(struct opengl_funcs, p_glGetMapAttribParameterfvNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glGetMapAttribParameterivNV", offsetof(struct opengl_funcs, p_glGetMapAttribParameterivNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glGetMapControlPointsNV", offsetof(struct opengl_funcs, p_glGetMapControlPointsNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glGetMapParameterfvNV", offsetof(struct opengl_funcs, p_glGetMapParameterfvNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glGetMapParameterivNV", offsetof(struct opengl_funcs, p_glGetMapParameterivNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glGetMapxvOES", offsetof(struct opengl_funcs, p_glGetMapxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetMaterialxOES", offsetof(struct opengl_funcs, p_glGetMaterialxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetMaterialxv", offsetof(struct opengl_funcs, p_glGetMaterialxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glGetMemoryObjectDetachedResourcesuivNV", offsetof(struct opengl_funcs, p_glGetMemoryObjectDetachedResourcesuivNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, - { "glGetMemoryObjectParameterivEXT", offsetof(struct opengl_funcs, p_glGetMemoryObjectParameterivEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glGetMinmax", offsetof(struct opengl_funcs, p_glGetMinmax), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetMinmaxEXT", offsetof(struct opengl_funcs, p_glGetMinmaxEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glGetMinmaxParameterfv", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetMinmaxParameterfvEXT", offsetof(struct opengl_funcs, p_glGetMinmaxParameterfvEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glGetMinmaxParameteriv", offsetof(struct opengl_funcs, p_glGetMinmaxParameteriv), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetMinmaxParameterivEXT", offsetof(struct opengl_funcs, p_glGetMinmaxParameterivEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glGetMultiTexEnvfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexEnvfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexEnvivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexEnvivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexGendvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexGendvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexGenfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexGenfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexGenivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexGenivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexImageEXT", offsetof(struct opengl_funcs, p_glGetMultiTexImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexLevelParameterfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexLevelParameterivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexLevelParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexParameterIivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexParameterfvEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultiTexParameterivEXT", offsetof(struct opengl_funcs, p_glGetMultiTexParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetMultisamplefv", offsetof(struct opengl_funcs, p_glGetMultisamplefv), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, - { "glGetMultisamplefvNV", offsetof(struct opengl_funcs, p_glGetMultisamplefvNV), 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferParameteri64v", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteri64v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferParameteriv", offsetof(struct opengl_funcs, p_glGetNamedBufferParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferParameterui64vNV", offsetof(struct opengl_funcs, p_glGetNamedBufferParameterui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferPointerv", offsetof(struct opengl_funcs, p_glGetNamedBufferPointerv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferPointervEXT", offsetof(struct opengl_funcs, p_glGetNamedBufferPointervEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferSubData", offsetof(struct opengl_funcs, p_glGetNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedBufferSubDataEXT", offsetof(struct opengl_funcs, p_glGetNamedBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedFramebufferAttachmentParameteriv", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedFramebufferAttachmentParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedFramebufferAttachmentParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedFramebufferParameterfvAMD", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, - { "glGetNamedFramebufferParameteriv", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedFramebufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedFramebufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedProgramLocalParameterIivEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedProgramLocalParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedProgramLocalParameterdvEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterdvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedProgramLocalParameterfvEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramLocalParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedProgramStringEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramStringEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedProgramivEXT", offsetof(struct opengl_funcs, p_glGetNamedProgramivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedRenderbufferParameteriv", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedRenderbufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetNamedRenderbufferParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetNamedStringARB", offsetof(struct opengl_funcs, p_glGetNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, - { "glGetNamedStringivARB", offsetof(struct opengl_funcs, p_glGetNamedStringivARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, - { "glGetNextPerfQueryIdINTEL", offsetof(struct opengl_funcs, p_glGetNextPerfQueryIdINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glGetObjectBufferfvATI", offsetof(struct opengl_funcs, p_glGetObjectBufferfvATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGetObjectBufferivATI", offsetof(struct opengl_funcs, p_glGetObjectBufferivATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGetObjectLabel", offsetof(struct opengl_funcs, p_glGetObjectLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glGetObjectLabelEXT", offsetof(struct opengl_funcs, p_glGetObjectLabelEXT), 0, 0, { GL_EXT_debug_label, GL_EXTENSION_COUNT }}, - { "glGetObjectParameterfvARB", offsetof(struct opengl_funcs, p_glGetObjectParameterfvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetObjectParameterivAPPLE", offsetof(struct opengl_funcs, p_glGetObjectParameterivAPPLE), 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, - { "glGetObjectParameterivARB", offsetof(struct opengl_funcs, p_glGetObjectParameterivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetObjectPtrLabel", offsetof(struct opengl_funcs, p_glGetObjectPtrLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glGetOcclusionQueryivNV", offsetof(struct opengl_funcs, p_glGetOcclusionQueryivNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, - { "glGetOcclusionQueryuivNV", offsetof(struct opengl_funcs, p_glGetOcclusionQueryuivNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, - { "glGetPathColorGenfvNV", offsetof(struct opengl_funcs, p_glGetPathColorGenfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathColorGenivNV", offsetof(struct opengl_funcs, p_glGetPathColorGenivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathCommandsNV", offsetof(struct opengl_funcs, p_glGetPathCommandsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathCoordsNV", offsetof(struct opengl_funcs, p_glGetPathCoordsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathDashArrayNV", offsetof(struct opengl_funcs, p_glGetPathDashArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathLengthNV", offsetof(struct opengl_funcs, p_glGetPathLengthNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathMetricRangeNV", offsetof(struct opengl_funcs, p_glGetPathMetricRangeNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathMetricsNV", offsetof(struct opengl_funcs, p_glGetPathMetricsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathParameterfvNV", offsetof(struct opengl_funcs, p_glGetPathParameterfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathParameterivNV", offsetof(struct opengl_funcs, p_glGetPathParameterivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathSpacingNV", offsetof(struct opengl_funcs, p_glGetPathSpacingNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathTexGenfvNV", offsetof(struct opengl_funcs, p_glGetPathTexGenfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPathTexGenivNV", offsetof(struct opengl_funcs, p_glGetPathTexGenivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetPerfCounterInfoINTEL", offsetof(struct opengl_funcs, p_glGetPerfCounterInfoINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glGetPerfMonitorCounterDataAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterDataAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glGetPerfMonitorCounterInfoAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterInfoAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glGetPerfMonitorCounterStringAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCounterStringAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glGetPerfMonitorCountersAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorCountersAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glGetPerfMonitorGroupStringAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupStringAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glGetPerfMonitorGroupsAMD", offsetof(struct opengl_funcs, p_glGetPerfMonitorGroupsAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glGetPerfQueryDataINTEL", offsetof(struct opengl_funcs, p_glGetPerfQueryDataINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glGetPerfQueryIdByNameINTEL", offsetof(struct opengl_funcs, p_glGetPerfQueryIdByNameINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glGetPerfQueryInfoINTEL", offsetof(struct opengl_funcs, p_glGetPerfQueryInfoINTEL), 0, 0, { GL_INTEL_performance_query, GL_EXTENSION_COUNT }}, - { "glGetPixelMapxv", offsetof(struct opengl_funcs, p_glGetPixelMapxv), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetPixelTexGenParameterfvSGIS", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterfvSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, - { "glGetPixelTexGenParameterivSGIS", offsetof(struct opengl_funcs, p_glGetPixelTexGenParameterivSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, - { "glGetPixelTransformParameterfvEXT", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterfvEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, - { "glGetPixelTransformParameterivEXT", offsetof(struct opengl_funcs, p_glGetPixelTransformParameterivEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, - { "glGetPointerIndexedvEXT", offsetof(struct opengl_funcs, p_glGetPointerIndexedvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetPointeri_vEXT", offsetof(struct opengl_funcs, p_glGetPointeri_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetPointervEXT", offsetof(struct opengl_funcs, p_glGetPointervEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glGetProgramBinary", offsetof(struct opengl_funcs, p_glGetProgramBinary), 4, 1, { GL_ARB_get_program_binary, GL_EXTENSION_COUNT }}, - { "glGetProgramEnvParameterIivNV", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glGetProgramEnvParameterIuivNV", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterIuivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glGetProgramEnvParameterdvARB", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterdvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramEnvParameterfvARB", offsetof(struct opengl_funcs, p_glGetProgramEnvParameterfvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramInfoLog", offsetof(struct opengl_funcs, p_glGetProgramInfoLog), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetProgramInterfaceiv", offsetof(struct opengl_funcs, p_glGetProgramInterfaceiv), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, - { "glGetProgramLocalParameterIivNV", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glGetProgramLocalParameterIuivNV", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterIuivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glGetProgramLocalParameterdvARB", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterdvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramLocalParameterfvARB", offsetof(struct opengl_funcs, p_glGetProgramLocalParameterfvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramNamedParameterdvNV", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterdvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, - { "glGetProgramNamedParameterfvNV", offsetof(struct opengl_funcs, p_glGetProgramNamedParameterfvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, - { "glGetProgramParameterdvNV", offsetof(struct opengl_funcs, p_glGetProgramParameterdvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramParameterfvNV", offsetof(struct opengl_funcs, p_glGetProgramParameterfvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramPipelineInfoLog", offsetof(struct opengl_funcs, p_glGetProgramPipelineInfoLog), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetProgramPipelineiv", offsetof(struct opengl_funcs, p_glGetProgramPipelineiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetProgramResourceIndex", offsetof(struct opengl_funcs, p_glGetProgramResourceIndex), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, - { "glGetProgramResourceLocation", offsetof(struct opengl_funcs, p_glGetProgramResourceLocation), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, - { "glGetProgramResourceLocationIndex", offsetof(struct opengl_funcs, p_glGetProgramResourceLocationIndex), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, - { "glGetProgramResourceName", offsetof(struct opengl_funcs, p_glGetProgramResourceName), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, - { "glGetProgramResourcefvNV", offsetof(struct opengl_funcs, p_glGetProgramResourcefvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glGetProgramResourceiv", offsetof(struct opengl_funcs, p_glGetProgramResourceiv), 4, 3, { GL_ARB_program_interface_query, GL_EXTENSION_COUNT }}, - { "glGetProgramStageiv", offsetof(struct opengl_funcs, p_glGetProgramStageiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glGetProgramStringARB", offsetof(struct opengl_funcs, p_glGetProgramStringARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramStringNV", offsetof(struct opengl_funcs, p_glGetProgramStringNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramSubroutineParameteruivNV", offsetof(struct opengl_funcs, p_glGetProgramSubroutineParameteruivNV), 0, 0, { GL_NV_gpu_program5, GL_NV_gpu_program_fp64, GL_EXTENSION_COUNT }}, - { "glGetProgramiv", offsetof(struct opengl_funcs, p_glGetProgramiv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetProgramivARB", offsetof(struct opengl_funcs, p_glGetProgramivARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetProgramivNV", offsetof(struct opengl_funcs, p_glGetProgramivNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetQueryBufferObjecti64v", offsetof(struct opengl_funcs, p_glGetQueryBufferObjecti64v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetQueryBufferObjectiv", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetQueryBufferObjectui64v", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectui64v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetQueryBufferObjectuiv", offsetof(struct opengl_funcs, p_glGetQueryBufferObjectuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetQueryIndexediv", offsetof(struct opengl_funcs, p_glGetQueryIndexediv), 4, 0, { GL_ARB_transform_feedback3, GL_EXTENSION_COUNT }}, - { "glGetQueryObjecti64v", offsetof(struct opengl_funcs, p_glGetQueryObjecti64v), 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, - { "glGetQueryObjecti64vEXT", offsetof(struct opengl_funcs, p_glGetQueryObjecti64vEXT), 0, 0, { GL_EXT_timer_query, GL_EXTENSION_COUNT }}, - { "glGetQueryObjectiv", offsetof(struct opengl_funcs, p_glGetQueryObjectiv), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGetQueryObjectivARB", offsetof(struct opengl_funcs, p_glGetQueryObjectivARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glGetQueryObjectui64v", offsetof(struct opengl_funcs, p_glGetQueryObjectui64v), 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, - { "glGetQueryObjectui64vEXT", offsetof(struct opengl_funcs, p_glGetQueryObjectui64vEXT), 0, 0, { GL_EXT_timer_query, GL_EXTENSION_COUNT }}, - { "glGetQueryObjectuiv", offsetof(struct opengl_funcs, p_glGetQueryObjectuiv), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGetQueryObjectuivARB", offsetof(struct opengl_funcs, p_glGetQueryObjectuivARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glGetQueryiv", offsetof(struct opengl_funcs, p_glGetQueryiv), 1, 5, { GL_EXTENSION_COUNT }}, - { "glGetQueryivARB", offsetof(struct opengl_funcs, p_glGetQueryivARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glGetRenderbufferParameteriv", offsetof(struct opengl_funcs, p_glGetRenderbufferParameteriv), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGetRenderbufferParameterivEXT", offsetof(struct opengl_funcs, p_glGetRenderbufferParameterivEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glGetSamplerParameterIiv", offsetof(struct opengl_funcs, p_glGetSamplerParameterIiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glGetSamplerParameterIuiv", offsetof(struct opengl_funcs, p_glGetSamplerParameterIuiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glGetSamplerParameterfv", offsetof(struct opengl_funcs, p_glGetSamplerParameterfv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glGetSamplerParameteriv", offsetof(struct opengl_funcs, p_glGetSamplerParameteriv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glGetSemaphoreParameterivNV", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterivNV), 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, - { "glGetSemaphoreParameterui64vEXT", offsetof(struct opengl_funcs, p_glGetSemaphoreParameterui64vEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glGetSeparableFilter", offsetof(struct opengl_funcs, p_glGetSeparableFilter), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glGetSeparableFilterEXT", offsetof(struct opengl_funcs, p_glGetSeparableFilterEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glGetShaderInfoLog", offsetof(struct opengl_funcs, p_glGetShaderInfoLog), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetShaderPrecisionFormat", offsetof(struct opengl_funcs, p_glGetShaderPrecisionFormat), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, - { "glGetShaderSource", offsetof(struct opengl_funcs, p_glGetShaderSource), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetShaderSourceARB", offsetof(struct opengl_funcs, p_glGetShaderSourceARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetShaderiv", offsetof(struct opengl_funcs, p_glGetShaderiv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetShadingRateImagePaletteNV", offsetof(struct opengl_funcs, p_glGetShadingRateImagePaletteNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, - { "glGetShadingRateSampleLocationivNV", offsetof(struct opengl_funcs, p_glGetShadingRateSampleLocationivNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, - { "glGetSharpenTexFuncSGIS", offsetof(struct opengl_funcs, p_glGetSharpenTexFuncSGIS), 0, 0, { GL_SGIS_sharpen_texture, GL_EXTENSION_COUNT }}, - { "glGetStageIndexNV", offsetof(struct opengl_funcs, p_glGetStageIndexNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glGetStringi", offsetof(struct opengl_funcs, p_glGetStringi), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetSubroutineIndex", offsetof(struct opengl_funcs, p_glGetSubroutineIndex), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glGetSubroutineUniformLocation", offsetof(struct opengl_funcs, p_glGetSubroutineUniformLocation), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glGetSynciv", offsetof(struct opengl_funcs, p_glGetSynciv), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, - { "glGetTexBumpParameterfvATI", offsetof(struct opengl_funcs, p_glGetTexBumpParameterfvATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, - { "glGetTexBumpParameterivATI", offsetof(struct opengl_funcs, p_glGetTexBumpParameterivATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, - { "glGetTexEnvxv", offsetof(struct opengl_funcs, p_glGetTexEnvxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glGetTexEnvxvOES", offsetof(struct opengl_funcs, p_glGetTexEnvxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetTexFilterFuncSGIS", offsetof(struct opengl_funcs, p_glGetTexFilterFuncSGIS), 0, 0, { GL_SGIS_texture_filter4, GL_EXTENSION_COUNT }}, - { "glGetTexGenxvOES", offsetof(struct opengl_funcs, p_glGetTexGenxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetTexLevelParameterxvOES", offsetof(struct opengl_funcs, p_glGetTexLevelParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetTexParameterIiv", offsetof(struct opengl_funcs, p_glGetTexParameterIiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetTexParameterIivEXT", offsetof(struct opengl_funcs, p_glGetTexParameterIivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, - { "glGetTexParameterIuiv", offsetof(struct opengl_funcs, p_glGetTexParameterIuiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetTexParameterIuivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, - { "glGetTexParameterPointervAPPLE", offsetof(struct opengl_funcs, p_glGetTexParameterPointervAPPLE), 0, 0, { GL_APPLE_texture_range, GL_EXTENSION_COUNT }}, - { "glGetTexParameterxv", offsetof(struct opengl_funcs, p_glGetTexParameterxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glGetTexParameterxvOES", offsetof(struct opengl_funcs, p_glGetTexParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glGetTextureHandleARB", offsetof(struct opengl_funcs, p_glGetTextureHandleARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glGetTextureHandleNV", offsetof(struct opengl_funcs, p_glGetTextureHandleNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glGetTextureImage", offsetof(struct opengl_funcs, p_glGetTextureImage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureImageEXT", offsetof(struct opengl_funcs, p_glGetTextureImageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureLevelParameterfv", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureLevelParameterfvEXT", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureLevelParameteriv", offsetof(struct opengl_funcs, p_glGetTextureLevelParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureLevelParameterivEXT", offsetof(struct opengl_funcs, p_glGetTextureLevelParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameterIiv", offsetof(struct opengl_funcs, p_glGetTextureParameterIiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameterIivEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameterIuiv", offsetof(struct opengl_funcs, p_glGetTextureParameterIuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameterIuivEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameterfv", offsetof(struct opengl_funcs, p_glGetTextureParameterfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameterfvEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameteriv", offsetof(struct opengl_funcs, p_glGetTextureParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureParameterivEXT", offsetof(struct opengl_funcs, p_glGetTextureParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTextureSamplerHandleARB", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glGetTextureSamplerHandleNV", offsetof(struct opengl_funcs, p_glGetTextureSamplerHandleNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glGetTextureSubImage", offsetof(struct opengl_funcs, p_glGetTextureSubImage), 4, 5, { GL_ARB_get_texture_sub_image, GL_EXTENSION_COUNT }}, - { "glGetTrackMatrixivNV", offsetof(struct opengl_funcs, p_glGetTrackMatrixivNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetTransformFeedbackVarying", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVarying), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetTransformFeedbackVaryingEXT", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, - { "glGetTransformFeedbackVaryingNV", offsetof(struct opengl_funcs, p_glGetTransformFeedbackVaryingNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glGetTransformFeedbacki64_v", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki64_v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTransformFeedbacki_v", offsetof(struct opengl_funcs, p_glGetTransformFeedbacki_v), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetTransformFeedbackiv", offsetof(struct opengl_funcs, p_glGetTransformFeedbackiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetUniformBlockIndex", offsetof(struct opengl_funcs, p_glGetUniformBlockIndex), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetUniformBufferSizeEXT", offsetof(struct opengl_funcs, p_glGetUniformBufferSizeEXT), 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, - { "glGetUniformIndices", offsetof(struct opengl_funcs, p_glGetUniformIndices), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glGetUniformLocation", offsetof(struct opengl_funcs, p_glGetUniformLocation), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetUniformLocationARB", offsetof(struct opengl_funcs, p_glGetUniformLocationARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetUniformOffsetEXT", offsetof(struct opengl_funcs, p_glGetUniformOffsetEXT), 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, - { "glGetUniformSubroutineuiv", offsetof(struct opengl_funcs, p_glGetUniformSubroutineuiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glGetUniformdv", offsetof(struct opengl_funcs, p_glGetUniformdv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glGetUniformfv", offsetof(struct opengl_funcs, p_glGetUniformfv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetUniformfvARB", offsetof(struct opengl_funcs, p_glGetUniformfvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetUniformi64vARB", offsetof(struct opengl_funcs, p_glGetUniformi64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glGetUniformi64vNV", offsetof(struct opengl_funcs, p_glGetUniformi64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glGetUniformiv", offsetof(struct opengl_funcs, p_glGetUniformiv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetUniformivARB", offsetof(struct opengl_funcs, p_glGetUniformivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glGetUniformui64vARB", offsetof(struct opengl_funcs, p_glGetUniformui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glGetUniformui64vNV", offsetof(struct opengl_funcs, p_glGetUniformui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glGetUniformuiv", offsetof(struct opengl_funcs, p_glGetUniformuiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetUniformuivEXT", offsetof(struct opengl_funcs, p_glGetUniformuivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glGetUnsignedBytei_vEXT", offsetof(struct opengl_funcs, p_glGetUnsignedBytei_vEXT), 0, 0, { GL_EXT_memory_object, GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glGetUnsignedBytevEXT", offsetof(struct opengl_funcs, p_glGetUnsignedBytevEXT), 0, 0, { GL_EXT_memory_object, GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glGetVariantArrayObjectfvATI", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectfvATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGetVariantArrayObjectivATI", offsetof(struct opengl_funcs, p_glGetVariantArrayObjectivATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glGetVariantBooleanvEXT", offsetof(struct opengl_funcs, p_glGetVariantBooleanvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVariantFloatvEXT", offsetof(struct opengl_funcs, p_glGetVariantFloatvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVariantIntegervEXT", offsetof(struct opengl_funcs, p_glGetVariantIntegervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVariantPointervEXT", offsetof(struct opengl_funcs, p_glGetVariantPointervEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVaryingLocationNV", offsetof(struct opengl_funcs, p_glGetVaryingLocationNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glGetVertexArrayIndexed64iv", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexed64iv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetVertexArrayIndexediv", offsetof(struct opengl_funcs, p_glGetVertexArrayIndexediv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetVertexArrayIntegeri_vEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegeri_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetVertexArrayIntegervEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayIntegervEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetVertexArrayPointeri_vEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayPointeri_vEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetVertexArrayPointervEXT", offsetof(struct opengl_funcs, p_glGetVertexArrayPointervEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetVertexArrayiv", offsetof(struct opengl_funcs, p_glGetVertexArrayiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribArrayObjectfvATI", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectfvATI), 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribArrayObjectivATI", offsetof(struct opengl_funcs, p_glGetVertexAttribArrayObjectivATI), 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribIiv", offsetof(struct opengl_funcs, p_glGetVertexAttribIiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetVertexAttribIivEXT", offsetof(struct opengl_funcs, p_glGetVertexAttribIivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribIuiv", offsetof(struct opengl_funcs, p_glGetVertexAttribIuiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glGetVertexAttribIuivEXT", offsetof(struct opengl_funcs, p_glGetVertexAttribIuivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribLdv", offsetof(struct opengl_funcs, p_glGetVertexAttribLdv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribLdvEXT", offsetof(struct opengl_funcs, p_glGetVertexAttribLdvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribLi64vNV", offsetof(struct opengl_funcs, p_glGetVertexAttribLi64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribLui64vARB", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribLui64vNV", offsetof(struct opengl_funcs, p_glGetVertexAttribLui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribPointerv", offsetof(struct opengl_funcs, p_glGetVertexAttribPointerv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetVertexAttribPointervARB", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribPointervNV", offsetof(struct opengl_funcs, p_glGetVertexAttribPointervNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribdv", offsetof(struct opengl_funcs, p_glGetVertexAttribdv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetVertexAttribdvARB", offsetof(struct opengl_funcs, p_glGetVertexAttribdvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribdvNV", offsetof(struct opengl_funcs, p_glGetVertexAttribdvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribfv", offsetof(struct opengl_funcs, p_glGetVertexAttribfv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetVertexAttribfvARB", offsetof(struct opengl_funcs, p_glGetVertexAttribfvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribfvNV", offsetof(struct opengl_funcs, p_glGetVertexAttribfvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribiv", offsetof(struct opengl_funcs, p_glGetVertexAttribiv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glGetVertexAttribivARB", offsetof(struct opengl_funcs, p_glGetVertexAttribivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glGetVertexAttribivNV", offsetof(struct opengl_funcs, p_glGetVertexAttribivNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glGetVideoCaptureStreamdvNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamdvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glGetVideoCaptureStreamfvNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamfvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glGetVideoCaptureStreamivNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureStreamivNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glGetVideoCaptureivNV", offsetof(struct opengl_funcs, p_glGetVideoCaptureivNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glGetVideoi64vNV", offsetof(struct opengl_funcs, p_glGetVideoi64vNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, - { "glGetVideoivNV", offsetof(struct opengl_funcs, p_glGetVideoivNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, - { "glGetVideoui64vNV", offsetof(struct opengl_funcs, p_glGetVideoui64vNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, - { "glGetVideouivNV", offsetof(struct opengl_funcs, p_glGetVideouivNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, - { "glGetVkProcAddrNV", offsetof(struct opengl_funcs, p_glGetVkProcAddrNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, - { "glGetnColorTable", offsetof(struct opengl_funcs, p_glGetnColorTable), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnColorTableARB", offsetof(struct opengl_funcs, p_glGetnColorTableARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnCompressedTexImage", offsetof(struct opengl_funcs, p_glGetnCompressedTexImage), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnCompressedTexImageARB", offsetof(struct opengl_funcs, p_glGetnCompressedTexImageARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnConvolutionFilter", offsetof(struct opengl_funcs, p_glGetnConvolutionFilter), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnConvolutionFilterARB", offsetof(struct opengl_funcs, p_glGetnConvolutionFilterARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnHistogram", offsetof(struct opengl_funcs, p_glGetnHistogram), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnHistogramARB", offsetof(struct opengl_funcs, p_glGetnHistogramARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnMapdv", offsetof(struct opengl_funcs, p_glGetnMapdv), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnMapdvARB", offsetof(struct opengl_funcs, p_glGetnMapdvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnMapfv", offsetof(struct opengl_funcs, p_glGetnMapfv), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnMapfvARB", offsetof(struct opengl_funcs, p_glGetnMapfvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnMapiv", offsetof(struct opengl_funcs, p_glGetnMapiv), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnMapivARB", offsetof(struct opengl_funcs, p_glGetnMapivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnMinmax", offsetof(struct opengl_funcs, p_glGetnMinmax), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnMinmaxARB", offsetof(struct opengl_funcs, p_glGetnMinmaxARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnPixelMapfv", offsetof(struct opengl_funcs, p_glGetnPixelMapfv), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnPixelMapfvARB", offsetof(struct opengl_funcs, p_glGetnPixelMapfvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnPixelMapuiv", offsetof(struct opengl_funcs, p_glGetnPixelMapuiv), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnPixelMapuivARB", offsetof(struct opengl_funcs, p_glGetnPixelMapuivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnPixelMapusv", offsetof(struct opengl_funcs, p_glGetnPixelMapusv), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnPixelMapusvARB", offsetof(struct opengl_funcs, p_glGetnPixelMapusvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnPolygonStipple", offsetof(struct opengl_funcs, p_glGetnPolygonStipple), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnPolygonStippleARB", offsetof(struct opengl_funcs, p_glGetnPolygonStippleARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnSeparableFilter", offsetof(struct opengl_funcs, p_glGetnSeparableFilter), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnSeparableFilterARB", offsetof(struct opengl_funcs, p_glGetnSeparableFilterARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnTexImage", offsetof(struct opengl_funcs, p_glGetnTexImage), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnTexImageARB", offsetof(struct opengl_funcs, p_glGetnTexImageARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnUniformdv", offsetof(struct opengl_funcs, p_glGetnUniformdv), 4, 5, { GL_EXTENSION_COUNT }}, - { "glGetnUniformdvARB", offsetof(struct opengl_funcs, p_glGetnUniformdvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnUniformfv", offsetof(struct opengl_funcs, p_glGetnUniformfv), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, - { "glGetnUniformfvARB", offsetof(struct opengl_funcs, p_glGetnUniformfvARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnUniformi64vARB", offsetof(struct opengl_funcs, p_glGetnUniformi64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glGetnUniformiv", offsetof(struct opengl_funcs, p_glGetnUniformiv), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, - { "glGetnUniformivARB", offsetof(struct opengl_funcs, p_glGetnUniformivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGetnUniformui64vARB", offsetof(struct opengl_funcs, p_glGetnUniformui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glGetnUniformuiv", offsetof(struct opengl_funcs, p_glGetnUniformuiv), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, - { "glGetnUniformuivARB", offsetof(struct opengl_funcs, p_glGetnUniformuivARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactorbSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorbSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactordSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactordSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactorfSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorfSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactoriSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoriSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactorsSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorsSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactorubSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorubSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactoruiSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactoruiSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glGlobalAlphaFactorusSUN", offsetof(struct opengl_funcs, p_glGlobalAlphaFactorusSUN), 0, 0, { GL_SUN_global_alpha, GL_EXTENSION_COUNT }}, - { "glHintPGI", offsetof(struct opengl_funcs, p_glHintPGI), 0, 0, { GL_PGI_misc_hints, GL_EXTENSION_COUNT }}, - { "glHistogram", offsetof(struct opengl_funcs, p_glHistogram), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glHistogramEXT", offsetof(struct opengl_funcs, p_glHistogramEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glIglooInterfaceSGIX", offsetof(struct opengl_funcs, p_glIglooInterfaceSGIX), 0, 0, { GL_SGIX_igloo_interface, GL_EXTENSION_COUNT }}, - { "glImageTransformParameterfHP", offsetof(struct opengl_funcs, p_glImageTransformParameterfHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, - { "glImageTransformParameterfvHP", offsetof(struct opengl_funcs, p_glImageTransformParameterfvHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, - { "glImageTransformParameteriHP", offsetof(struct opengl_funcs, p_glImageTransformParameteriHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, - { "glImageTransformParameterivHP", offsetof(struct opengl_funcs, p_glImageTransformParameterivHP), 0, 0, { GL_HP_image_transform, GL_EXTENSION_COUNT }}, - { "glImportMemoryWin32HandleEXT", offsetof(struct opengl_funcs, p_glImportMemoryWin32HandleEXT), 0, 0, { GL_EXT_memory_object_win32, GL_EXTENSION_COUNT }}, - { "glImportMemoryWin32NameEXT", offsetof(struct opengl_funcs, p_glImportMemoryWin32NameEXT), 0, 0, { GL_EXT_memory_object_win32, GL_EXTENSION_COUNT }}, - { "glImportSemaphoreWin32HandleEXT", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32HandleEXT), 0, 0, { GL_EXT_semaphore_win32, GL_EXTENSION_COUNT }}, - { "glImportSemaphoreWin32NameEXT", offsetof(struct opengl_funcs, p_glImportSemaphoreWin32NameEXT), 0, 0, { GL_EXT_semaphore_win32, GL_EXTENSION_COUNT }}, - { "glImportSyncEXT", offsetof(struct opengl_funcs, p_glImportSyncEXT), 0, 0, { GL_EXT_x11_sync_object, GL_EXTENSION_COUNT }}, - { "glIndexFormatNV", offsetof(struct opengl_funcs, p_glIndexFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glIndexFuncEXT", offsetof(struct opengl_funcs, p_glIndexFuncEXT), 0, 0, { GL_EXT_index_func, GL_EXTENSION_COUNT }}, - { "glIndexMaterialEXT", offsetof(struct opengl_funcs, p_glIndexMaterialEXT), 0, 0, { GL_EXT_index_material, GL_EXTENSION_COUNT }}, - { "glIndexPointerEXT", offsetof(struct opengl_funcs, p_glIndexPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glIndexPointerListIBM", offsetof(struct opengl_funcs, p_glIndexPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glIndexxOES", offsetof(struct opengl_funcs, p_glIndexxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glIndexxvOES", offsetof(struct opengl_funcs, p_glIndexxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glInsertComponentEXT", offsetof(struct opengl_funcs, p_glInsertComponentEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glInsertEventMarkerEXT", offsetof(struct opengl_funcs, p_glInsertEventMarkerEXT), 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, - { "glInstrumentsBufferSGIX", offsetof(struct opengl_funcs, p_glInstrumentsBufferSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, - { "glInterpolatePathsNV", offsetof(struct opengl_funcs, p_glInterpolatePathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glInvalidateBufferData", offsetof(struct opengl_funcs, p_glInvalidateBufferData), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, - { "glInvalidateBufferSubData", offsetof(struct opengl_funcs, p_glInvalidateBufferSubData), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, - { "glInvalidateFramebuffer", offsetof(struct opengl_funcs, p_glInvalidateFramebuffer), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, - { "glInvalidateNamedFramebufferData", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glInvalidateNamedFramebufferSubData", offsetof(struct opengl_funcs, p_glInvalidateNamedFramebufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glInvalidateSubFramebuffer", offsetof(struct opengl_funcs, p_glInvalidateSubFramebuffer), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, - { "glInvalidateTexImage", offsetof(struct opengl_funcs, p_glInvalidateTexImage), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, - { "glInvalidateTexSubImage", offsetof(struct opengl_funcs, p_glInvalidateTexSubImage), 4, 3, { GL_ARB_invalidate_subdata, GL_EXTENSION_COUNT }}, - { "glIsAsyncMarkerSGIX", offsetof(struct opengl_funcs, p_glIsAsyncMarkerSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, - { "glIsBuffer", offsetof(struct opengl_funcs, p_glIsBuffer), 1, 5, { GL_EXTENSION_COUNT }}, - { "glIsBufferARB", offsetof(struct opengl_funcs, p_glIsBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glIsBufferResidentNV", offsetof(struct opengl_funcs, p_glIsBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glIsCommandListNV", offsetof(struct opengl_funcs, p_glIsCommandListNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glIsEnabledIndexedEXT", offsetof(struct opengl_funcs, p_glIsEnabledIndexedEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXTENSION_COUNT }}, - { "glIsEnabledi", offsetof(struct opengl_funcs, p_glIsEnabledi), 3, 0, { GL_EXTENSION_COUNT }}, - { "glIsFenceAPPLE", offsetof(struct opengl_funcs, p_glIsFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glIsFenceNV", offsetof(struct opengl_funcs, p_glIsFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, - { "glIsFramebuffer", offsetof(struct opengl_funcs, p_glIsFramebuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glIsFramebufferEXT", offsetof(struct opengl_funcs, p_glIsFramebufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glIsImageHandleResidentARB", offsetof(struct opengl_funcs, p_glIsImageHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glIsImageHandleResidentNV", offsetof(struct opengl_funcs, p_glIsImageHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glIsMemoryObjectEXT", offsetof(struct opengl_funcs, p_glIsMemoryObjectEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glIsNameAMD", offsetof(struct opengl_funcs, p_glIsNameAMD), 0, 0, { GL_AMD_name_gen_delete, GL_EXTENSION_COUNT }}, - { "glIsNamedBufferResidentNV", offsetof(struct opengl_funcs, p_glIsNamedBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glIsNamedStringARB", offsetof(struct opengl_funcs, p_glIsNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, - { "glIsObjectBufferATI", offsetof(struct opengl_funcs, p_glIsObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glIsOcclusionQueryNV", offsetof(struct opengl_funcs, p_glIsOcclusionQueryNV), 0, 0, { GL_NV_occlusion_query, GL_EXTENSION_COUNT }}, - { "glIsPathNV", offsetof(struct opengl_funcs, p_glIsPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glIsPointInFillPathNV", offsetof(struct opengl_funcs, p_glIsPointInFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glIsPointInStrokePathNV", offsetof(struct opengl_funcs, p_glIsPointInStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glIsProgram", offsetof(struct opengl_funcs, p_glIsProgram), 2, 0, { GL_EXTENSION_COUNT }}, - { "glIsProgramARB", offsetof(struct opengl_funcs, p_glIsProgramARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glIsProgramNV", offsetof(struct opengl_funcs, p_glIsProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glIsProgramPipeline", offsetof(struct opengl_funcs, p_glIsProgramPipeline), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glIsQuery", offsetof(struct opengl_funcs, p_glIsQuery), 1, 5, { GL_EXTENSION_COUNT }}, - { "glIsQueryARB", offsetof(struct opengl_funcs, p_glIsQueryARB), 0, 0, { GL_ARB_occlusion_query, GL_EXTENSION_COUNT }}, - { "glIsRenderbuffer", offsetof(struct opengl_funcs, p_glIsRenderbuffer), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glIsRenderbufferEXT", offsetof(struct opengl_funcs, p_glIsRenderbufferEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glIsSampler", offsetof(struct opengl_funcs, p_glIsSampler), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glIsSemaphoreEXT", offsetof(struct opengl_funcs, p_glIsSemaphoreEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glIsShader", offsetof(struct opengl_funcs, p_glIsShader), 2, 0, { GL_EXTENSION_COUNT }}, - { "glIsStateNV", offsetof(struct opengl_funcs, p_glIsStateNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glIsSync", offsetof(struct opengl_funcs, p_glIsSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, - { "glIsTextureEXT", offsetof(struct opengl_funcs, p_glIsTextureEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, - { "glIsTextureHandleResidentARB", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glIsTextureHandleResidentNV", offsetof(struct opengl_funcs, p_glIsTextureHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glIsTransformFeedback", offsetof(struct opengl_funcs, p_glIsTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glIsTransformFeedbackNV", offsetof(struct opengl_funcs, p_glIsTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glIsVariantEnabledEXT", offsetof(struct opengl_funcs, p_glIsVariantEnabledEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glIsVertexArray", offsetof(struct opengl_funcs, p_glIsVertexArray), 3, 0, { GL_ARB_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glIsVertexArrayAPPLE", offsetof(struct opengl_funcs, p_glIsVertexArrayAPPLE), 0, 0, { GL_APPLE_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glIsVertexAttribEnabledAPPLE", offsetof(struct opengl_funcs, p_glIsVertexAttribEnabledAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, - { "glLGPUCopyImageSubDataNVX", offsetof(struct opengl_funcs, p_glLGPUCopyImageSubDataNVX), 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glLGPUInterlockNVX", offsetof(struct opengl_funcs, p_glLGPUInterlockNVX), 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glLGPUNamedBufferSubDataNVX", offsetof(struct opengl_funcs, p_glLGPUNamedBufferSubDataNVX), 0, 0, { GL_NVX_linked_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glLabelObjectEXT", offsetof(struct opengl_funcs, p_glLabelObjectEXT), 0, 0, { GL_EXT_debug_label, GL_EXTENSION_COUNT }}, - { "glLightEnviSGIX", offsetof(struct opengl_funcs, p_glLightEnviSGIX), 0, 0, { GL_SGIX_fragment_lighting, GL_EXTENSION_COUNT }}, - { "glLightModelx", offsetof(struct opengl_funcs, p_glLightModelx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glLightModelxOES", offsetof(struct opengl_funcs, p_glLightModelxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glLightModelxv", offsetof(struct opengl_funcs, p_glLightModelxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glLightModelxvOES", offsetof(struct opengl_funcs, p_glLightModelxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glLightx", offsetof(struct opengl_funcs, p_glLightx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glLightxOES", offsetof(struct opengl_funcs, p_glLightxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glLightxv", offsetof(struct opengl_funcs, p_glLightxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glLightxvOES", offsetof(struct opengl_funcs, p_glLightxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glLineWidthx", offsetof(struct opengl_funcs, p_glLineWidthx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glLineWidthxOES", offsetof(struct opengl_funcs, p_glLineWidthxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glLinkProgram", offsetof(struct opengl_funcs, p_glLinkProgram), 2, 0, { GL_EXTENSION_COUNT }}, - { "glLinkProgramARB", offsetof(struct opengl_funcs, p_glLinkProgramARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glListDrawCommandsStatesClientNV", offsetof(struct opengl_funcs, p_glListDrawCommandsStatesClientNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glListParameterfSGIX", offsetof(struct opengl_funcs, p_glListParameterfSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, - { "glListParameterfvSGIX", offsetof(struct opengl_funcs, p_glListParameterfvSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, - { "glListParameteriSGIX", offsetof(struct opengl_funcs, p_glListParameteriSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, - { "glListParameterivSGIX", offsetof(struct opengl_funcs, p_glListParameterivSGIX), 0, 0, { GL_SGIX_list_priority, GL_EXTENSION_COUNT }}, - { "glLoadIdentityDeformationMapSGIX", offsetof(struct opengl_funcs, p_glLoadIdentityDeformationMapSGIX), 0, 0, { GL_SGIX_polynomial_ffd, GL_EXTENSION_COUNT }}, - { "glLoadMatrixx", offsetof(struct opengl_funcs, p_glLoadMatrixx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glLoadMatrixxOES", offsetof(struct opengl_funcs, p_glLoadMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glLoadProgramNV", offsetof(struct opengl_funcs, p_glLoadProgramNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glLoadTransposeMatrixd", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixd), 1, 3, { GL_EXTENSION_COUNT }}, - { "glLoadTransposeMatrixdARB", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixdARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, - { "glLoadTransposeMatrixf", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixf), 1, 3, { GL_EXTENSION_COUNT }}, - { "glLoadTransposeMatrixfARB", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixfARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, - { "glLoadTransposeMatrixxOES", offsetof(struct opengl_funcs, p_glLoadTransposeMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glLockArraysEXT", offsetof(struct opengl_funcs, p_glLockArraysEXT), 0, 0, { GL_EXT_compiled_vertex_array, GL_EXTENSION_COUNT }}, - { "glMTexCoord2fSGIS", offsetof(struct opengl_funcs, p_glMTexCoord2fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMTexCoord2fvSGIS", offsetof(struct opengl_funcs, p_glMTexCoord2fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMakeBufferNonResidentNV", offsetof(struct opengl_funcs, p_glMakeBufferNonResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glMakeBufferResidentNV", offsetof(struct opengl_funcs, p_glMakeBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glMakeImageHandleNonResidentARB", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMakeImageHandleNonResidentNV", offsetof(struct opengl_funcs, p_glMakeImageHandleNonResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMakeImageHandleResidentARB", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMakeImageHandleResidentNV", offsetof(struct opengl_funcs, p_glMakeImageHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMakeNamedBufferNonResidentNV", offsetof(struct opengl_funcs, p_glMakeNamedBufferNonResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glMakeNamedBufferResidentNV", offsetof(struct opengl_funcs, p_glMakeNamedBufferResidentNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glMakeTextureHandleNonResidentARB", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMakeTextureHandleNonResidentNV", offsetof(struct opengl_funcs, p_glMakeTextureHandleNonResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMakeTextureHandleResidentARB", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMakeTextureHandleResidentNV", offsetof(struct opengl_funcs, p_glMakeTextureHandleResidentNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glMap1xOES", offsetof(struct opengl_funcs, p_glMap1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMap2xOES", offsetof(struct opengl_funcs, p_glMap2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMapBuffer", offsetof(struct opengl_funcs, p_glMapBuffer), 1, 5, { GL_EXTENSION_COUNT }}, - { "glMapBufferARB", offsetof(struct opengl_funcs, p_glMapBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glMapBufferRange", offsetof(struct opengl_funcs, p_glMapBufferRange), 3, 0, { GL_ARB_map_buffer_range, GL_EXTENSION_COUNT }}, - { "glMapControlPointsNV", offsetof(struct opengl_funcs, p_glMapControlPointsNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glMapGrid1xOES", offsetof(struct opengl_funcs, p_glMapGrid1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMapGrid2xOES", offsetof(struct opengl_funcs, p_glMapGrid2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMapNamedBuffer", offsetof(struct opengl_funcs, p_glMapNamedBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMapNamedBufferEXT", offsetof(struct opengl_funcs, p_glMapNamedBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMapNamedBufferRange", offsetof(struct opengl_funcs, p_glMapNamedBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMapNamedBufferRangeEXT", offsetof(struct opengl_funcs, p_glMapNamedBufferRangeEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMapObjectBufferATI", offsetof(struct opengl_funcs, p_glMapObjectBufferATI), 0, 0, { GL_ATI_map_object_buffer, GL_EXTENSION_COUNT }}, - { "glMapParameterfvNV", offsetof(struct opengl_funcs, p_glMapParameterfvNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glMapParameterivNV", offsetof(struct opengl_funcs, p_glMapParameterivNV), 0, 0, { GL_NV_evaluators, GL_EXTENSION_COUNT }}, - { "glMapTexture2DINTEL", offsetof(struct opengl_funcs, p_glMapTexture2DINTEL), 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, - { "glMapVertexAttrib1dAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib1dAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, - { "glMapVertexAttrib1fAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib1fAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, - { "glMapVertexAttrib2dAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib2dAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, - { "glMapVertexAttrib2fAPPLE", offsetof(struct opengl_funcs, p_glMapVertexAttrib2fAPPLE), 0, 0, { GL_APPLE_vertex_program_evaluators, GL_EXTENSION_COUNT }}, - { "glMaterialx", offsetof(struct opengl_funcs, p_glMaterialx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glMaterialxOES", offsetof(struct opengl_funcs, p_glMaterialxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMaterialxv", offsetof(struct opengl_funcs, p_glMaterialxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glMaterialxvOES", offsetof(struct opengl_funcs, p_glMaterialxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMatrixFrustumEXT", offsetof(struct opengl_funcs, p_glMatrixFrustumEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixIndexPointerARB", offsetof(struct opengl_funcs, p_glMatrixIndexPointerARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, - { "glMatrixIndexubvARB", offsetof(struct opengl_funcs, p_glMatrixIndexubvARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, - { "glMatrixIndexuivARB", offsetof(struct opengl_funcs, p_glMatrixIndexuivARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, - { "glMatrixIndexusvARB", offsetof(struct opengl_funcs, p_glMatrixIndexusvARB), 0, 0, { GL_ARB_matrix_palette, GL_EXTENSION_COUNT }}, - { "glMatrixLoad3x2fNV", offsetof(struct opengl_funcs, p_glMatrixLoad3x2fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixLoad3x3fNV", offsetof(struct opengl_funcs, p_glMatrixLoad3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixLoadIdentityEXT", offsetof(struct opengl_funcs, p_glMatrixLoadIdentityEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixLoadTranspose3x3fNV", offsetof(struct opengl_funcs, p_glMatrixLoadTranspose3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixLoadTransposedEXT", offsetof(struct opengl_funcs, p_glMatrixLoadTransposedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixLoadTransposefEXT", offsetof(struct opengl_funcs, p_glMatrixLoadTransposefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixLoaddEXT", offsetof(struct opengl_funcs, p_glMatrixLoaddEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixLoadfEXT", offsetof(struct opengl_funcs, p_glMatrixLoadfEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixMult3x2fNV", offsetof(struct opengl_funcs, p_glMatrixMult3x2fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixMult3x3fNV", offsetof(struct opengl_funcs, p_glMatrixMult3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixMultTranspose3x3fNV", offsetof(struct opengl_funcs, p_glMatrixMultTranspose3x3fNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixMultTransposedEXT", offsetof(struct opengl_funcs, p_glMatrixMultTransposedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixMultTransposefEXT", offsetof(struct opengl_funcs, p_glMatrixMultTransposefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixMultdEXT", offsetof(struct opengl_funcs, p_glMatrixMultdEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixMultfEXT", offsetof(struct opengl_funcs, p_glMatrixMultfEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixOrthoEXT", offsetof(struct opengl_funcs, p_glMatrixOrthoEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixPopEXT", offsetof(struct opengl_funcs, p_glMatrixPopEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixPushEXT", offsetof(struct opengl_funcs, p_glMatrixPushEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixRotatedEXT", offsetof(struct opengl_funcs, p_glMatrixRotatedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixRotatefEXT", offsetof(struct opengl_funcs, p_glMatrixRotatefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixScaledEXT", offsetof(struct opengl_funcs, p_glMatrixScaledEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixScalefEXT", offsetof(struct opengl_funcs, p_glMatrixScalefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixTranslatedEXT", offsetof(struct opengl_funcs, p_glMatrixTranslatedEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMatrixTranslatefEXT", offsetof(struct opengl_funcs, p_glMatrixTranslatefEXT), 0, 0, { GL_EXT_direct_state_access, GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glMaxShaderCompilerThreadsARB", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsARB), 0, 0, { GL_ARB_parallel_shader_compile, GL_EXTENSION_COUNT }}, - { "glMaxShaderCompilerThreadsKHR", offsetof(struct opengl_funcs, p_glMaxShaderCompilerThreadsKHR), 0, 0, { GL_KHR_parallel_shader_compile, GL_EXTENSION_COUNT }}, - { "glMemoryBarrier", offsetof(struct opengl_funcs, p_glMemoryBarrier), 4, 2, { GL_ARB_shader_image_load_store, GL_EXTENSION_COUNT }}, - { "glMemoryBarrierByRegion", offsetof(struct opengl_funcs, p_glMemoryBarrierByRegion), 4, 5, { GL_ARB_ES3_1_compatibility, GL_NV_ES3_1_compatibility, GL_EXTENSION_COUNT }}, - { "glMemoryBarrierEXT", offsetof(struct opengl_funcs, p_glMemoryBarrierEXT), 0, 0, { GL_EXT_shader_image_load_store, GL_EXTENSION_COUNT }}, - { "glMemoryObjectParameterivEXT", offsetof(struct opengl_funcs, p_glMemoryObjectParameterivEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glMinSampleShading", offsetof(struct opengl_funcs, p_glMinSampleShading), 4, 0, { GL_EXTENSION_COUNT }}, - { "glMinSampleShadingARB", offsetof(struct opengl_funcs, p_glMinSampleShadingARB), 0, 0, { GL_ARB_sample_shading, GL_EXTENSION_COUNT }}, - { "glMinmax", offsetof(struct opengl_funcs, p_glMinmax), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glMinmaxEXT", offsetof(struct opengl_funcs, p_glMinmaxEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glMultMatrixx", offsetof(struct opengl_funcs, p_glMultMatrixx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glMultMatrixxOES", offsetof(struct opengl_funcs, p_glMultMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultTransposeMatrixd", offsetof(struct opengl_funcs, p_glMultTransposeMatrixd), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultTransposeMatrixdARB", offsetof(struct opengl_funcs, p_glMultTransposeMatrixdARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, - { "glMultTransposeMatrixf", offsetof(struct opengl_funcs, p_glMultTransposeMatrixf), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultTransposeMatrixfARB", offsetof(struct opengl_funcs, p_glMultTransposeMatrixfARB), 0, 0, { GL_ARB_transpose_matrix, GL_EXTENSION_COUNT }}, - { "glMultTransposeMatrixxOES", offsetof(struct opengl_funcs, p_glMultTransposeMatrixxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiDrawArrays", offsetof(struct opengl_funcs, p_glMultiDrawArrays), 1, 4, { GL_EXTENSION_COUNT }}, - { "glMultiDrawArraysEXT", offsetof(struct opengl_funcs, p_glMultiDrawArraysEXT), 0, 0, { GL_EXT_multi_draw_arrays, GL_SUN_multi_draw_arrays, GL_EXTENSION_COUNT }}, - { "glMultiDrawArraysIndirect", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirect), 4, 3, { GL_ARB_multi_draw_indirect, GL_EXTENSION_COUNT }}, - { "glMultiDrawArraysIndirectAMD", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectAMD), 0, 0, { GL_AMD_multi_draw_indirect, GL_EXTENSION_COUNT }}, - { "glMultiDrawArraysIndirectBindlessCountNV", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessCountNV), 0, 0, { GL_NV_bindless_multi_draw_indirect_count, GL_EXTENSION_COUNT }}, - { "glMultiDrawArraysIndirectBindlessNV", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectBindlessNV), 0, 0, { GL_NV_bindless_multi_draw_indirect, GL_EXTENSION_COUNT }}, - { "glMultiDrawArraysIndirectCount", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCount), 4, 6, { GL_EXTENSION_COUNT }}, - { "glMultiDrawArraysIndirectCountARB", offsetof(struct opengl_funcs, p_glMultiDrawArraysIndirectCountARB), 0, 0, { GL_ARB_indirect_parameters, GL_EXTENSION_COUNT }}, - { "glMultiDrawElementArrayAPPLE", offsetof(struct opengl_funcs, p_glMultiDrawElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, - { "glMultiDrawElements", offsetof(struct opengl_funcs, p_glMultiDrawElements), 1, 4, { GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsBaseVertex", offsetof(struct opengl_funcs, p_glMultiDrawElementsBaseVertex), 3, 2, { GL_ARB_draw_elements_base_vertex, GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsEXT", offsetof(struct opengl_funcs, p_glMultiDrawElementsEXT), 0, 0, { GL_EXT_multi_draw_arrays, GL_SUN_multi_draw_arrays, GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsIndirect", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirect), 4, 3, { GL_ARB_multi_draw_indirect, GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsIndirectAMD", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectAMD), 0, 0, { GL_AMD_multi_draw_indirect, GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsIndirectBindlessCountNV", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessCountNV), 0, 0, { GL_NV_bindless_multi_draw_indirect_count, GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsIndirectBindlessNV", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectBindlessNV), 0, 0, { GL_NV_bindless_multi_draw_indirect, GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsIndirectCount", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCount), 4, 6, { GL_EXTENSION_COUNT }}, - { "glMultiDrawElementsIndirectCountARB", offsetof(struct opengl_funcs, p_glMultiDrawElementsIndirectCountARB), 0, 0, { GL_ARB_indirect_parameters, GL_EXTENSION_COUNT }}, - { "glMultiDrawMeshTasksIndirectCountEXT", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, - { "glMultiDrawMeshTasksIndirectCountNV", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectCountNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, - { "glMultiDrawMeshTasksIndirectEXT", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectEXT), 0, 0, { GL_EXT_mesh_shader, GL_EXTENSION_COUNT }}, - { "glMultiDrawMeshTasksIndirectNV", offsetof(struct opengl_funcs, p_glMultiDrawMeshTasksIndirectNV), 0, 0, { GL_NV_mesh_shader, GL_EXTENSION_COUNT }}, - { "glMultiDrawRangeElementArrayAPPLE", offsetof(struct opengl_funcs, p_glMultiDrawRangeElementArrayAPPLE), 0, 0, { GL_APPLE_element_array, GL_EXTENSION_COUNT }}, - { "glMultiModeDrawArraysIBM", offsetof(struct opengl_funcs, p_glMultiModeDrawArraysIBM), 0, 0, { GL_IBM_multimode_draw_arrays, GL_EXTENSION_COUNT }}, - { "glMultiModeDrawElementsIBM", offsetof(struct opengl_funcs, p_glMultiModeDrawElementsIBM), 0, 0, { GL_IBM_multimode_draw_arrays, GL_EXTENSION_COUNT }}, - { "glMultiTexBufferEXT", offsetof(struct opengl_funcs, p_glMultiTexBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1d", offsetof(struct opengl_funcs, p_glMultiTexCoord1d), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1dv", offsetof(struct opengl_funcs, p_glMultiTexCoord1dv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1f", offsetof(struct opengl_funcs, p_glMultiTexCoord1f), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1fv", offsetof(struct opengl_funcs, p_glMultiTexCoord1fv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord1hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1i", offsetof(struct opengl_funcs, p_glMultiTexCoord1i), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1iv", offsetof(struct opengl_funcs, p_glMultiTexCoord1iv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1s", offsetof(struct opengl_funcs, p_glMultiTexCoord1s), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1sv", offsetof(struct opengl_funcs, p_glMultiTexCoord1sv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord1svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord1svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord1xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord1xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2d", offsetof(struct opengl_funcs, p_glMultiTexCoord2d), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2dv", offsetof(struct opengl_funcs, p_glMultiTexCoord2dv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2f", offsetof(struct opengl_funcs, p_glMultiTexCoord2f), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2fv", offsetof(struct opengl_funcs, p_glMultiTexCoord2fv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2i", offsetof(struct opengl_funcs, p_glMultiTexCoord2i), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2iv", offsetof(struct opengl_funcs, p_glMultiTexCoord2iv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2s", offsetof(struct opengl_funcs, p_glMultiTexCoord2s), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2sv", offsetof(struct opengl_funcs, p_glMultiTexCoord2sv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord2svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord2svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord2xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3d", offsetof(struct opengl_funcs, p_glMultiTexCoord3d), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3dv", offsetof(struct opengl_funcs, p_glMultiTexCoord3dv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3f", offsetof(struct opengl_funcs, p_glMultiTexCoord3f), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3fv", offsetof(struct opengl_funcs, p_glMultiTexCoord3fv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3i", offsetof(struct opengl_funcs, p_glMultiTexCoord3i), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3iv", offsetof(struct opengl_funcs, p_glMultiTexCoord3iv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3s", offsetof(struct opengl_funcs, p_glMultiTexCoord3s), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3sv", offsetof(struct opengl_funcs, p_glMultiTexCoord3sv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord3svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord3svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord3xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4bOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4bvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4d", offsetof(struct opengl_funcs, p_glMultiTexCoord4d), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4dARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4dARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4dSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4dSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4dv", offsetof(struct opengl_funcs, p_glMultiTexCoord4dv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4dvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4dvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4dvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4f", offsetof(struct opengl_funcs, p_glMultiTexCoord4f), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4fARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4fARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4fSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4fSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4fv", offsetof(struct opengl_funcs, p_glMultiTexCoord4fv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4fvARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4fvSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4fvSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4hNV", offsetof(struct opengl_funcs, p_glMultiTexCoord4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4hvNV", offsetof(struct opengl_funcs, p_glMultiTexCoord4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4i", offsetof(struct opengl_funcs, p_glMultiTexCoord4i), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4iARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4iARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4iSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4iSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4iv", offsetof(struct opengl_funcs, p_glMultiTexCoord4iv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4ivARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4ivSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4ivSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4s", offsetof(struct opengl_funcs, p_glMultiTexCoord4s), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4sARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4sARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4sSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4sSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4sv", offsetof(struct opengl_funcs, p_glMultiTexCoord4sv), 1, 3, { GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4svARB", offsetof(struct opengl_funcs, p_glMultiTexCoord4svARB), 0, 0, { GL_ARB_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4svSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoord4svSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4x", offsetof(struct opengl_funcs, p_glMultiTexCoord4x), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4xOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoord4xvOES", offsetof(struct opengl_funcs, p_glMultiTexCoord4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP1ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP1ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP1uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP1uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP2ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP2uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP3ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP3uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP4ui", offsetof(struct opengl_funcs, p_glMultiTexCoordP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordP4uiv", offsetof(struct opengl_funcs, p_glMultiTexCoordP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordPointerEXT", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexCoordPointerSGIS", offsetof(struct opengl_funcs, p_glMultiTexCoordPointerSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glMultiTexEnvfEXT", offsetof(struct opengl_funcs, p_glMultiTexEnvfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexEnvfvEXT", offsetof(struct opengl_funcs, p_glMultiTexEnvfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexEnviEXT", offsetof(struct opengl_funcs, p_glMultiTexEnviEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexEnvivEXT", offsetof(struct opengl_funcs, p_glMultiTexEnvivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexGendEXT", offsetof(struct opengl_funcs, p_glMultiTexGendEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexGendvEXT", offsetof(struct opengl_funcs, p_glMultiTexGendvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexGenfEXT", offsetof(struct opengl_funcs, p_glMultiTexGenfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexGenfvEXT", offsetof(struct opengl_funcs, p_glMultiTexGenfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexGeniEXT", offsetof(struct opengl_funcs, p_glMultiTexGeniEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexGenivEXT", offsetof(struct opengl_funcs, p_glMultiTexGenivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexImage1DEXT", offsetof(struct opengl_funcs, p_glMultiTexImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexImage2DEXT", offsetof(struct opengl_funcs, p_glMultiTexImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexImage3DEXT", offsetof(struct opengl_funcs, p_glMultiTexImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexParameterIivEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexParameterfEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexParameterfvEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexParameteriEXT", offsetof(struct opengl_funcs, p_glMultiTexParameteriEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexParameterivEXT", offsetof(struct opengl_funcs, p_glMultiTexParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexRenderbufferEXT", offsetof(struct opengl_funcs, p_glMultiTexRenderbufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glMultiTexSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glMultiTexSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMultiTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glMultiTexSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glMulticastBarrierNV", offsetof(struct opengl_funcs, p_glMulticastBarrierNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastBlitFramebufferNV", offsetof(struct opengl_funcs, p_glMulticastBlitFramebufferNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastBufferSubDataNV", offsetof(struct opengl_funcs, p_glMulticastBufferSubDataNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastCopyBufferSubDataNV", offsetof(struct opengl_funcs, p_glMulticastCopyBufferSubDataNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastCopyImageSubDataNV", offsetof(struct opengl_funcs, p_glMulticastCopyImageSubDataNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastFramebufferSampleLocationsfvNV", offsetof(struct opengl_funcs, p_glMulticastFramebufferSampleLocationsfvNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastGetQueryObjecti64vNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjecti64vNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastGetQueryObjectivNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectivNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastGetQueryObjectui64vNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectui64vNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastGetQueryObjectuivNV", offsetof(struct opengl_funcs, p_glMulticastGetQueryObjectuivNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glMulticastScissorArrayvNVX", offsetof(struct opengl_funcs, p_glMulticastScissorArrayvNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, - { "glMulticastViewportArrayvNVX", offsetof(struct opengl_funcs, p_glMulticastViewportArrayvNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, - { "glMulticastViewportPositionWScaleNVX", offsetof(struct opengl_funcs, p_glMulticastViewportPositionWScaleNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, - { "glMulticastWaitSyncNV", offsetof(struct opengl_funcs, p_glMulticastWaitSyncNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glNamedBufferAttachMemoryNV", offsetof(struct opengl_funcs, p_glNamedBufferAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, - { "glNamedBufferData", offsetof(struct opengl_funcs, p_glNamedBufferData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedBufferDataEXT", offsetof(struct opengl_funcs, p_glNamedBufferDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedBufferPageCommitmentARB", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentARB), 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, - { "glNamedBufferPageCommitmentEXT", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentEXT), 0, 0, { GL_ARB_sparse_buffer, GL_EXTENSION_COUNT }}, - { "glNamedBufferPageCommitmentMemNV", offsetof(struct opengl_funcs, p_glNamedBufferPageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, - { "glNamedBufferStorage", offsetof(struct opengl_funcs, p_glNamedBufferStorage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedBufferStorageEXT", offsetof(struct opengl_funcs, p_glNamedBufferStorageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedBufferStorageExternalEXT", offsetof(struct opengl_funcs, p_glNamedBufferStorageExternalEXT), 0, 0, { GL_EXT_external_buffer, GL_EXTENSION_COUNT }}, - { "glNamedBufferStorageMemEXT", offsetof(struct opengl_funcs, p_glNamedBufferStorageMemEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glNamedBufferSubData", offsetof(struct opengl_funcs, p_glNamedBufferSubData), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedBufferSubDataEXT", offsetof(struct opengl_funcs, p_glNamedBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedCopyBufferSubDataEXT", offsetof(struct opengl_funcs, p_glNamedCopyBufferSubDataEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferDrawBuffer", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferDrawBuffers", offsetof(struct opengl_funcs, p_glNamedFramebufferDrawBuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferParameteri", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteri), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferParameteriEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferParameteriEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferReadBuffer", offsetof(struct opengl_funcs, p_glNamedFramebufferReadBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferRenderbuffer", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferRenderbufferEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferRenderbufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferSampleLocationsfvARB", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvARB), 0, 0, { GL_ARB_sample_locations, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferSampleLocationsfvNV", offsetof(struct opengl_funcs, p_glNamedFramebufferSampleLocationsfvNV), 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferSamplePositionsfvAMD", offsetof(struct opengl_funcs, p_glNamedFramebufferSamplePositionsfvAMD), 0, 0, { GL_AMD_framebuffer_sample_positions, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTexture", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTexture1DEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTexture2DEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTexture3DEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTexture3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTextureEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTextureFaceEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureFaceEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTextureLayer", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTextureLayerEXT", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureLayerEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedFramebufferTextureMultiviewOVR", offsetof(struct opengl_funcs, p_glNamedFramebufferTextureMultiviewOVR), 0, 0, { GL_OVR_multiview, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameter4dEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameter4dvEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameter4fEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameter4fvEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameter4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameterI4iEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameterI4ivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameterI4uiEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameterI4uivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameterI4uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParameters4fvEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParameters4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParametersI4ivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramLocalParametersI4uivEXT", offsetof(struct opengl_funcs, p_glNamedProgramLocalParametersI4uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedProgramStringEXT", offsetof(struct opengl_funcs, p_glNamedProgramStringEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedRenderbufferStorage", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorage), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedRenderbufferStorageEXT", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedRenderbufferStorageMultisample", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisample), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedRenderbufferStorageMultisampleAdvancedAMD", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleAdvancedAMD), 0, 0, { GL_AMD_framebuffer_multisample_advanced, GL_EXTENSION_COUNT }}, - { "glNamedRenderbufferStorageMultisampleCoverageEXT", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleCoverageEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedRenderbufferStorageMultisampleEXT", offsetof(struct opengl_funcs, p_glNamedRenderbufferStorageMultisampleEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glNamedStringARB", offsetof(struct opengl_funcs, p_glNamedStringARB), 0, 0, { GL_ARB_shading_language_include, GL_EXTENSION_COUNT }}, - { "glNewBufferRegion", offsetof(struct opengl_funcs, p_glNewBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, - { "glNewObjectBufferATI", offsetof(struct opengl_funcs, p_glNewObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glNormal3hNV", offsetof(struct opengl_funcs, p_glNormal3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glNormal3hvNV", offsetof(struct opengl_funcs, p_glNormal3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glNormal3x", offsetof(struct opengl_funcs, p_glNormal3x), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glNormal3xOES", offsetof(struct opengl_funcs, p_glNormal3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glNormal3xvOES", offsetof(struct opengl_funcs, p_glNormal3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glNormalFormatNV", offsetof(struct opengl_funcs, p_glNormalFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glNormalP3ui", offsetof(struct opengl_funcs, p_glNormalP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glNormalP3uiv", offsetof(struct opengl_funcs, p_glNormalP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glNormalPointerEXT", offsetof(struct opengl_funcs, p_glNormalPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glNormalPointerListIBM", offsetof(struct opengl_funcs, p_glNormalPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glNormalPointervINTEL", offsetof(struct opengl_funcs, p_glNormalPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, - { "glNormalStream3bATI", offsetof(struct opengl_funcs, p_glNormalStream3bATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3bvATI", offsetof(struct opengl_funcs, p_glNormalStream3bvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3dATI", offsetof(struct opengl_funcs, p_glNormalStream3dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3dvATI", offsetof(struct opengl_funcs, p_glNormalStream3dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3fATI", offsetof(struct opengl_funcs, p_glNormalStream3fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3fvATI", offsetof(struct opengl_funcs, p_glNormalStream3fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3iATI", offsetof(struct opengl_funcs, p_glNormalStream3iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3ivATI", offsetof(struct opengl_funcs, p_glNormalStream3ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3sATI", offsetof(struct opengl_funcs, p_glNormalStream3sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glNormalStream3svATI", offsetof(struct opengl_funcs, p_glNormalStream3svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glObjectLabel", offsetof(struct opengl_funcs, p_glObjectLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glObjectPtrLabel", offsetof(struct opengl_funcs, p_glObjectPtrLabel), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glObjectPurgeableAPPLE", offsetof(struct opengl_funcs, p_glObjectPurgeableAPPLE), 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, - { "glObjectUnpurgeableAPPLE", offsetof(struct opengl_funcs, p_glObjectUnpurgeableAPPLE), 0, 0, { GL_APPLE_object_purgeable, GL_EXTENSION_COUNT }}, - { "glOrthof", offsetof(struct opengl_funcs, p_glOrthof), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glOrthofOES", offsetof(struct opengl_funcs, p_glOrthofOES), 0, 0, { GL_OES_single_precision, GL_EXTENSION_COUNT }}, - { "glOrthox", offsetof(struct opengl_funcs, p_glOrthox), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glOrthoxOES", offsetof(struct opengl_funcs, p_glOrthoxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPNTrianglesfATI", offsetof(struct opengl_funcs, p_glPNTrianglesfATI), 0, 0, { GL_ATI_pn_triangles, GL_EXTENSION_COUNT }}, - { "glPNTrianglesiATI", offsetof(struct opengl_funcs, p_glPNTrianglesiATI), 0, 0, { GL_ATI_pn_triangles, GL_EXTENSION_COUNT }}, - { "glPassTexCoordATI", offsetof(struct opengl_funcs, p_glPassTexCoordATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glPassThroughxOES", offsetof(struct opengl_funcs, p_glPassThroughxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPatchParameterfv", offsetof(struct opengl_funcs, p_glPatchParameterfv), 4, 0, { GL_ARB_tessellation_shader, GL_EXTENSION_COUNT }}, - { "glPatchParameteri", offsetof(struct opengl_funcs, p_glPatchParameteri), 4, 0, { GL_ARB_tessellation_shader, GL_EXTENSION_COUNT }}, - { "glPathColorGenNV", offsetof(struct opengl_funcs, p_glPathColorGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathCommandsNV", offsetof(struct opengl_funcs, p_glPathCommandsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathCoordsNV", offsetof(struct opengl_funcs, p_glPathCoordsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathCoverDepthFuncNV", offsetof(struct opengl_funcs, p_glPathCoverDepthFuncNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathDashArrayNV", offsetof(struct opengl_funcs, p_glPathDashArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathFogGenNV", offsetof(struct opengl_funcs, p_glPathFogGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathGlyphIndexArrayNV", offsetof(struct opengl_funcs, p_glPathGlyphIndexArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathGlyphIndexRangeNV", offsetof(struct opengl_funcs, p_glPathGlyphIndexRangeNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathGlyphRangeNV", offsetof(struct opengl_funcs, p_glPathGlyphRangeNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathGlyphsNV", offsetof(struct opengl_funcs, p_glPathGlyphsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathMemoryGlyphIndexArrayNV", offsetof(struct opengl_funcs, p_glPathMemoryGlyphIndexArrayNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathParameterfNV", offsetof(struct opengl_funcs, p_glPathParameterfNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathParameterfvNV", offsetof(struct opengl_funcs, p_glPathParameterfvNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathParameteriNV", offsetof(struct opengl_funcs, p_glPathParameteriNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathParameterivNV", offsetof(struct opengl_funcs, p_glPathParameterivNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathStencilDepthOffsetNV", offsetof(struct opengl_funcs, p_glPathStencilDepthOffsetNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathStencilFuncNV", offsetof(struct opengl_funcs, p_glPathStencilFuncNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathStringNV", offsetof(struct opengl_funcs, p_glPathStringNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathSubCommandsNV", offsetof(struct opengl_funcs, p_glPathSubCommandsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathSubCoordsNV", offsetof(struct opengl_funcs, p_glPathSubCoordsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPathTexGenNV", offsetof(struct opengl_funcs, p_glPathTexGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPauseTransformFeedback", offsetof(struct opengl_funcs, p_glPauseTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glPauseTransformFeedbackNV", offsetof(struct opengl_funcs, p_glPauseTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glPixelDataRangeNV", offsetof(struct opengl_funcs, p_glPixelDataRangeNV), 0, 0, { GL_NV_pixel_data_range, GL_EXTENSION_COUNT }}, - { "glPixelMapx", offsetof(struct opengl_funcs, p_glPixelMapx), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPixelStorex", offsetof(struct opengl_funcs, p_glPixelStorex), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPixelTexGenParameterfSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, - { "glPixelTexGenParameterfvSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameterfvSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, - { "glPixelTexGenParameteriSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameteriSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, - { "glPixelTexGenParameterivSGIS", offsetof(struct opengl_funcs, p_glPixelTexGenParameterivSGIS), 0, 0, { GL_SGIS_pixel_texture, GL_EXTENSION_COUNT }}, - { "glPixelTexGenSGIX", offsetof(struct opengl_funcs, p_glPixelTexGenSGIX), 0, 0, { GL_SGIX_pixel_texture, GL_EXTENSION_COUNT }}, - { "glPixelTransferxOES", offsetof(struct opengl_funcs, p_glPixelTransferxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPixelTransformParameterfEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameterfEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, - { "glPixelTransformParameterfvEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameterfvEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, - { "glPixelTransformParameteriEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameteriEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, - { "glPixelTransformParameterivEXT", offsetof(struct opengl_funcs, p_glPixelTransformParameterivEXT), 0, 0, { GL_EXT_pixel_transform, GL_EXTENSION_COUNT }}, - { "glPixelZoomxOES", offsetof(struct opengl_funcs, p_glPixelZoomxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPointAlongPathNV", offsetof(struct opengl_funcs, p_glPointAlongPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glPointParameterf", offsetof(struct opengl_funcs, p_glPointParameterf), 1, 4, { GL_EXTENSION_COUNT }}, - { "glPointParameterfARB", offsetof(struct opengl_funcs, p_glPointParameterfARB), 0, 0, { GL_ARB_point_parameters, GL_EXTENSION_COUNT }}, - { "glPointParameterfEXT", offsetof(struct opengl_funcs, p_glPointParameterfEXT), 0, 0, { GL_EXT_point_parameters, GL_EXTENSION_COUNT }}, - { "glPointParameterfSGIS", offsetof(struct opengl_funcs, p_glPointParameterfSGIS), 0, 0, { GL_SGIS_point_parameters, GL_EXTENSION_COUNT }}, - { "glPointParameterfv", offsetof(struct opengl_funcs, p_glPointParameterfv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glPointParameterfvARB", offsetof(struct opengl_funcs, p_glPointParameterfvARB), 0, 0, { GL_ARB_point_parameters, GL_EXTENSION_COUNT }}, - { "glPointParameterfvEXT", offsetof(struct opengl_funcs, p_glPointParameterfvEXT), 0, 0, { GL_EXT_point_parameters, GL_EXTENSION_COUNT }}, - { "glPointParameterfvSGIS", offsetof(struct opengl_funcs, p_glPointParameterfvSGIS), 0, 0, { GL_SGIS_point_parameters, GL_EXTENSION_COUNT }}, - { "glPointParameteri", offsetof(struct opengl_funcs, p_glPointParameteri), 1, 4, { GL_EXTENSION_COUNT }}, - { "glPointParameteriNV", offsetof(struct opengl_funcs, p_glPointParameteriNV), 0, 0, { GL_NV_point_sprite, GL_EXTENSION_COUNT }}, - { "glPointParameteriv", offsetof(struct opengl_funcs, p_glPointParameteriv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glPointParameterivNV", offsetof(struct opengl_funcs, p_glPointParameterivNV), 0, 0, { GL_NV_point_sprite, GL_EXTENSION_COUNT }}, - { "glPointParameterx", offsetof(struct opengl_funcs, p_glPointParameterx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glPointParameterxv", offsetof(struct opengl_funcs, p_glPointParameterxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glPointParameterxvOES", offsetof(struct opengl_funcs, p_glPointParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPointSizex", offsetof(struct opengl_funcs, p_glPointSizex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glPointSizexOES", offsetof(struct opengl_funcs, p_glPointSizexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPollAsyncSGIX", offsetof(struct opengl_funcs, p_glPollAsyncSGIX), 0, 0, { GL_SGIX_async, GL_EXTENSION_COUNT }}, - { "glPollInstrumentsSGIX", offsetof(struct opengl_funcs, p_glPollInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, - { "glPolygonOffsetClamp", offsetof(struct opengl_funcs, p_glPolygonOffsetClamp), 4, 6, { GL_ARB_polygon_offset_clamp, GL_EXTENSION_COUNT }}, - { "glPolygonOffsetClampEXT", offsetof(struct opengl_funcs, p_glPolygonOffsetClampEXT), 0, 0, { GL_EXT_polygon_offset_clamp, GL_EXTENSION_COUNT }}, - { "glPolygonOffsetEXT", offsetof(struct opengl_funcs, p_glPolygonOffsetEXT), 0, 0, { GL_EXT_polygon_offset, GL_EXTENSION_COUNT }}, - { "glPolygonOffsetx", offsetof(struct opengl_funcs, p_glPolygonOffsetx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glPolygonOffsetxOES", offsetof(struct opengl_funcs, p_glPolygonOffsetxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glPopDebugGroup", offsetof(struct opengl_funcs, p_glPopDebugGroup), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glPopGroupMarkerEXT", offsetof(struct opengl_funcs, p_glPopGroupMarkerEXT), 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, - { "glPresentFrameDualFillNV", offsetof(struct opengl_funcs, p_glPresentFrameDualFillNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, - { "glPresentFrameKeyedNV", offsetof(struct opengl_funcs, p_glPresentFrameKeyedNV), 0, 0, { GL_NV_present_video, GL_EXTENSION_COUNT }}, - { "glPrimitiveBoundingBox", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBox), 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, - { "glPrimitiveBoundingBoxARB", offsetof(struct opengl_funcs, p_glPrimitiveBoundingBoxARB), 0, 0, { GL_ARB_ES3_2_compatibility, GL_EXTENSION_COUNT }}, - { "glPrimitiveRestartIndex", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndex), 3, 1, { GL_EXTENSION_COUNT }}, - { "glPrimitiveRestartIndexNV", offsetof(struct opengl_funcs, p_glPrimitiveRestartIndexNV), 0, 0, { GL_NV_primitive_restart, GL_EXTENSION_COUNT }}, - { "glPrimitiveRestartNV", offsetof(struct opengl_funcs, p_glPrimitiveRestartNV), 0, 0, { GL_NV_primitive_restart, GL_EXTENSION_COUNT }}, - { "glPrioritizeTexturesEXT", offsetof(struct opengl_funcs, p_glPrioritizeTexturesEXT), 0, 0, { GL_EXT_texture_object, GL_EXTENSION_COUNT }}, - { "glPrioritizeTexturesxOES", offsetof(struct opengl_funcs, p_glPrioritizeTexturesxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glProgramBinary", offsetof(struct opengl_funcs, p_glProgramBinary), 4, 1, { GL_ARB_get_program_binary, GL_EXTENSION_COUNT }}, - { "glProgramBufferParametersIivNV", offsetof(struct opengl_funcs, p_glProgramBufferParametersIivNV), 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, - { "glProgramBufferParametersIuivNV", offsetof(struct opengl_funcs, p_glProgramBufferParametersIuivNV), 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, - { "glProgramBufferParametersfvNV", offsetof(struct opengl_funcs, p_glProgramBufferParametersfvNV), 0, 0, { GL_NV_parameter_buffer_object, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameter4dARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameter4dvARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4dvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameter4fARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameter4fvARB", offsetof(struct opengl_funcs, p_glProgramEnvParameter4fvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameterI4iNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4iNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameterI4ivNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameterI4uiNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uiNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameterI4uivNV", offsetof(struct opengl_funcs, p_glProgramEnvParameterI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramEnvParameters4fvEXT", offsetof(struct opengl_funcs, p_glProgramEnvParameters4fvEXT), 0, 0, { GL_EXT_gpu_program_parameters, GL_EXTENSION_COUNT }}, - { "glProgramEnvParametersI4ivNV", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramEnvParametersI4uivNV", offsetof(struct opengl_funcs, p_glProgramEnvParametersI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameter4dARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameter4dvARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4dvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameter4fARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameter4fvARB", offsetof(struct opengl_funcs, p_glProgramLocalParameter4fvARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameterI4iNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4iNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameterI4ivNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameterI4uiNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uiNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameterI4uivNV", offsetof(struct opengl_funcs, p_glProgramLocalParameterI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramLocalParameters4fvEXT", offsetof(struct opengl_funcs, p_glProgramLocalParameters4fvEXT), 0, 0, { GL_EXT_gpu_program_parameters, GL_EXTENSION_COUNT }}, - { "glProgramLocalParametersI4ivNV", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4ivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramLocalParametersI4uivNV", offsetof(struct opengl_funcs, p_glProgramLocalParametersI4uivNV), 0, 0, { GL_NV_gpu_program4, GL_EXTENSION_COUNT }}, - { "glProgramNamedParameter4dNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, - { "glProgramNamedParameter4dvNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4dvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, - { "glProgramNamedParameter4fNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, - { "glProgramNamedParameter4fvNV", offsetof(struct opengl_funcs, p_glProgramNamedParameter4fvNV), 0, 0, { GL_NV_fragment_program, GL_EXTENSION_COUNT }}, - { "glProgramParameter4dNV", offsetof(struct opengl_funcs, p_glProgramParameter4dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramParameter4dvNV", offsetof(struct opengl_funcs, p_glProgramParameter4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramParameter4fNV", offsetof(struct opengl_funcs, p_glProgramParameter4fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramParameter4fvNV", offsetof(struct opengl_funcs, p_glProgramParameter4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramParameteri", offsetof(struct opengl_funcs, p_glProgramParameteri), 4, 1, { GL_ARB_get_program_binary, GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramParameteriARB", offsetof(struct opengl_funcs, p_glProgramParameteriARB), 0, 0, { GL_ARB_geometry_shader4, GL_EXTENSION_COUNT }}, - { "glProgramParameteriEXT", offsetof(struct opengl_funcs, p_glProgramParameteriEXT), 0, 0, { GL_EXT_geometry_shader4, GL_EXTENSION_COUNT }}, - { "glProgramParameters4dvNV", offsetof(struct opengl_funcs, p_glProgramParameters4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramParameters4fvNV", offsetof(struct opengl_funcs, p_glProgramParameters4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramPathFragmentInputGenNV", offsetof(struct opengl_funcs, p_glProgramPathFragmentInputGenNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glProgramStringARB", offsetof(struct opengl_funcs, p_glProgramStringARB), 0, 0, { GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXTENSION_COUNT }}, - { "glProgramSubroutineParametersuivNV", offsetof(struct opengl_funcs, p_glProgramSubroutineParametersuivNV), 0, 0, { GL_NV_gpu_program5, GL_NV_gpu_program_fp64, GL_EXTENSION_COUNT }}, - { "glProgramUniform1d", offsetof(struct opengl_funcs, p_glProgramUniform1d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1dEXT", offsetof(struct opengl_funcs, p_glProgramUniform1dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform1dv", offsetof(struct opengl_funcs, p_glProgramUniform1dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform1dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform1f", offsetof(struct opengl_funcs, p_glProgramUniform1f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1fEXT", offsetof(struct opengl_funcs, p_glProgramUniform1fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform1fv", offsetof(struct opengl_funcs, p_glProgramUniform1fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform1fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform1i", offsetof(struct opengl_funcs, p_glProgramUniform1i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform1i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform1i64NV", offsetof(struct opengl_funcs, p_glProgramUniform1i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform1i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform1i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform1i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform1i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform1iEXT", offsetof(struct opengl_funcs, p_glProgramUniform1iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform1iv", offsetof(struct opengl_funcs, p_glProgramUniform1iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform1ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform1ui", offsetof(struct opengl_funcs, p_glProgramUniform1ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform1ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform1ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform1ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform1ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform1ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform1ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform1uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform1uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform1uiv", offsetof(struct opengl_funcs, p_glProgramUniform1uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform1uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform1uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2d", offsetof(struct opengl_funcs, p_glProgramUniform2d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2dEXT", offsetof(struct opengl_funcs, p_glProgramUniform2dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2dv", offsetof(struct opengl_funcs, p_glProgramUniform2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2f", offsetof(struct opengl_funcs, p_glProgramUniform2f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2fEXT", offsetof(struct opengl_funcs, p_glProgramUniform2fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2fv", offsetof(struct opengl_funcs, p_glProgramUniform2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2i", offsetof(struct opengl_funcs, p_glProgramUniform2i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform2i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform2i64NV", offsetof(struct opengl_funcs, p_glProgramUniform2i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform2i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform2i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform2i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform2i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform2iEXT", offsetof(struct opengl_funcs, p_glProgramUniform2iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2iv", offsetof(struct opengl_funcs, p_glProgramUniform2iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform2ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2ui", offsetof(struct opengl_funcs, p_glProgramUniform2ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform2ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform2ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform2ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform2ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform2ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform2ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform2uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform2uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform2uiv", offsetof(struct opengl_funcs, p_glProgramUniform2uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform2uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform2uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3d", offsetof(struct opengl_funcs, p_glProgramUniform3d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3dEXT", offsetof(struct opengl_funcs, p_glProgramUniform3dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3dv", offsetof(struct opengl_funcs, p_glProgramUniform3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3f", offsetof(struct opengl_funcs, p_glProgramUniform3f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3fEXT", offsetof(struct opengl_funcs, p_glProgramUniform3fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3fv", offsetof(struct opengl_funcs, p_glProgramUniform3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3i", offsetof(struct opengl_funcs, p_glProgramUniform3i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform3i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform3i64NV", offsetof(struct opengl_funcs, p_glProgramUniform3i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform3i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform3i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform3i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform3i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform3iEXT", offsetof(struct opengl_funcs, p_glProgramUniform3iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3iv", offsetof(struct opengl_funcs, p_glProgramUniform3iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform3ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3ui", offsetof(struct opengl_funcs, p_glProgramUniform3ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform3ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform3ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform3ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform3ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform3ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform3ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform3uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform3uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform3uiv", offsetof(struct opengl_funcs, p_glProgramUniform3uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform3uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform3uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4d", offsetof(struct opengl_funcs, p_glProgramUniform4d), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4dEXT", offsetof(struct opengl_funcs, p_glProgramUniform4dEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4dv", offsetof(struct opengl_funcs, p_glProgramUniform4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniform4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4f", offsetof(struct opengl_funcs, p_glProgramUniform4f), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4fEXT", offsetof(struct opengl_funcs, p_glProgramUniform4fEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4fv", offsetof(struct opengl_funcs, p_glProgramUniform4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniform4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4i", offsetof(struct opengl_funcs, p_glProgramUniform4i), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4i64ARB", offsetof(struct opengl_funcs, p_glProgramUniform4i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform4i64NV", offsetof(struct opengl_funcs, p_glProgramUniform4i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform4i64vARB", offsetof(struct opengl_funcs, p_glProgramUniform4i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform4i64vNV", offsetof(struct opengl_funcs, p_glProgramUniform4i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform4iEXT", offsetof(struct opengl_funcs, p_glProgramUniform4iEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4iv", offsetof(struct opengl_funcs, p_glProgramUniform4iv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4ivEXT", offsetof(struct opengl_funcs, p_glProgramUniform4ivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4ui", offsetof(struct opengl_funcs, p_glProgramUniform4ui), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4ui64ARB", offsetof(struct opengl_funcs, p_glProgramUniform4ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform4ui64NV", offsetof(struct opengl_funcs, p_glProgramUniform4ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform4ui64vARB", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glProgramUniform4ui64vNV", offsetof(struct opengl_funcs, p_glProgramUniform4ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glProgramUniform4uiEXT", offsetof(struct opengl_funcs, p_glProgramUniform4uiEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniform4uiv", offsetof(struct opengl_funcs, p_glProgramUniform4uiv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniform4uivEXT", offsetof(struct opengl_funcs, p_glProgramUniform4uivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformHandleui64ARB", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64ARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glProgramUniformHandleui64NV", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64NV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glProgramUniformHandleui64vARB", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glProgramUniformHandleui64vNV", offsetof(struct opengl_funcs, p_glProgramUniformHandleui64vNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x3dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x3fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x4dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x4fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix2x4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix2x4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x2dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x2fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x4dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x4fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix3x4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix3x4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x2dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x2dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x2fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x2fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x2fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x3dv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x3dvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3dvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x3fv", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fv), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glProgramUniformMatrix4x3fvEXT", offsetof(struct opengl_funcs, p_glProgramUniformMatrix4x3fvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glProgramUniformui64NV", offsetof(struct opengl_funcs, p_glProgramUniformui64NV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glProgramUniformui64vNV", offsetof(struct opengl_funcs, p_glProgramUniformui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glProgramVertexLimitNV", offsetof(struct opengl_funcs, p_glProgramVertexLimitNV), 0, 0, { GL_NV_geometry_program4, GL_EXTENSION_COUNT }}, - { "glProvokingVertex", offsetof(struct opengl_funcs, p_glProvokingVertex), 3, 2, { GL_ARB_provoking_vertex, GL_EXTENSION_COUNT }}, - { "glProvokingVertexEXT", offsetof(struct opengl_funcs, p_glProvokingVertexEXT), 0, 0, { GL_EXT_provoking_vertex, GL_EXTENSION_COUNT }}, - { "glPushClientAttribDefaultEXT", offsetof(struct opengl_funcs, p_glPushClientAttribDefaultEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glPushDebugGroup", offsetof(struct opengl_funcs, p_glPushDebugGroup), 4, 3, { GL_KHR_debug, GL_EXTENSION_COUNT }}, - { "glPushGroupMarkerEXT", offsetof(struct opengl_funcs, p_glPushGroupMarkerEXT), 0, 0, { GL_EXT_debug_marker, GL_EXTENSION_COUNT }}, - { "glQueryCounter", offsetof(struct opengl_funcs, p_glQueryCounter), 3, 3, { GL_ARB_timer_query, GL_EXTENSION_COUNT }}, - { "glQueryMatrixxOES", offsetof(struct opengl_funcs, p_glQueryMatrixxOES), 0, 0, { GL_OES_query_matrix, GL_EXTENSION_COUNT }}, - { "glQueryObjectParameteruiAMD", offsetof(struct opengl_funcs, p_glQueryObjectParameteruiAMD), 0, 0, { GL_AMD_occlusion_query_event, GL_EXTENSION_COUNT }}, - { "glQueryResourceNV", offsetof(struct opengl_funcs, p_glQueryResourceNV), 0, 0, { GL_NV_query_resource, GL_EXTENSION_COUNT }}, - { "glQueryResourceTagNV", offsetof(struct opengl_funcs, p_glQueryResourceTagNV), 0, 0, { GL_NV_query_resource_tag, GL_EXTENSION_COUNT }}, - { "glRasterPos2xOES", offsetof(struct opengl_funcs, p_glRasterPos2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glRasterPos2xvOES", offsetof(struct opengl_funcs, p_glRasterPos2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glRasterPos3xOES", offsetof(struct opengl_funcs, p_glRasterPos3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glRasterPos3xvOES", offsetof(struct opengl_funcs, p_glRasterPos3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glRasterPos4xOES", offsetof(struct opengl_funcs, p_glRasterPos4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glRasterPos4xvOES", offsetof(struct opengl_funcs, p_glRasterPos4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glRasterSamplesEXT", offsetof(struct opengl_funcs, p_glRasterSamplesEXT), 0, 0, { GL_EXT_raster_multisample, GL_NV_framebuffer_mixed_samples, GL_EXTENSION_COUNT }}, - { "glReadBufferRegion", offsetof(struct opengl_funcs, p_glReadBufferRegion), 0, 0, { GL_KTX_buffer_region, GL_EXTENSION_COUNT }}, - { "glReadInstrumentsSGIX", offsetof(struct opengl_funcs, p_glReadInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, - { "glReadnPixels", offsetof(struct opengl_funcs, p_glReadnPixels), 4, 5, { GL_KHR_robustness, GL_EXTENSION_COUNT }}, - { "glReadnPixelsARB", offsetof(struct opengl_funcs, p_glReadnPixelsARB), 0, 0, { GL_ARB_robustness, GL_EXTENSION_COUNT }}, - { "glRectxOES", offsetof(struct opengl_funcs, p_glRectxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glRectxvOES", offsetof(struct opengl_funcs, p_glRectxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glReferencePlaneSGIX", offsetof(struct opengl_funcs, p_glReferencePlaneSGIX), 0, 0, { GL_SGIX_reference_plane, GL_EXTENSION_COUNT }}, - { "glReleaseKeyedMutexWin32EXT", offsetof(struct opengl_funcs, p_glReleaseKeyedMutexWin32EXT), 0, 0, { GL_EXT_win32_keyed_mutex, GL_EXTENSION_COUNT }}, - { "glReleaseShaderCompiler", offsetof(struct opengl_funcs, p_glReleaseShaderCompiler), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, - { "glRenderGpuMaskNV", offsetof(struct opengl_funcs, p_glRenderGpuMaskNV), 0, 0, { GL_NV_gpu_multicast, GL_EXTENSION_COUNT }}, - { "glRenderbufferStorage", offsetof(struct opengl_funcs, p_glRenderbufferStorage), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glRenderbufferStorageEXT", offsetof(struct opengl_funcs, p_glRenderbufferStorageEXT), 0, 0, { GL_EXT_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glRenderbufferStorageMultisample", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisample), 3, 0, { GL_ARB_framebuffer_object, GL_EXTENSION_COUNT }}, - { "glRenderbufferStorageMultisampleAdvancedAMD", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleAdvancedAMD), 0, 0, { GL_AMD_framebuffer_multisample_advanced, GL_EXTENSION_COUNT }}, - { "glRenderbufferStorageMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleCoverageNV), 0, 0, { GL_NV_framebuffer_multisample_coverage, GL_EXTENSION_COUNT }}, - { "glRenderbufferStorageMultisampleEXT", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleEXT), 0, 0, { GL_EXT_framebuffer_multisample, GL_EXTENSION_COUNT }}, - { "glReplacementCodePointerSUN", offsetof(struct opengl_funcs, p_glReplacementCodePointerSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, - { "glReplacementCodeubSUN", offsetof(struct opengl_funcs, p_glReplacementCodeubSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, - { "glReplacementCodeubvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeubvSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiColor3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiColor3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiColor4ubVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiColor4ubVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiColor4ubVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiTexCoord2fVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiTexCoord2fVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiTexCoord2fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiVertex3fSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuiVertex3fvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuiVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glReplacementCodeuivSUN", offsetof(struct opengl_funcs, p_glReplacementCodeuivSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, - { "glReplacementCodeusSUN", offsetof(struct opengl_funcs, p_glReplacementCodeusSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, - { "glReplacementCodeusvSUN", offsetof(struct opengl_funcs, p_glReplacementCodeusvSUN), 0, 0, { GL_SUN_triangle_list, GL_EXTENSION_COUNT }}, - { "glRequestResidentProgramsNV", offsetof(struct opengl_funcs, p_glRequestResidentProgramsNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glResetHistogram", offsetof(struct opengl_funcs, p_glResetHistogram), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glResetHistogramEXT", offsetof(struct opengl_funcs, p_glResetHistogramEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glResetMemoryObjectParameterNV", offsetof(struct opengl_funcs, p_glResetMemoryObjectParameterNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, - { "glResetMinmax", offsetof(struct opengl_funcs, p_glResetMinmax), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glResetMinmaxEXT", offsetof(struct opengl_funcs, p_glResetMinmaxEXT), 0, 0, { GL_EXT_histogram, GL_EXTENSION_COUNT }}, - { "glResizeBuffersMESA", offsetof(struct opengl_funcs, p_glResizeBuffersMESA), 0, 0, { GL_MESA_resize_buffers, GL_EXTENSION_COUNT }}, - { "glResolveDepthValuesNV", offsetof(struct opengl_funcs, p_glResolveDepthValuesNV), 0, 0, { GL_NV_sample_locations, GL_EXTENSION_COUNT }}, - { "glResumeTransformFeedback", offsetof(struct opengl_funcs, p_glResumeTransformFeedback), 4, 0, { GL_ARB_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glResumeTransformFeedbackNV", offsetof(struct opengl_funcs, p_glResumeTransformFeedbackNV), 0, 0, { GL_NV_transform_feedback2, GL_EXTENSION_COUNT }}, - { "glRotatex", offsetof(struct opengl_funcs, p_glRotatex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glRotatexOES", offsetof(struct opengl_funcs, p_glRotatexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glSampleCoverage", offsetof(struct opengl_funcs, p_glSampleCoverage), 1, 3, { GL_EXTENSION_COUNT }}, - { "glSampleCoverageARB", offsetof(struct opengl_funcs, p_glSampleCoverageARB), 0, 0, { GL_ARB_multisample, GL_EXTENSION_COUNT }}, - { "glSampleCoveragex", offsetof(struct opengl_funcs, p_glSampleCoveragex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glSampleMapATI", offsetof(struct opengl_funcs, p_glSampleMapATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glSampleMaskEXT", offsetof(struct opengl_funcs, p_glSampleMaskEXT), 0, 0, { GL_EXT_multisample, GL_EXTENSION_COUNT }}, - { "glSampleMaskIndexedNV", offsetof(struct opengl_funcs, p_glSampleMaskIndexedNV), 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, - { "glSampleMaskSGIS", offsetof(struct opengl_funcs, p_glSampleMaskSGIS), 0, 0, { GL_SGIS_multisample, GL_EXTENSION_COUNT }}, - { "glSampleMaski", offsetof(struct opengl_funcs, p_glSampleMaski), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, - { "glSamplePatternEXT", offsetof(struct opengl_funcs, p_glSamplePatternEXT), 0, 0, { GL_EXT_multisample, GL_EXTENSION_COUNT }}, - { "glSamplePatternSGIS", offsetof(struct opengl_funcs, p_glSamplePatternSGIS), 0, 0, { GL_SGIS_multisample, GL_EXTENSION_COUNT }}, - { "glSamplerParameterIiv", offsetof(struct opengl_funcs, p_glSamplerParameterIiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glSamplerParameterIuiv", offsetof(struct opengl_funcs, p_glSamplerParameterIuiv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glSamplerParameterf", offsetof(struct opengl_funcs, p_glSamplerParameterf), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glSamplerParameterfv", offsetof(struct opengl_funcs, p_glSamplerParameterfv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glSamplerParameteri", offsetof(struct opengl_funcs, p_glSamplerParameteri), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glSamplerParameteriv", offsetof(struct opengl_funcs, p_glSamplerParameteriv), 3, 3, { GL_ARB_sampler_objects, GL_EXTENSION_COUNT }}, - { "glScalex", offsetof(struct opengl_funcs, p_glScalex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glScalexOES", offsetof(struct opengl_funcs, p_glScalexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glScissorArrayv", offsetof(struct opengl_funcs, p_glScissorArrayv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glScissorExclusiveArrayvNV", offsetof(struct opengl_funcs, p_glScissorExclusiveArrayvNV), 0, 0, { GL_NV_scissor_exclusive, GL_EXTENSION_COUNT }}, - { "glScissorExclusiveNV", offsetof(struct opengl_funcs, p_glScissorExclusiveNV), 0, 0, { GL_NV_scissor_exclusive, GL_EXTENSION_COUNT }}, - { "glScissorIndexed", offsetof(struct opengl_funcs, p_glScissorIndexed), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glScissorIndexedv", offsetof(struct opengl_funcs, p_glScissorIndexedv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3b", offsetof(struct opengl_funcs, p_glSecondaryColor3b), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3bEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3bEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3bv", offsetof(struct opengl_funcs, p_glSecondaryColor3bv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3bvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3bvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3d", offsetof(struct opengl_funcs, p_glSecondaryColor3d), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3dEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3dEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3dv", offsetof(struct opengl_funcs, p_glSecondaryColor3dv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3dvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3dvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3f", offsetof(struct opengl_funcs, p_glSecondaryColor3f), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3fEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3fEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3fv", offsetof(struct opengl_funcs, p_glSecondaryColor3fv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3fvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3fvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3hNV", offsetof(struct opengl_funcs, p_glSecondaryColor3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3hvNV", offsetof(struct opengl_funcs, p_glSecondaryColor3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3i", offsetof(struct opengl_funcs, p_glSecondaryColor3i), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3iEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3iEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3iv", offsetof(struct opengl_funcs, p_glSecondaryColor3iv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3ivEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3ivEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3s", offsetof(struct opengl_funcs, p_glSecondaryColor3s), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3sEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3sEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3sv", offsetof(struct opengl_funcs, p_glSecondaryColor3sv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3svEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3svEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3ub", offsetof(struct opengl_funcs, p_glSecondaryColor3ub), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3ubEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3ubEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3ubv", offsetof(struct opengl_funcs, p_glSecondaryColor3ubv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3ubvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3ubvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3ui", offsetof(struct opengl_funcs, p_glSecondaryColor3ui), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3uiEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3uiEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3uiv", offsetof(struct opengl_funcs, p_glSecondaryColor3uiv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3uivEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3uivEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3us", offsetof(struct opengl_funcs, p_glSecondaryColor3us), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3usEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3usEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColor3usv", offsetof(struct opengl_funcs, p_glSecondaryColor3usv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColor3usvEXT", offsetof(struct opengl_funcs, p_glSecondaryColor3usvEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColorFormatNV", offsetof(struct opengl_funcs, p_glSecondaryColorFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glSecondaryColorP3ui", offsetof(struct opengl_funcs, p_glSecondaryColorP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glSecondaryColorP3uiv", offsetof(struct opengl_funcs, p_glSecondaryColorP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glSecondaryColorPointer", offsetof(struct opengl_funcs, p_glSecondaryColorPointer), 1, 4, { GL_EXTENSION_COUNT }}, - { "glSecondaryColorPointerEXT", offsetof(struct opengl_funcs, p_glSecondaryColorPointerEXT), 0, 0, { GL_EXT_secondary_color, GL_EXTENSION_COUNT }}, - { "glSecondaryColorPointerListIBM", offsetof(struct opengl_funcs, p_glSecondaryColorPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glSelectPerfMonitorCountersAMD", offsetof(struct opengl_funcs, p_glSelectPerfMonitorCountersAMD), 0, 0, { GL_AMD_performance_monitor, GL_EXTENSION_COUNT }}, - { "glSelectTextureCoordSetSGIS", offsetof(struct opengl_funcs, p_glSelectTextureCoordSetSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glSelectTextureSGIS", offsetof(struct opengl_funcs, p_glSelectTextureSGIS), 0, 0, { GL_SGIS_multitexture, GL_EXTENSION_COUNT }}, - { "glSemaphoreParameterivNV", offsetof(struct opengl_funcs, p_glSemaphoreParameterivNV), 0, 0, { GL_NV_timeline_semaphore, GL_EXTENSION_COUNT }}, - { "glSemaphoreParameterui64vEXT", offsetof(struct opengl_funcs, p_glSemaphoreParameterui64vEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glSeparableFilter2D", offsetof(struct opengl_funcs, p_glSeparableFilter2D), 0, 0, { GL_ARB_imaging, GL_EXTENSION_COUNT }}, - { "glSeparableFilter2DEXT", offsetof(struct opengl_funcs, p_glSeparableFilter2DEXT), 0, 0, { GL_EXT_convolution, GL_EXTENSION_COUNT }}, - { "glSetFenceAPPLE", offsetof(struct opengl_funcs, p_glSetFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glSetFenceNV", offsetof(struct opengl_funcs, p_glSetFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, - { "glSetFragmentShaderConstantATI", offsetof(struct opengl_funcs, p_glSetFragmentShaderConstantATI), 0, 0, { GL_ATI_fragment_shader, GL_EXTENSION_COUNT }}, - { "glSetInvariantEXT", offsetof(struct opengl_funcs, p_glSetInvariantEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glSetLocalConstantEXT", offsetof(struct opengl_funcs, p_glSetLocalConstantEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glSetMultisamplefvAMD", offsetof(struct opengl_funcs, p_glSetMultisamplefvAMD), 0, 0, { GL_AMD_sample_positions, GL_EXTENSION_COUNT }}, - { "glShaderBinary", offsetof(struct opengl_funcs, p_glShaderBinary), 4, 1, { GL_ARB_ES2_compatibility, GL_EXTENSION_COUNT }}, - { "glShaderOp1EXT", offsetof(struct opengl_funcs, p_glShaderOp1EXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glShaderOp2EXT", offsetof(struct opengl_funcs, p_glShaderOp2EXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glShaderOp3EXT", offsetof(struct opengl_funcs, p_glShaderOp3EXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glShaderSource", offsetof(struct opengl_funcs, p_glShaderSource), 2, 0, { GL_EXTENSION_COUNT }}, - { "glShaderSourceARB", offsetof(struct opengl_funcs, p_glShaderSourceARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glShaderStorageBlockBinding", offsetof(struct opengl_funcs, p_glShaderStorageBlockBinding), 4, 3, { GL_ARB_shader_storage_buffer_object, GL_EXTENSION_COUNT }}, - { "glShadingRateCombinerOpsEXT", offsetof(struct opengl_funcs, p_glShadingRateCombinerOpsEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, - { "glShadingRateEXT", offsetof(struct opengl_funcs, p_glShadingRateEXT), 0, 0, { GL_EXT_fragment_shading_rate, GL_EXT_fragment_shading_rate_primitive, GL_EXT_fragment_shading_rate_attachment, GL_EXTENSION_COUNT }}, - { "glShadingRateImageBarrierNV", offsetof(struct opengl_funcs, p_glShadingRateImageBarrierNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, - { "glShadingRateImagePaletteNV", offsetof(struct opengl_funcs, p_glShadingRateImagePaletteNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, - { "glShadingRateSampleOrderCustomNV", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderCustomNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, - { "glShadingRateSampleOrderNV", offsetof(struct opengl_funcs, p_glShadingRateSampleOrderNV), 0, 0, { GL_NV_shading_rate_image, GL_EXTENSION_COUNT }}, - { "glSharpenTexFuncSGIS", offsetof(struct opengl_funcs, p_glSharpenTexFuncSGIS), 0, 0, { GL_SGIS_sharpen_texture, GL_EXTENSION_COUNT }}, - { "glSignalSemaphoreEXT", offsetof(struct opengl_funcs, p_glSignalSemaphoreEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glSignalSemaphoreui64NVX", offsetof(struct opengl_funcs, p_glSignalSemaphoreui64NVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, - { "glSignalVkFenceNV", offsetof(struct opengl_funcs, p_glSignalVkFenceNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, - { "glSignalVkSemaphoreNV", offsetof(struct opengl_funcs, p_glSignalVkSemaphoreNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, - { "glSpecializeShader", offsetof(struct opengl_funcs, p_glSpecializeShader), 4, 6, { GL_EXTENSION_COUNT }}, - { "glSpecializeShaderARB", offsetof(struct opengl_funcs, p_glSpecializeShaderARB), 0, 0, { GL_ARB_gl_spirv, GL_EXTENSION_COUNT }}, - { "glSpriteParameterfSGIX", offsetof(struct opengl_funcs, p_glSpriteParameterfSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, - { "glSpriteParameterfvSGIX", offsetof(struct opengl_funcs, p_glSpriteParameterfvSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, - { "glSpriteParameteriSGIX", offsetof(struct opengl_funcs, p_glSpriteParameteriSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, - { "glSpriteParameterivSGIX", offsetof(struct opengl_funcs, p_glSpriteParameterivSGIX), 0, 0, { GL_SGIX_sprite, GL_EXTENSION_COUNT }}, - { "glStartInstrumentsSGIX", offsetof(struct opengl_funcs, p_glStartInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, - { "glStateCaptureNV", offsetof(struct opengl_funcs, p_glStateCaptureNV), 0, 0, { GL_NV_command_list, GL_EXTENSION_COUNT }}, - { "glStencilClearTagEXT", offsetof(struct opengl_funcs, p_glStencilClearTagEXT), 0, 0, { GL_EXT_stencil_clear_tag, GL_EXTENSION_COUNT }}, - { "glStencilFillPathInstancedNV", offsetof(struct opengl_funcs, p_glStencilFillPathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStencilFillPathNV", offsetof(struct opengl_funcs, p_glStencilFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStencilFuncSeparate", offsetof(struct opengl_funcs, p_glStencilFuncSeparate), 2, 0, { GL_EXTENSION_COUNT }}, - { "glStencilFuncSeparateATI", offsetof(struct opengl_funcs, p_glStencilFuncSeparateATI), 0, 0, { GL_ATI_separate_stencil, GL_EXTENSION_COUNT }}, - { "glStencilMaskSeparate", offsetof(struct opengl_funcs, p_glStencilMaskSeparate), 2, 0, { GL_EXTENSION_COUNT }}, - { "glStencilOpSeparate", offsetof(struct opengl_funcs, p_glStencilOpSeparate), 2, 0, { GL_EXTENSION_COUNT }}, - { "glStencilOpSeparateATI", offsetof(struct opengl_funcs, p_glStencilOpSeparateATI), 0, 0, { GL_ATI_separate_stencil, GL_EXTENSION_COUNT }}, - { "glStencilOpValueAMD", offsetof(struct opengl_funcs, p_glStencilOpValueAMD), 0, 0, { GL_AMD_stencil_operation_extended, GL_EXTENSION_COUNT }}, - { "glStencilStrokePathInstancedNV", offsetof(struct opengl_funcs, p_glStencilStrokePathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStencilStrokePathNV", offsetof(struct opengl_funcs, p_glStencilStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStencilThenCoverFillPathInstancedNV", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStencilThenCoverFillPathNV", offsetof(struct opengl_funcs, p_glStencilThenCoverFillPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStencilThenCoverStrokePathInstancedNV", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathInstancedNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStencilThenCoverStrokePathNV", offsetof(struct opengl_funcs, p_glStencilThenCoverStrokePathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glStopInstrumentsSGIX", offsetof(struct opengl_funcs, p_glStopInstrumentsSGIX), 0, 0, { GL_SGIX_instruments, GL_EXTENSION_COUNT }}, - { "glStringMarkerGREMEDY", offsetof(struct opengl_funcs, p_glStringMarkerGREMEDY), 0, 0, { GL_GREMEDY_string_marker, GL_EXTENSION_COUNT }}, - { "glSubpixelPrecisionBiasNV", offsetof(struct opengl_funcs, p_glSubpixelPrecisionBiasNV), 0, 0, { GL_NV_conservative_raster, GL_EXTENSION_COUNT }}, - { "glSwizzleEXT", offsetof(struct opengl_funcs, p_glSwizzleEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glSyncTextureINTEL", offsetof(struct opengl_funcs, p_glSyncTextureINTEL), 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, - { "glTagSampleBufferSGIX", offsetof(struct opengl_funcs, p_glTagSampleBufferSGIX), 0, 0, { GL_SGIX_tag_sample_buffer, GL_EXTENSION_COUNT }}, - { "glTangent3bEXT", offsetof(struct opengl_funcs, p_glTangent3bEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3bvEXT", offsetof(struct opengl_funcs, p_glTangent3bvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3dEXT", offsetof(struct opengl_funcs, p_glTangent3dEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3dvEXT", offsetof(struct opengl_funcs, p_glTangent3dvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3fEXT", offsetof(struct opengl_funcs, p_glTangent3fEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3fvEXT", offsetof(struct opengl_funcs, p_glTangent3fvEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3iEXT", offsetof(struct opengl_funcs, p_glTangent3iEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3ivEXT", offsetof(struct opengl_funcs, p_glTangent3ivEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3sEXT", offsetof(struct opengl_funcs, p_glTangent3sEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangent3svEXT", offsetof(struct opengl_funcs, p_glTangent3svEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTangentPointerEXT", offsetof(struct opengl_funcs, p_glTangentPointerEXT), 0, 0, { GL_EXT_coordinate_frame, GL_EXTENSION_COUNT }}, - { "glTbufferMask3DFX", offsetof(struct opengl_funcs, p_glTbufferMask3DFX), 0, 0, { GL_3DFX_tbuffer, GL_EXTENSION_COUNT }}, - { "glTessellationFactorAMD", offsetof(struct opengl_funcs, p_glTessellationFactorAMD), 0, 0, { GL_AMD_vertex_shader_tessellator, GL_EXTENSION_COUNT }}, - { "glTessellationModeAMD", offsetof(struct opengl_funcs, p_glTessellationModeAMD), 0, 0, { GL_AMD_vertex_shader_tessellator, GL_EXTENSION_COUNT }}, - { "glTestFenceAPPLE", offsetof(struct opengl_funcs, p_glTestFenceAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glTestFenceNV", offsetof(struct opengl_funcs, p_glTestFenceNV), 0, 0, { GL_NV_fence, GL_EXTENSION_COUNT }}, - { "glTestObjectAPPLE", offsetof(struct opengl_funcs, p_glTestObjectAPPLE), 0, 0, { GL_APPLE_fence, GL_EXTENSION_COUNT }}, - { "glTexAttachMemoryNV", offsetof(struct opengl_funcs, p_glTexAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, - { "glTexBuffer", offsetof(struct opengl_funcs, p_glTexBuffer), 3, 1, { GL_EXTENSION_COUNT }}, - { "glTexBufferARB", offsetof(struct opengl_funcs, p_glTexBufferARB), 0, 0, { GL_ARB_texture_buffer_object, GL_EXTENSION_COUNT }}, - { "glTexBufferEXT", offsetof(struct opengl_funcs, p_glTexBufferEXT), 0, 0, { GL_EXT_texture_buffer_object, GL_EXTENSION_COUNT }}, - { "glTexBufferRange", offsetof(struct opengl_funcs, p_glTexBufferRange), 4, 3, { GL_ARB_texture_buffer_range, GL_EXTENSION_COUNT }}, - { "glTexBumpParameterfvATI", offsetof(struct opengl_funcs, p_glTexBumpParameterfvATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, - { "glTexBumpParameterivATI", offsetof(struct opengl_funcs, p_glTexBumpParameterivATI), 0, 0, { GL_ATI_envmap_bumpmap, GL_EXTENSION_COUNT }}, - { "glTexCoord1bOES", offsetof(struct opengl_funcs, p_glTexCoord1bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord1bvOES", offsetof(struct opengl_funcs, p_glTexCoord1bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord1hNV", offsetof(struct opengl_funcs, p_glTexCoord1hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord1hvNV", offsetof(struct opengl_funcs, p_glTexCoord1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord1xOES", offsetof(struct opengl_funcs, p_glTexCoord1xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoord1xvOES", offsetof(struct opengl_funcs, p_glTexCoord1xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoord2bOES", offsetof(struct opengl_funcs, p_glTexCoord2bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord2bvOES", offsetof(struct opengl_funcs, p_glTexCoord2bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord2fColor3fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fColor3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fColor4fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fColor4fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fColor4ubVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fColor4ubVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fColor4ubVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fNormal3fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fNormal3fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fNormal3fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fVertex3fSUN", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2fVertex3fvSUN", offsetof(struct opengl_funcs, p_glTexCoord2fVertex3fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord2hNV", offsetof(struct opengl_funcs, p_glTexCoord2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord2hvNV", offsetof(struct opengl_funcs, p_glTexCoord2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord2xOES", offsetof(struct opengl_funcs, p_glTexCoord2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoord2xvOES", offsetof(struct opengl_funcs, p_glTexCoord2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoord3bOES", offsetof(struct opengl_funcs, p_glTexCoord3bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord3bvOES", offsetof(struct opengl_funcs, p_glTexCoord3bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord3hNV", offsetof(struct opengl_funcs, p_glTexCoord3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord3hvNV", offsetof(struct opengl_funcs, p_glTexCoord3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord3xOES", offsetof(struct opengl_funcs, p_glTexCoord3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoord3xvOES", offsetof(struct opengl_funcs, p_glTexCoord3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoord4bOES", offsetof(struct opengl_funcs, p_glTexCoord4bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord4bvOES", offsetof(struct opengl_funcs, p_glTexCoord4bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glTexCoord4fColor4fNormal3fVertex4fSUN", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord4fColor4fNormal3fVertex4fvSUN", offsetof(struct opengl_funcs, p_glTexCoord4fColor4fNormal3fVertex4fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord4fVertex4fSUN", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord4fVertex4fvSUN", offsetof(struct opengl_funcs, p_glTexCoord4fVertex4fvSUN), 0, 0, { GL_SUN_vertex, GL_EXTENSION_COUNT }}, - { "glTexCoord4hNV", offsetof(struct opengl_funcs, p_glTexCoord4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord4hvNV", offsetof(struct opengl_funcs, p_glTexCoord4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glTexCoord4xOES", offsetof(struct opengl_funcs, p_glTexCoord4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoord4xvOES", offsetof(struct opengl_funcs, p_glTexCoord4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexCoordFormatNV", offsetof(struct opengl_funcs, p_glTexCoordFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glTexCoordP1ui", offsetof(struct opengl_funcs, p_glTexCoordP1ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordP1uiv", offsetof(struct opengl_funcs, p_glTexCoordP1uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordP2ui", offsetof(struct opengl_funcs, p_glTexCoordP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordP2uiv", offsetof(struct opengl_funcs, p_glTexCoordP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordP3ui", offsetof(struct opengl_funcs, p_glTexCoordP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordP3uiv", offsetof(struct opengl_funcs, p_glTexCoordP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordP4ui", offsetof(struct opengl_funcs, p_glTexCoordP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordP4uiv", offsetof(struct opengl_funcs, p_glTexCoordP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glTexCoordPointerEXT", offsetof(struct opengl_funcs, p_glTexCoordPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glTexCoordPointerListIBM", offsetof(struct opengl_funcs, p_glTexCoordPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glTexCoordPointervINTEL", offsetof(struct opengl_funcs, p_glTexCoordPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, - { "glTexEnvx", offsetof(struct opengl_funcs, p_glTexEnvx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glTexEnvxOES", offsetof(struct opengl_funcs, p_glTexEnvxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexEnvxv", offsetof(struct opengl_funcs, p_glTexEnvxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glTexEnvxvOES", offsetof(struct opengl_funcs, p_glTexEnvxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexFilterFuncSGIS", offsetof(struct opengl_funcs, p_glTexFilterFuncSGIS), 0, 0, { GL_SGIS_texture_filter4, GL_EXTENSION_COUNT }}, - { "glTexGenxOES", offsetof(struct opengl_funcs, p_glTexGenxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexGenxvOES", offsetof(struct opengl_funcs, p_glTexGenxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexImage2DMultisample", offsetof(struct opengl_funcs, p_glTexImage2DMultisample), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTexImage2DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTexImage2DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTexImage3D", offsetof(struct opengl_funcs, p_glTexImage3D), 1, 2, { GL_EXTENSION_COUNT }}, - { "glTexImage3DEXT", offsetof(struct opengl_funcs, p_glTexImage3DEXT), 0, 0, { GL_EXT_texture3D, GL_EXTENSION_COUNT }}, - { "glTexImage3DMultisample", offsetof(struct opengl_funcs, p_glTexImage3DMultisample), 3, 2, { GL_ARB_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTexImage3DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTexImage3DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTexImage4DSGIS", offsetof(struct opengl_funcs, p_glTexImage4DSGIS), 0, 0, { GL_SGIS_texture4D, GL_EXTENSION_COUNT }}, - { "glTexPageCommitmentARB", offsetof(struct opengl_funcs, p_glTexPageCommitmentARB), 0, 0, { GL_ARB_sparse_texture, GL_EXTENSION_COUNT }}, - { "glTexPageCommitmentMemNV", offsetof(struct opengl_funcs, p_glTexPageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, - { "glTexParameterIiv", offsetof(struct opengl_funcs, p_glTexParameterIiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glTexParameterIivEXT", offsetof(struct opengl_funcs, p_glTexParameterIivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, - { "glTexParameterIuiv", offsetof(struct opengl_funcs, p_glTexParameterIuiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glTexParameterIuivEXT", offsetof(struct opengl_funcs, p_glTexParameterIuivEXT), 0, 0, { GL_EXT_texture_integer, GL_EXTENSION_COUNT }}, - { "glTexParameterx", offsetof(struct opengl_funcs, p_glTexParameterx), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glTexParameterxOES", offsetof(struct opengl_funcs, p_glTexParameterxOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexParameterxv", offsetof(struct opengl_funcs, p_glTexParameterxv), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glTexParameterxvOES", offsetof(struct opengl_funcs, p_glTexParameterxvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glTexRenderbufferNV", offsetof(struct opengl_funcs, p_glTexRenderbufferNV), 0, 0, { GL_NV_explicit_multisample, GL_EXTENSION_COUNT }}, - { "glTexStorage1D", offsetof(struct opengl_funcs, p_glTexStorage1D), 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, - { "glTexStorage1DEXT", offsetof(struct opengl_funcs, p_glTexStorage1DEXT), 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, - { "glTexStorage2D", offsetof(struct opengl_funcs, p_glTexStorage2D), 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, - { "glTexStorage2DEXT", offsetof(struct opengl_funcs, p_glTexStorage2DEXT), 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, - { "glTexStorage2DMultisample", offsetof(struct opengl_funcs, p_glTexStorage2DMultisample), 4, 3, { GL_ARB_texture_storage_multisample, GL_EXTENSION_COUNT }}, - { "glTexStorage3D", offsetof(struct opengl_funcs, p_glTexStorage3D), 4, 2, { GL_ARB_texture_storage, GL_EXTENSION_COUNT }}, - { "glTexStorage3DEXT", offsetof(struct opengl_funcs, p_glTexStorage3DEXT), 0, 0, { GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, - { "glTexStorage3DMultisample", offsetof(struct opengl_funcs, p_glTexStorage3DMultisample), 4, 3, { GL_ARB_texture_storage_multisample, GL_EXTENSION_COUNT }}, - { "glTexStorageMem1DEXT", offsetof(struct opengl_funcs, p_glTexStorageMem1DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTexStorageMem2DEXT", offsetof(struct opengl_funcs, p_glTexStorageMem2DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTexStorageMem2DMultisampleEXT", offsetof(struct opengl_funcs, p_glTexStorageMem2DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTexStorageMem3DEXT", offsetof(struct opengl_funcs, p_glTexStorageMem3DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTexStorageMem3DMultisampleEXT", offsetof(struct opengl_funcs, p_glTexStorageMem3DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTexStorageSparseAMD", offsetof(struct opengl_funcs, p_glTexStorageSparseAMD), 0, 0, { GL_AMD_sparse_texture, GL_EXTENSION_COUNT }}, - { "glTexSubImage1DEXT", offsetof(struct opengl_funcs, p_glTexSubImage1DEXT), 0, 0, { GL_EXT_subtexture, GL_EXTENSION_COUNT }}, - { "glTexSubImage2DEXT", offsetof(struct opengl_funcs, p_glTexSubImage2DEXT), 0, 0, { GL_EXT_subtexture, GL_EXTENSION_COUNT }}, - { "glTexSubImage3D", offsetof(struct opengl_funcs, p_glTexSubImage3D), 1, 2, { GL_EXTENSION_COUNT }}, - { "glTexSubImage3DEXT", offsetof(struct opengl_funcs, p_glTexSubImage3DEXT), 0, 0, { GL_EXT_texture3D, GL_EXTENSION_COUNT }}, - { "glTexSubImage4DSGIS", offsetof(struct opengl_funcs, p_glTexSubImage4DSGIS), 0, 0, { GL_SGIS_texture4D, GL_EXTENSION_COUNT }}, - { "glTextureAttachMemoryNV", offsetof(struct opengl_funcs, p_glTextureAttachMemoryNV), 0, 0, { GL_NV_memory_attachment, GL_EXTENSION_COUNT }}, - { "glTextureBarrier", offsetof(struct opengl_funcs, p_glTextureBarrier), 4, 5, { GL_ARB_texture_barrier, GL_EXTENSION_COUNT }}, - { "glTextureBarrierNV", offsetof(struct opengl_funcs, p_glTextureBarrierNV), 0, 0, { GL_NV_texture_barrier, GL_EXTENSION_COUNT }}, - { "glTextureBuffer", offsetof(struct opengl_funcs, p_glTextureBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureBufferEXT", offsetof(struct opengl_funcs, p_glTextureBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureBufferRange", offsetof(struct opengl_funcs, p_glTextureBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureBufferRangeEXT", offsetof(struct opengl_funcs, p_glTextureBufferRangeEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureColorMaskSGIS", offsetof(struct opengl_funcs, p_glTextureColorMaskSGIS), 0, 0, { GL_SGIS_texture_color_mask, GL_EXTENSION_COUNT }}, - { "glTextureImage1DEXT", offsetof(struct opengl_funcs, p_glTextureImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureImage2DEXT", offsetof(struct opengl_funcs, p_glTextureImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureImage2DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTextureImage2DMultisampleNV", offsetof(struct opengl_funcs, p_glTextureImage2DMultisampleNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTextureImage3DEXT", offsetof(struct opengl_funcs, p_glTextureImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureImage3DMultisampleCoverageNV", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleCoverageNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTextureImage3DMultisampleNV", offsetof(struct opengl_funcs, p_glTextureImage3DMultisampleNV), 0, 0, { GL_NV_texture_multisample, GL_EXTENSION_COUNT }}, - { "glTextureLightEXT", offsetof(struct opengl_funcs, p_glTextureLightEXT), 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, - { "glTextureMaterialEXT", offsetof(struct opengl_funcs, p_glTextureMaterialEXT), 0, 0, { GL_EXT_light_texture, GL_EXTENSION_COUNT }}, - { "glTextureNormalEXT", offsetof(struct opengl_funcs, p_glTextureNormalEXT), 0, 0, { GL_EXT_texture_perturb_normal, GL_EXTENSION_COUNT }}, - { "glTexturePageCommitmentEXT", offsetof(struct opengl_funcs, p_glTexturePageCommitmentEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTexturePageCommitmentMemNV", offsetof(struct opengl_funcs, p_glTexturePageCommitmentMemNV), 0, 0, { GL_NV_memory_object_sparse, GL_EXTENSION_COUNT }}, - { "glTextureParameterIiv", offsetof(struct opengl_funcs, p_glTextureParameterIiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterIivEXT", offsetof(struct opengl_funcs, p_glTextureParameterIivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterIuiv", offsetof(struct opengl_funcs, p_glTextureParameterIuiv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterIuivEXT", offsetof(struct opengl_funcs, p_glTextureParameterIuivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterf", offsetof(struct opengl_funcs, p_glTextureParameterf), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterfEXT", offsetof(struct opengl_funcs, p_glTextureParameterfEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterfv", offsetof(struct opengl_funcs, p_glTextureParameterfv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterfvEXT", offsetof(struct opengl_funcs, p_glTextureParameterfvEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameteri", offsetof(struct opengl_funcs, p_glTextureParameteri), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameteriEXT", offsetof(struct opengl_funcs, p_glTextureParameteriEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameteriv", offsetof(struct opengl_funcs, p_glTextureParameteriv), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureParameterivEXT", offsetof(struct opengl_funcs, p_glTextureParameterivEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureRangeAPPLE", offsetof(struct opengl_funcs, p_glTextureRangeAPPLE), 0, 0, { GL_APPLE_texture_range, GL_EXTENSION_COUNT }}, - { "glTextureRenderbufferEXT", offsetof(struct opengl_funcs, p_glTextureRenderbufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorage1D", offsetof(struct opengl_funcs, p_glTextureStorage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorage1DEXT", offsetof(struct opengl_funcs, p_glTextureStorage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, - { "glTextureStorage2D", offsetof(struct opengl_funcs, p_glTextureStorage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorage2DEXT", offsetof(struct opengl_funcs, p_glTextureStorage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, - { "glTextureStorage2DMultisample", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisample), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorage2DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorage2DMultisampleEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorage3D", offsetof(struct opengl_funcs, p_glTextureStorage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorage3DEXT", offsetof(struct opengl_funcs, p_glTextureStorage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXT_texture_storage, GL_EXTENSION_COUNT }}, - { "glTextureStorage3DMultisample", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisample), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorage3DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorage3DMultisampleEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureStorageMem1DEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem1DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTextureStorageMem2DEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem2DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTextureStorageMem2DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem2DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTextureStorageMem3DEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem3DEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTextureStorageMem3DMultisampleEXT", offsetof(struct opengl_funcs, p_glTextureStorageMem3DMultisampleEXT), 0, 0, { GL_EXT_memory_object, GL_EXTENSION_COUNT }}, - { "glTextureStorageSparseAMD", offsetof(struct opengl_funcs, p_glTextureStorageSparseAMD), 0, 0, { GL_AMD_sparse_texture, GL_EXTENSION_COUNT }}, - { "glTextureSubImage1D", offsetof(struct opengl_funcs, p_glTextureSubImage1D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureSubImage1DEXT", offsetof(struct opengl_funcs, p_glTextureSubImage1DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureSubImage2D", offsetof(struct opengl_funcs, p_glTextureSubImage2D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureSubImage2DEXT", offsetof(struct opengl_funcs, p_glTextureSubImage2DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureSubImage3D", offsetof(struct opengl_funcs, p_glTextureSubImage3D), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureSubImage3DEXT", offsetof(struct opengl_funcs, p_glTextureSubImage3DEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTextureView", offsetof(struct opengl_funcs, p_glTextureView), 4, 3, { GL_ARB_texture_view, GL_EXTENSION_COUNT }}, - { "glTrackMatrixNV", offsetof(struct opengl_funcs, p_glTrackMatrixNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glTransformFeedbackAttribsNV", offsetof(struct opengl_funcs, p_glTransformFeedbackAttribsNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glTransformFeedbackBufferBase", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferBase), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTransformFeedbackBufferRange", offsetof(struct opengl_funcs, p_glTransformFeedbackBufferRange), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glTransformFeedbackStreamAttribsNV", offsetof(struct opengl_funcs, p_glTransformFeedbackStreamAttribsNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glTransformFeedbackVaryings", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryings), 3, 0, { GL_EXTENSION_COUNT }}, - { "glTransformFeedbackVaryingsEXT", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsEXT), 0, 0, { GL_EXT_transform_feedback, GL_EXTENSION_COUNT }}, - { "glTransformFeedbackVaryingsNV", offsetof(struct opengl_funcs, p_glTransformFeedbackVaryingsNV), 0, 0, { GL_NV_transform_feedback, GL_EXTENSION_COUNT }}, - { "glTransformPathNV", offsetof(struct opengl_funcs, p_glTransformPathNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glTranslatex", offsetof(struct opengl_funcs, p_glTranslatex), 0, 0, { GL_NV_ES1_1_compatibility, GL_EXTENSION_COUNT }}, - { "glTranslatexOES", offsetof(struct opengl_funcs, p_glTranslatexOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glUniform1d", offsetof(struct opengl_funcs, p_glUniform1d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform1dv", offsetof(struct opengl_funcs, p_glUniform1dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform1f", offsetof(struct opengl_funcs, p_glUniform1f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform1fARB", offsetof(struct opengl_funcs, p_glUniform1fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform1fv", offsetof(struct opengl_funcs, p_glUniform1fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform1fvARB", offsetof(struct opengl_funcs, p_glUniform1fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform1i", offsetof(struct opengl_funcs, p_glUniform1i), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform1i64ARB", offsetof(struct opengl_funcs, p_glUniform1i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform1i64NV", offsetof(struct opengl_funcs, p_glUniform1i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform1i64vARB", offsetof(struct opengl_funcs, p_glUniform1i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform1i64vNV", offsetof(struct opengl_funcs, p_glUniform1i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform1iARB", offsetof(struct opengl_funcs, p_glUniform1iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform1iv", offsetof(struct opengl_funcs, p_glUniform1iv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform1ivARB", offsetof(struct opengl_funcs, p_glUniform1ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform1ui", offsetof(struct opengl_funcs, p_glUniform1ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform1ui64ARB", offsetof(struct opengl_funcs, p_glUniform1ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform1ui64NV", offsetof(struct opengl_funcs, p_glUniform1ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform1ui64vARB", offsetof(struct opengl_funcs, p_glUniform1ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform1ui64vNV", offsetof(struct opengl_funcs, p_glUniform1ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform1uiEXT", offsetof(struct opengl_funcs, p_glUniform1uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniform1uiv", offsetof(struct opengl_funcs, p_glUniform1uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform1uivEXT", offsetof(struct opengl_funcs, p_glUniform1uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniform2d", offsetof(struct opengl_funcs, p_glUniform2d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform2dv", offsetof(struct opengl_funcs, p_glUniform2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform2f", offsetof(struct opengl_funcs, p_glUniform2f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform2fARB", offsetof(struct opengl_funcs, p_glUniform2fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform2fv", offsetof(struct opengl_funcs, p_glUniform2fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform2fvARB", offsetof(struct opengl_funcs, p_glUniform2fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform2i", offsetof(struct opengl_funcs, p_glUniform2i), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform2i64ARB", offsetof(struct opengl_funcs, p_glUniform2i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform2i64NV", offsetof(struct opengl_funcs, p_glUniform2i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform2i64vARB", offsetof(struct opengl_funcs, p_glUniform2i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform2i64vNV", offsetof(struct opengl_funcs, p_glUniform2i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform2iARB", offsetof(struct opengl_funcs, p_glUniform2iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform2iv", offsetof(struct opengl_funcs, p_glUniform2iv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform2ivARB", offsetof(struct opengl_funcs, p_glUniform2ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform2ui", offsetof(struct opengl_funcs, p_glUniform2ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform2ui64ARB", offsetof(struct opengl_funcs, p_glUniform2ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform2ui64NV", offsetof(struct opengl_funcs, p_glUniform2ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform2ui64vARB", offsetof(struct opengl_funcs, p_glUniform2ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform2ui64vNV", offsetof(struct opengl_funcs, p_glUniform2ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform2uiEXT", offsetof(struct opengl_funcs, p_glUniform2uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniform2uiv", offsetof(struct opengl_funcs, p_glUniform2uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform2uivEXT", offsetof(struct opengl_funcs, p_glUniform2uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniform3d", offsetof(struct opengl_funcs, p_glUniform3d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform3dv", offsetof(struct opengl_funcs, p_glUniform3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform3f", offsetof(struct opengl_funcs, p_glUniform3f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform3fARB", offsetof(struct opengl_funcs, p_glUniform3fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform3fv", offsetof(struct opengl_funcs, p_glUniform3fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform3fvARB", offsetof(struct opengl_funcs, p_glUniform3fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform3i", offsetof(struct opengl_funcs, p_glUniform3i), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform3i64ARB", offsetof(struct opengl_funcs, p_glUniform3i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform3i64NV", offsetof(struct opengl_funcs, p_glUniform3i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform3i64vARB", offsetof(struct opengl_funcs, p_glUniform3i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform3i64vNV", offsetof(struct opengl_funcs, p_glUniform3i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform3iARB", offsetof(struct opengl_funcs, p_glUniform3iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform3iv", offsetof(struct opengl_funcs, p_glUniform3iv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform3ivARB", offsetof(struct opengl_funcs, p_glUniform3ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform3ui", offsetof(struct opengl_funcs, p_glUniform3ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform3ui64ARB", offsetof(struct opengl_funcs, p_glUniform3ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform3ui64NV", offsetof(struct opengl_funcs, p_glUniform3ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform3ui64vARB", offsetof(struct opengl_funcs, p_glUniform3ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform3ui64vNV", offsetof(struct opengl_funcs, p_glUniform3ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform3uiEXT", offsetof(struct opengl_funcs, p_glUniform3uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniform3uiv", offsetof(struct opengl_funcs, p_glUniform3uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform3uivEXT", offsetof(struct opengl_funcs, p_glUniform3uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniform4d", offsetof(struct opengl_funcs, p_glUniform4d), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform4dv", offsetof(struct opengl_funcs, p_glUniform4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniform4f", offsetof(struct opengl_funcs, p_glUniform4f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform4fARB", offsetof(struct opengl_funcs, p_glUniform4fARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform4fv", offsetof(struct opengl_funcs, p_glUniform4fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform4fvARB", offsetof(struct opengl_funcs, p_glUniform4fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform4i", offsetof(struct opengl_funcs, p_glUniform4i), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform4i64ARB", offsetof(struct opengl_funcs, p_glUniform4i64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform4i64NV", offsetof(struct opengl_funcs, p_glUniform4i64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform4i64vARB", offsetof(struct opengl_funcs, p_glUniform4i64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform4i64vNV", offsetof(struct opengl_funcs, p_glUniform4i64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform4iARB", offsetof(struct opengl_funcs, p_glUniform4iARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform4iv", offsetof(struct opengl_funcs, p_glUniform4iv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniform4ivARB", offsetof(struct opengl_funcs, p_glUniform4ivARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniform4ui", offsetof(struct opengl_funcs, p_glUniform4ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform4ui64ARB", offsetof(struct opengl_funcs, p_glUniform4ui64ARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform4ui64NV", offsetof(struct opengl_funcs, p_glUniform4ui64NV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform4ui64vARB", offsetof(struct opengl_funcs, p_glUniform4ui64vARB), 0, 0, { GL_ARB_gpu_shader_int64, GL_EXTENSION_COUNT }}, - { "glUniform4ui64vNV", offsetof(struct opengl_funcs, p_glUniform4ui64vNV), 0, 0, { GL_AMD_gpu_shader_int64, GL_NV_gpu_shader5, GL_EXTENSION_COUNT }}, - { "glUniform4uiEXT", offsetof(struct opengl_funcs, p_glUniform4uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniform4uiv", offsetof(struct opengl_funcs, p_glUniform4uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glUniform4uivEXT", offsetof(struct opengl_funcs, p_glUniform4uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_EXTENSION_COUNT }}, - { "glUniformBlockBinding", offsetof(struct opengl_funcs, p_glUniformBlockBinding), 3, 1, { GL_ARB_uniform_buffer_object, GL_EXTENSION_COUNT }}, - { "glUniformBufferEXT", offsetof(struct opengl_funcs, p_glUniformBufferEXT), 0, 0, { GL_EXT_bindable_uniform, GL_EXTENSION_COUNT }}, - { "glUniformHandleui64ARB", offsetof(struct opengl_funcs, p_glUniformHandleui64ARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glUniformHandleui64NV", offsetof(struct opengl_funcs, p_glUniformHandleui64NV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glUniformHandleui64vARB", offsetof(struct opengl_funcs, p_glUniformHandleui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glUniformHandleui64vNV", offsetof(struct opengl_funcs, p_glUniformHandleui64vNV), 0, 0, { GL_NV_bindless_texture, GL_EXTENSION_COUNT }}, - { "glUniformMatrix2dv", offsetof(struct opengl_funcs, p_glUniformMatrix2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix2fv", offsetof(struct opengl_funcs, p_glUniformMatrix2fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix2fvARB", offsetof(struct opengl_funcs, p_glUniformMatrix2fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniformMatrix2x3dv", offsetof(struct opengl_funcs, p_glUniformMatrix2x3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix2x3fv", offsetof(struct opengl_funcs, p_glUniformMatrix2x3fv), 2, 1, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix2x4dv", offsetof(struct opengl_funcs, p_glUniformMatrix2x4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix2x4fv", offsetof(struct opengl_funcs, p_glUniformMatrix2x4fv), 2, 1, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix3dv", offsetof(struct opengl_funcs, p_glUniformMatrix3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix3fv", offsetof(struct opengl_funcs, p_glUniformMatrix3fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix3fvARB", offsetof(struct opengl_funcs, p_glUniformMatrix3fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniformMatrix3x2dv", offsetof(struct opengl_funcs, p_glUniformMatrix3x2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix3x2fv", offsetof(struct opengl_funcs, p_glUniformMatrix3x2fv), 2, 1, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix3x4dv", offsetof(struct opengl_funcs, p_glUniformMatrix3x4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix3x4fv", offsetof(struct opengl_funcs, p_glUniformMatrix3x4fv), 2, 1, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix4dv", offsetof(struct opengl_funcs, p_glUniformMatrix4dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix4fv", offsetof(struct opengl_funcs, p_glUniformMatrix4fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix4fvARB", offsetof(struct opengl_funcs, p_glUniformMatrix4fvARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUniformMatrix4x2dv", offsetof(struct opengl_funcs, p_glUniformMatrix4x2dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix4x2fv", offsetof(struct opengl_funcs, p_glUniformMatrix4x2fv), 2, 1, { GL_EXTENSION_COUNT }}, - { "glUniformMatrix4x3dv", offsetof(struct opengl_funcs, p_glUniformMatrix4x3dv), 4, 0, { GL_ARB_gpu_shader_fp64, GL_EXTENSION_COUNT }}, - { "glUniformMatrix4x3fv", offsetof(struct opengl_funcs, p_glUniformMatrix4x3fv), 2, 1, { GL_EXTENSION_COUNT }}, - { "glUniformSubroutinesuiv", offsetof(struct opengl_funcs, p_glUniformSubroutinesuiv), 4, 0, { GL_ARB_shader_subroutine, GL_EXTENSION_COUNT }}, - { "glUniformui64NV", offsetof(struct opengl_funcs, p_glUniformui64NV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glUniformui64vNV", offsetof(struct opengl_funcs, p_glUniformui64vNV), 0, 0, { GL_NV_shader_buffer_load, GL_EXTENSION_COUNT }}, - { "glUnlockArraysEXT", offsetof(struct opengl_funcs, p_glUnlockArraysEXT), 0, 0, { GL_EXT_compiled_vertex_array, GL_EXTENSION_COUNT }}, - { "glUnmapBuffer", offsetof(struct opengl_funcs, p_glUnmapBuffer), 1, 5, { GL_EXTENSION_COUNT }}, - { "glUnmapBufferARB", offsetof(struct opengl_funcs, p_glUnmapBufferARB), 0, 0, { GL_ARB_vertex_buffer_object, GL_EXTENSION_COUNT }}, - { "glUnmapNamedBuffer", offsetof(struct opengl_funcs, p_glUnmapNamedBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glUnmapNamedBufferEXT", offsetof(struct opengl_funcs, p_glUnmapNamedBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glUnmapObjectBufferATI", offsetof(struct opengl_funcs, p_glUnmapObjectBufferATI), 0, 0, { GL_ATI_map_object_buffer, GL_EXTENSION_COUNT }}, - { "glUnmapTexture2DINTEL", offsetof(struct opengl_funcs, p_glUnmapTexture2DINTEL), 0, 0, { GL_INTEL_map_texture, GL_EXTENSION_COUNT }}, - { "glUpdateObjectBufferATI", offsetof(struct opengl_funcs, p_glUpdateObjectBufferATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glUploadGpuMaskNVX", offsetof(struct opengl_funcs, p_glUploadGpuMaskNVX), 0, 0, { GL_NVX_gpu_multicast2, GL_EXTENSION_COUNT }}, - { "glUseProgram", offsetof(struct opengl_funcs, p_glUseProgram), 2, 0, { GL_EXTENSION_COUNT }}, - { "glUseProgramObjectARB", offsetof(struct opengl_funcs, p_glUseProgramObjectARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glUseProgramStages", offsetof(struct opengl_funcs, p_glUseProgramStages), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glUseShaderProgramEXT", offsetof(struct opengl_funcs, p_glUseShaderProgramEXT), 0, 0, { GL_EXT_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glVDPAUFiniNV", offsetof(struct opengl_funcs, p_glVDPAUFiniNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAUGetSurfaceivNV", offsetof(struct opengl_funcs, p_glVDPAUGetSurfaceivNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAUInitNV", offsetof(struct opengl_funcs, p_glVDPAUInitNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAUIsSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAUIsSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAUMapSurfacesNV", offsetof(struct opengl_funcs, p_glVDPAUMapSurfacesNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAURegisterOutputSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAURegisterOutputSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAURegisterVideoSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAURegisterVideoSurfaceWithPictureStructureNV", offsetof(struct opengl_funcs, p_glVDPAURegisterVideoSurfaceWithPictureStructureNV), 0, 0, { GL_NV_vdpau_interop2, GL_EXTENSION_COUNT }}, - { "glVDPAUSurfaceAccessNV", offsetof(struct opengl_funcs, p_glVDPAUSurfaceAccessNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAUUnmapSurfacesNV", offsetof(struct opengl_funcs, p_glVDPAUUnmapSurfacesNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glVDPAUUnregisterSurfaceNV", offsetof(struct opengl_funcs, p_glVDPAUUnregisterSurfaceNV), 0, 0, { GL_NV_vdpau_interop, GL_EXTENSION_COUNT }}, - { "glValidateProgram", offsetof(struct opengl_funcs, p_glValidateProgram), 2, 0, { GL_EXTENSION_COUNT }}, - { "glValidateProgramARB", offsetof(struct opengl_funcs, p_glValidateProgramARB), 0, 0, { GL_ARB_shader_objects, GL_EXTENSION_COUNT }}, - { "glValidateProgramPipeline", offsetof(struct opengl_funcs, p_glValidateProgramPipeline), 4, 1, { GL_ARB_separate_shader_objects, GL_EXTENSION_COUNT }}, - { "glVariantArrayObjectATI", offsetof(struct opengl_funcs, p_glVariantArrayObjectATI), 0, 0, { GL_ATI_vertex_array_object, GL_EXTENSION_COUNT }}, - { "glVariantPointerEXT", offsetof(struct opengl_funcs, p_glVariantPointerEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantbvEXT", offsetof(struct opengl_funcs, p_glVariantbvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantdvEXT", offsetof(struct opengl_funcs, p_glVariantdvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantfvEXT", offsetof(struct opengl_funcs, p_glVariantfvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantivEXT", offsetof(struct opengl_funcs, p_glVariantivEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantsvEXT", offsetof(struct opengl_funcs, p_glVariantsvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantubvEXT", offsetof(struct opengl_funcs, p_glVariantubvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantuivEXT", offsetof(struct opengl_funcs, p_glVariantuivEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVariantusvEXT", offsetof(struct opengl_funcs, p_glVariantusvEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertex2bOES", offsetof(struct opengl_funcs, p_glVertex2bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glVertex2bvOES", offsetof(struct opengl_funcs, p_glVertex2bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glVertex2hNV", offsetof(struct opengl_funcs, p_glVertex2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertex2hvNV", offsetof(struct opengl_funcs, p_glVertex2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertex2xOES", offsetof(struct opengl_funcs, p_glVertex2xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glVertex2xvOES", offsetof(struct opengl_funcs, p_glVertex2xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glVertex3bOES", offsetof(struct opengl_funcs, p_glVertex3bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glVertex3bvOES", offsetof(struct opengl_funcs, p_glVertex3bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glVertex3hNV", offsetof(struct opengl_funcs, p_glVertex3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertex3hvNV", offsetof(struct opengl_funcs, p_glVertex3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertex3xOES", offsetof(struct opengl_funcs, p_glVertex3xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glVertex3xvOES", offsetof(struct opengl_funcs, p_glVertex3xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glVertex4bOES", offsetof(struct opengl_funcs, p_glVertex4bOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glVertex4bvOES", offsetof(struct opengl_funcs, p_glVertex4bvOES), 0, 0, { GL_OES_byte_coordinates, GL_EXTENSION_COUNT }}, - { "glVertex4hNV", offsetof(struct opengl_funcs, p_glVertex4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertex4hvNV", offsetof(struct opengl_funcs, p_glVertex4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertex4xOES", offsetof(struct opengl_funcs, p_glVertex4xOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glVertex4xvOES", offsetof(struct opengl_funcs, p_glVertex4xvOES), 0, 0, { GL_OES_fixed_point, GL_EXTENSION_COUNT }}, - { "glVertexArrayAttribBinding", offsetof(struct opengl_funcs, p_glVertexArrayAttribBinding), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayAttribFormat", offsetof(struct opengl_funcs, p_glVertexArrayAttribFormat), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayAttribIFormat", offsetof(struct opengl_funcs, p_glVertexArrayAttribIFormat), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayAttribLFormat", offsetof(struct opengl_funcs, p_glVertexArrayAttribLFormat), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayBindVertexBufferEXT", offsetof(struct opengl_funcs, p_glVertexArrayBindVertexBufferEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayBindingDivisor", offsetof(struct opengl_funcs, p_glVertexArrayBindingDivisor), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayColorOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayColorOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayEdgeFlagOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayEdgeFlagOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayElementBuffer", offsetof(struct opengl_funcs, p_glVertexArrayElementBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayFogCoordOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayFogCoordOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayIndexOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayIndexOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayMultiTexCoordOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayMultiTexCoordOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayNormalOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayNormalOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayParameteriAPPLE", offsetof(struct opengl_funcs, p_glVertexArrayParameteriAPPLE), 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, - { "glVertexArrayRangeAPPLE", offsetof(struct opengl_funcs, p_glVertexArrayRangeAPPLE), 0, 0, { GL_APPLE_vertex_array_range, GL_EXTENSION_COUNT }}, - { "glVertexArrayRangeNV", offsetof(struct opengl_funcs, p_glVertexArrayRangeNV), 0, 0, { GL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, - { "glVertexArraySecondaryColorOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArraySecondaryColorOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayTexCoordOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayTexCoordOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribBindingEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribBindingEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribDivisorEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribDivisorEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribFormatEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribFormatEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribIFormatEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIFormatEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribIOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribIOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribLFormatEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLFormatEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribLOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribLOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexAttribOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexAttribOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexBindingDivisorEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexBindingDivisorEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexBuffer", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffer), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexBuffers", offsetof(struct opengl_funcs, p_glVertexArrayVertexBuffers), 4, 5, { GL_ARB_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexArrayVertexOffsetEXT", offsetof(struct opengl_funcs, p_glVertexArrayVertexOffsetEXT), 0, 0, { GL_EXT_direct_state_access, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1d", offsetof(struct opengl_funcs, p_glVertexAttrib1d), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib1dARB", offsetof(struct opengl_funcs, p_glVertexAttrib1dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1dNV", offsetof(struct opengl_funcs, p_glVertexAttrib1dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1dv", offsetof(struct opengl_funcs, p_glVertexAttrib1dv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib1dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib1dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib1dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1f", offsetof(struct opengl_funcs, p_glVertexAttrib1f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib1fARB", offsetof(struct opengl_funcs, p_glVertexAttrib1fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1fNV", offsetof(struct opengl_funcs, p_glVertexAttrib1fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1fv", offsetof(struct opengl_funcs, p_glVertexAttrib1fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib1fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib1fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib1fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1hNV", offsetof(struct opengl_funcs, p_glVertexAttrib1hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1s", offsetof(struct opengl_funcs, p_glVertexAttrib1s), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib1sARB", offsetof(struct opengl_funcs, p_glVertexAttrib1sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1sNV", offsetof(struct opengl_funcs, p_glVertexAttrib1sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1sv", offsetof(struct opengl_funcs, p_glVertexAttrib1sv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib1svARB", offsetof(struct opengl_funcs, p_glVertexAttrib1svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib1svNV", offsetof(struct opengl_funcs, p_glVertexAttrib1svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2d", offsetof(struct opengl_funcs, p_glVertexAttrib2d), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib2dARB", offsetof(struct opengl_funcs, p_glVertexAttrib2dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2dNV", offsetof(struct opengl_funcs, p_glVertexAttrib2dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2dv", offsetof(struct opengl_funcs, p_glVertexAttrib2dv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib2dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib2dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib2dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2f", offsetof(struct opengl_funcs, p_glVertexAttrib2f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib2fARB", offsetof(struct opengl_funcs, p_glVertexAttrib2fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2fNV", offsetof(struct opengl_funcs, p_glVertexAttrib2fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2fv", offsetof(struct opengl_funcs, p_glVertexAttrib2fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib2fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib2fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib2fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2hNV", offsetof(struct opengl_funcs, p_glVertexAttrib2hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2s", offsetof(struct opengl_funcs, p_glVertexAttrib2s), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib2sARB", offsetof(struct opengl_funcs, p_glVertexAttrib2sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2sNV", offsetof(struct opengl_funcs, p_glVertexAttrib2sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2sv", offsetof(struct opengl_funcs, p_glVertexAttrib2sv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib2svARB", offsetof(struct opengl_funcs, p_glVertexAttrib2svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib2svNV", offsetof(struct opengl_funcs, p_glVertexAttrib2svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3d", offsetof(struct opengl_funcs, p_glVertexAttrib3d), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib3dARB", offsetof(struct opengl_funcs, p_glVertexAttrib3dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3dNV", offsetof(struct opengl_funcs, p_glVertexAttrib3dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3dv", offsetof(struct opengl_funcs, p_glVertexAttrib3dv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib3dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib3dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib3dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3f", offsetof(struct opengl_funcs, p_glVertexAttrib3f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib3fARB", offsetof(struct opengl_funcs, p_glVertexAttrib3fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3fNV", offsetof(struct opengl_funcs, p_glVertexAttrib3fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3fv", offsetof(struct opengl_funcs, p_glVertexAttrib3fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib3fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib3fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib3fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3hNV", offsetof(struct opengl_funcs, p_glVertexAttrib3hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3s", offsetof(struct opengl_funcs, p_glVertexAttrib3s), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib3sARB", offsetof(struct opengl_funcs, p_glVertexAttrib3sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3sNV", offsetof(struct opengl_funcs, p_glVertexAttrib3sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3sv", offsetof(struct opengl_funcs, p_glVertexAttrib3sv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib3svARB", offsetof(struct opengl_funcs, p_glVertexAttrib3svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib3svNV", offsetof(struct opengl_funcs, p_glVertexAttrib3svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4Nbv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nbv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4NbvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NbvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4Niv", offsetof(struct opengl_funcs, p_glVertexAttrib4Niv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4NivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4Nsv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nsv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4NsvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NsvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4Nub", offsetof(struct opengl_funcs, p_glVertexAttrib4Nub), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4NubARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NubARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4Nubv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nubv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4NubvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NubvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4Nuiv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nuiv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4NuivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NuivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4Nusv", offsetof(struct opengl_funcs, p_glVertexAttrib4Nusv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4NusvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4NusvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4bv", offsetof(struct opengl_funcs, p_glVertexAttrib4bv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4bvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4bvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4d", offsetof(struct opengl_funcs, p_glVertexAttrib4d), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4dARB", offsetof(struct opengl_funcs, p_glVertexAttrib4dARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4dNV", offsetof(struct opengl_funcs, p_glVertexAttrib4dNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4dv", offsetof(struct opengl_funcs, p_glVertexAttrib4dv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4dvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4dvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4dvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4f", offsetof(struct opengl_funcs, p_glVertexAttrib4f), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4fARB", offsetof(struct opengl_funcs, p_glVertexAttrib4fARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4fNV", offsetof(struct opengl_funcs, p_glVertexAttrib4fNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4fv", offsetof(struct opengl_funcs, p_glVertexAttrib4fv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4fvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4fvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4fvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4hNV", offsetof(struct opengl_funcs, p_glVertexAttrib4hNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4hvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4iv", offsetof(struct opengl_funcs, p_glVertexAttrib4iv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4ivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4ivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4s", offsetof(struct opengl_funcs, p_glVertexAttrib4s), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4sARB", offsetof(struct opengl_funcs, p_glVertexAttrib4sARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4sNV", offsetof(struct opengl_funcs, p_glVertexAttrib4sNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4sv", offsetof(struct opengl_funcs, p_glVertexAttrib4sv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4svARB", offsetof(struct opengl_funcs, p_glVertexAttrib4svARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4svNV", offsetof(struct opengl_funcs, p_glVertexAttrib4svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4ubNV", offsetof(struct opengl_funcs, p_glVertexAttrib4ubNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4ubv", offsetof(struct opengl_funcs, p_glVertexAttrib4ubv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4ubvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4ubvNV", offsetof(struct opengl_funcs, p_glVertexAttrib4ubvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4uiv", offsetof(struct opengl_funcs, p_glVertexAttrib4uiv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4uivARB", offsetof(struct opengl_funcs, p_glVertexAttrib4uivARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttrib4usv", offsetof(struct opengl_funcs, p_glVertexAttrib4usv), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttrib4usvARB", offsetof(struct opengl_funcs, p_glVertexAttrib4usvARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttribArrayObjectATI", offsetof(struct opengl_funcs, p_glVertexAttribArrayObjectATI), 0, 0, { GL_ATI_vertex_attrib_array_object, GL_EXTENSION_COUNT }}, - { "glVertexAttribBinding", offsetof(struct opengl_funcs, p_glVertexAttribBinding), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, - { "glVertexAttribDivisor", offsetof(struct opengl_funcs, p_glVertexAttribDivisor), 3, 3, { GL_EXTENSION_COUNT }}, - { "glVertexAttribDivisorARB", offsetof(struct opengl_funcs, p_glVertexAttribDivisorARB), 0, 0, { GL_ARB_instanced_arrays, GL_EXTENSION_COUNT }}, - { "glVertexAttribFormat", offsetof(struct opengl_funcs, p_glVertexAttribFormat), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, - { "glVertexAttribFormatNV", offsetof(struct opengl_funcs, p_glVertexAttribFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glVertexAttribI1i", offsetof(struct opengl_funcs, p_glVertexAttribI1i), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI1iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI1iv", offsetof(struct opengl_funcs, p_glVertexAttribI1iv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI1ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI1ui", offsetof(struct opengl_funcs, p_glVertexAttribI1ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI1uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI1uiv", offsetof(struct opengl_funcs, p_glVertexAttribI1uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI1uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI1uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI2i", offsetof(struct opengl_funcs, p_glVertexAttribI2i), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI2iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI2iv", offsetof(struct opengl_funcs, p_glVertexAttribI2iv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI2ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI2ui", offsetof(struct opengl_funcs, p_glVertexAttribI2ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI2uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI2uiv", offsetof(struct opengl_funcs, p_glVertexAttribI2uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI2uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI2uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI3i", offsetof(struct opengl_funcs, p_glVertexAttribI3i), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI3iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI3iv", offsetof(struct opengl_funcs, p_glVertexAttribI3iv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI3ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI3ui", offsetof(struct opengl_funcs, p_glVertexAttribI3ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI3uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI3uiv", offsetof(struct opengl_funcs, p_glVertexAttribI3uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI3uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI3uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4bv", offsetof(struct opengl_funcs, p_glVertexAttribI4bv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4bvEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4bvEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4i", offsetof(struct opengl_funcs, p_glVertexAttribI4i), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4iEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4iEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4iv", offsetof(struct opengl_funcs, p_glVertexAttribI4iv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4ivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4ivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4sv", offsetof(struct opengl_funcs, p_glVertexAttribI4sv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4svEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4svEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4ubv", offsetof(struct opengl_funcs, p_glVertexAttribI4ubv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4ubvEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4ubvEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4ui", offsetof(struct opengl_funcs, p_glVertexAttribI4ui), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4uiEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4uiEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4uiv", offsetof(struct opengl_funcs, p_glVertexAttribI4uiv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4uivEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4uivEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribI4usv", offsetof(struct opengl_funcs, p_glVertexAttribI4usv), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribI4usvEXT", offsetof(struct opengl_funcs, p_glVertexAttribI4usvEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribIFormat", offsetof(struct opengl_funcs, p_glVertexAttribIFormat), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, - { "glVertexAttribIFormatNV", offsetof(struct opengl_funcs, p_glVertexAttribIFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glVertexAttribIPointer", offsetof(struct opengl_funcs, p_glVertexAttribIPointer), 3, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribIPointerEXT", offsetof(struct opengl_funcs, p_glVertexAttribIPointerEXT), 0, 0, { GL_EXT_gpu_shader4, GL_NV_vertex_program4, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1d", offsetof(struct opengl_funcs, p_glVertexAttribL1d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL1dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1dv", offsetof(struct opengl_funcs, p_glVertexAttribL1dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL1dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL1i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL1i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1ui64ARB", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64ARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1ui64vARB", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vARB), 0, 0, { GL_ARB_bindless_texture, GL_EXTENSION_COUNT }}, - { "glVertexAttribL1ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL1ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2d", offsetof(struct opengl_funcs, p_glVertexAttribL2d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL2dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2dv", offsetof(struct opengl_funcs, p_glVertexAttribL2dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL2dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL2i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL2i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL2ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL2ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3d", offsetof(struct opengl_funcs, p_glVertexAttribL3d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL3dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3dv", offsetof(struct opengl_funcs, p_glVertexAttribL3dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL3dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL3i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL3i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL3ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL3ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4d", offsetof(struct opengl_funcs, p_glVertexAttribL4d), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4dEXT", offsetof(struct opengl_funcs, p_glVertexAttribL4dEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4dv", offsetof(struct opengl_funcs, p_glVertexAttribL4dv), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4dvEXT", offsetof(struct opengl_funcs, p_glVertexAttribL4dvEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4i64NV", offsetof(struct opengl_funcs, p_glVertexAttribL4i64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4i64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL4i64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4ui64NV", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64NV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribL4ui64vNV", offsetof(struct opengl_funcs, p_glVertexAttribL4ui64vNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribLFormat", offsetof(struct opengl_funcs, p_glVertexAttribLFormat), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, - { "glVertexAttribLFormatNV", offsetof(struct opengl_funcs, p_glVertexAttribLFormatNV), 0, 0, { GL_NV_vertex_attrib_integer_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribLPointer", offsetof(struct opengl_funcs, p_glVertexAttribLPointer), 4, 1, { GL_ARB_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribLPointerEXT", offsetof(struct opengl_funcs, p_glVertexAttribLPointerEXT), 0, 0, { GL_EXT_vertex_attrib_64bit, GL_EXTENSION_COUNT }}, - { "glVertexAttribP1ui", offsetof(struct opengl_funcs, p_glVertexAttribP1ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribP1uiv", offsetof(struct opengl_funcs, p_glVertexAttribP1uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribP2ui", offsetof(struct opengl_funcs, p_glVertexAttribP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribP2uiv", offsetof(struct opengl_funcs, p_glVertexAttribP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribP3ui", offsetof(struct opengl_funcs, p_glVertexAttribP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribP3uiv", offsetof(struct opengl_funcs, p_glVertexAttribP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribP4ui", offsetof(struct opengl_funcs, p_glVertexAttribP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribP4uiv", offsetof(struct opengl_funcs, p_glVertexAttribP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexAttribParameteriAMD", offsetof(struct opengl_funcs, p_glVertexAttribParameteriAMD), 0, 0, { GL_AMD_interleaved_elements, GL_EXTENSION_COUNT }}, - { "glVertexAttribPointer", offsetof(struct opengl_funcs, p_glVertexAttribPointer), 2, 0, { GL_EXTENSION_COUNT }}, - { "glVertexAttribPointerARB", offsetof(struct opengl_funcs, p_glVertexAttribPointerARB), 0, 0, { GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_EXTENSION_COUNT }}, - { "glVertexAttribPointerNV", offsetof(struct opengl_funcs, p_glVertexAttribPointerNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs1dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs1dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs1fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs1fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs1hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs1hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttribs1svNV", offsetof(struct opengl_funcs, p_glVertexAttribs1svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs2dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs2dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs2fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs2fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs2hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs2hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttribs2svNV", offsetof(struct opengl_funcs, p_glVertexAttribs2svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs3dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs3dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs3fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs3fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs3hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs3hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttribs3svNV", offsetof(struct opengl_funcs, p_glVertexAttribs3svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs4dvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4dvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs4fvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4fvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs4hvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4hvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexAttribs4svNV", offsetof(struct opengl_funcs, p_glVertexAttribs4svNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexAttribs4ubvNV", offsetof(struct opengl_funcs, p_glVertexAttribs4ubvNV), 0, 0, { GL_NV_vertex_program, GL_EXTENSION_COUNT }}, - { "glVertexBindingDivisor", offsetof(struct opengl_funcs, p_glVertexBindingDivisor), 4, 3, { GL_ARB_vertex_attrib_binding, GL_EXTENSION_COUNT }}, - { "glVertexBlendARB", offsetof(struct opengl_funcs, p_glVertexBlendARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glVertexBlendEnvfATI", offsetof(struct opengl_funcs, p_glVertexBlendEnvfATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexBlendEnviATI", offsetof(struct opengl_funcs, p_glVertexBlendEnviATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexFormatNV", offsetof(struct opengl_funcs, p_glVertexFormatNV), 0, 0, { GL_NV_vertex_buffer_unified_memory, GL_EXTENSION_COUNT }}, - { "glVertexP2ui", offsetof(struct opengl_funcs, p_glVertexP2ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexP2uiv", offsetof(struct opengl_funcs, p_glVertexP2uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexP3ui", offsetof(struct opengl_funcs, p_glVertexP3ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexP3uiv", offsetof(struct opengl_funcs, p_glVertexP3uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexP4ui", offsetof(struct opengl_funcs, p_glVertexP4ui), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexP4uiv", offsetof(struct opengl_funcs, p_glVertexP4uiv), 3, 3, { GL_ARB_vertex_type_2_10_10_10_rev, GL_EXTENSION_COUNT }}, - { "glVertexPointerEXT", offsetof(struct opengl_funcs, p_glVertexPointerEXT), 0, 0, { GL_EXT_vertex_array, GL_EXTENSION_COUNT }}, - { "glVertexPointerListIBM", offsetof(struct opengl_funcs, p_glVertexPointerListIBM), 0, 0, { GL_IBM_vertex_array_lists, GL_EXTENSION_COUNT }}, - { "glVertexPointervINTEL", offsetof(struct opengl_funcs, p_glVertexPointervINTEL), 0, 0, { GL_INTEL_parallel_arrays, GL_EXTENSION_COUNT }}, - { "glVertexStream1dATI", offsetof(struct opengl_funcs, p_glVertexStream1dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream1dvATI", offsetof(struct opengl_funcs, p_glVertexStream1dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream1fATI", offsetof(struct opengl_funcs, p_glVertexStream1fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream1fvATI", offsetof(struct opengl_funcs, p_glVertexStream1fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream1iATI", offsetof(struct opengl_funcs, p_glVertexStream1iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream1ivATI", offsetof(struct opengl_funcs, p_glVertexStream1ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream1sATI", offsetof(struct opengl_funcs, p_glVertexStream1sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream1svATI", offsetof(struct opengl_funcs, p_glVertexStream1svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2dATI", offsetof(struct opengl_funcs, p_glVertexStream2dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2dvATI", offsetof(struct opengl_funcs, p_glVertexStream2dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2fATI", offsetof(struct opengl_funcs, p_glVertexStream2fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2fvATI", offsetof(struct opengl_funcs, p_glVertexStream2fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2iATI", offsetof(struct opengl_funcs, p_glVertexStream2iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2ivATI", offsetof(struct opengl_funcs, p_glVertexStream2ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2sATI", offsetof(struct opengl_funcs, p_glVertexStream2sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream2svATI", offsetof(struct opengl_funcs, p_glVertexStream2svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3dATI", offsetof(struct opengl_funcs, p_glVertexStream3dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3dvATI", offsetof(struct opengl_funcs, p_glVertexStream3dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3fATI", offsetof(struct opengl_funcs, p_glVertexStream3fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3fvATI", offsetof(struct opengl_funcs, p_glVertexStream3fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3iATI", offsetof(struct opengl_funcs, p_glVertexStream3iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3ivATI", offsetof(struct opengl_funcs, p_glVertexStream3ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3sATI", offsetof(struct opengl_funcs, p_glVertexStream3sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream3svATI", offsetof(struct opengl_funcs, p_glVertexStream3svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4dATI", offsetof(struct opengl_funcs, p_glVertexStream4dATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4dvATI", offsetof(struct opengl_funcs, p_glVertexStream4dvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4fATI", offsetof(struct opengl_funcs, p_glVertexStream4fATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4fvATI", offsetof(struct opengl_funcs, p_glVertexStream4fvATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4iATI", offsetof(struct opengl_funcs, p_glVertexStream4iATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4ivATI", offsetof(struct opengl_funcs, p_glVertexStream4ivATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4sATI", offsetof(struct opengl_funcs, p_glVertexStream4sATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexStream4svATI", offsetof(struct opengl_funcs, p_glVertexStream4svATI), 0, 0, { GL_ATI_vertex_streams, GL_EXTENSION_COUNT }}, - { "glVertexWeightPointerEXT", offsetof(struct opengl_funcs, p_glVertexWeightPointerEXT), 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, - { "glVertexWeightfEXT", offsetof(struct opengl_funcs, p_glVertexWeightfEXT), 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, - { "glVertexWeightfvEXT", offsetof(struct opengl_funcs, p_glVertexWeightfvEXT), 0, 0, { GL_EXT_vertex_weighting, GL_EXTENSION_COUNT }}, - { "glVertexWeighthNV", offsetof(struct opengl_funcs, p_glVertexWeighthNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVertexWeighthvNV", offsetof(struct opengl_funcs, p_glVertexWeighthvNV), 0, 0, { GL_NV_half_float, GL_EXTENSION_COUNT }}, - { "glVideoCaptureNV", offsetof(struct opengl_funcs, p_glVideoCaptureNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glVideoCaptureStreamParameterdvNV", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterdvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glVideoCaptureStreamParameterfvNV", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterfvNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glVideoCaptureStreamParameterivNV", offsetof(struct opengl_funcs, p_glVideoCaptureStreamParameterivNV), 0, 0, { GL_NV_video_capture, GL_EXTENSION_COUNT }}, - { "glViewportArrayv", offsetof(struct opengl_funcs, p_glViewportArrayv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glViewportIndexedf", offsetof(struct opengl_funcs, p_glViewportIndexedf), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glViewportIndexedfv", offsetof(struct opengl_funcs, p_glViewportIndexedfv), 4, 1, { GL_ARB_viewport_array, GL_EXTENSION_COUNT }}, - { "glViewportPositionWScaleNV", offsetof(struct opengl_funcs, p_glViewportPositionWScaleNV), 0, 0, { GL_NV_clip_space_w_scaling, GL_EXTENSION_COUNT }}, - { "glViewportSwizzleNV", offsetof(struct opengl_funcs, p_glViewportSwizzleNV), 0, 0, { GL_NV_viewport_swizzle, GL_EXTENSION_COUNT }}, - { "glWaitSemaphoreEXT", offsetof(struct opengl_funcs, p_glWaitSemaphoreEXT), 0, 0, { GL_EXT_semaphore, GL_EXTENSION_COUNT }}, - { "glWaitSemaphoreui64NVX", offsetof(struct opengl_funcs, p_glWaitSemaphoreui64NVX), 0, 0, { GL_NVX_progress_fence, GL_EXTENSION_COUNT }}, - { "glWaitSync", offsetof(struct opengl_funcs, p_glWaitSync), 3, 2, { GL_ARB_sync, GL_EXTENSION_COUNT }}, - { "glWaitVkSemaphoreNV", offsetof(struct opengl_funcs, p_glWaitVkSemaphoreNV), 0, 0, { GL_NV_draw_vulkan_image, GL_EXTENSION_COUNT }}, - { "glWeightPathsNV", offsetof(struct opengl_funcs, p_glWeightPathsNV), 0, 0, { GL_NV_path_rendering, GL_EXTENSION_COUNT }}, - { "glWeightPointerARB", offsetof(struct opengl_funcs, p_glWeightPointerARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightbvARB", offsetof(struct opengl_funcs, p_glWeightbvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightdvARB", offsetof(struct opengl_funcs, p_glWeightdvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightfvARB", offsetof(struct opengl_funcs, p_glWeightfvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightivARB", offsetof(struct opengl_funcs, p_glWeightivARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightsvARB", offsetof(struct opengl_funcs, p_glWeightsvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightubvARB", offsetof(struct opengl_funcs, p_glWeightubvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightuivARB", offsetof(struct opengl_funcs, p_glWeightuivARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWeightusvARB", offsetof(struct opengl_funcs, p_glWeightusvARB), 0, 0, { GL_ARB_vertex_blend, GL_EXTENSION_COUNT }}, - { "glWindowPos2d", offsetof(struct opengl_funcs, p_glWindowPos2d), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2dARB", offsetof(struct opengl_funcs, p_glWindowPos2dARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2dMESA", offsetof(struct opengl_funcs, p_glWindowPos2dMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2dv", offsetof(struct opengl_funcs, p_glWindowPos2dv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2dvARB", offsetof(struct opengl_funcs, p_glWindowPos2dvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2dvMESA", offsetof(struct opengl_funcs, p_glWindowPos2dvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2f", offsetof(struct opengl_funcs, p_glWindowPos2f), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2fARB", offsetof(struct opengl_funcs, p_glWindowPos2fARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2fMESA", offsetof(struct opengl_funcs, p_glWindowPos2fMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2fv", offsetof(struct opengl_funcs, p_glWindowPos2fv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2fvARB", offsetof(struct opengl_funcs, p_glWindowPos2fvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2fvMESA", offsetof(struct opengl_funcs, p_glWindowPos2fvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2i", offsetof(struct opengl_funcs, p_glWindowPos2i), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2iARB", offsetof(struct opengl_funcs, p_glWindowPos2iARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2iMESA", offsetof(struct opengl_funcs, p_glWindowPos2iMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2iv", offsetof(struct opengl_funcs, p_glWindowPos2iv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2ivARB", offsetof(struct opengl_funcs, p_glWindowPos2ivARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2ivMESA", offsetof(struct opengl_funcs, p_glWindowPos2ivMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2s", offsetof(struct opengl_funcs, p_glWindowPos2s), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2sARB", offsetof(struct opengl_funcs, p_glWindowPos2sARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2sMESA", offsetof(struct opengl_funcs, p_glWindowPos2sMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2sv", offsetof(struct opengl_funcs, p_glWindowPos2sv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos2svARB", offsetof(struct opengl_funcs, p_glWindowPos2svARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos2svMESA", offsetof(struct opengl_funcs, p_glWindowPos2svMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3d", offsetof(struct opengl_funcs, p_glWindowPos3d), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3dARB", offsetof(struct opengl_funcs, p_glWindowPos3dARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3dMESA", offsetof(struct opengl_funcs, p_glWindowPos3dMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3dv", offsetof(struct opengl_funcs, p_glWindowPos3dv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3dvARB", offsetof(struct opengl_funcs, p_glWindowPos3dvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3dvMESA", offsetof(struct opengl_funcs, p_glWindowPos3dvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3f", offsetof(struct opengl_funcs, p_glWindowPos3f), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3fARB", offsetof(struct opengl_funcs, p_glWindowPos3fARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3fMESA", offsetof(struct opengl_funcs, p_glWindowPos3fMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3fv", offsetof(struct opengl_funcs, p_glWindowPos3fv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3fvARB", offsetof(struct opengl_funcs, p_glWindowPos3fvARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3fvMESA", offsetof(struct opengl_funcs, p_glWindowPos3fvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3i", offsetof(struct opengl_funcs, p_glWindowPos3i), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3iARB", offsetof(struct opengl_funcs, p_glWindowPos3iARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3iMESA", offsetof(struct opengl_funcs, p_glWindowPos3iMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3iv", offsetof(struct opengl_funcs, p_glWindowPos3iv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3ivARB", offsetof(struct opengl_funcs, p_glWindowPos3ivARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3ivMESA", offsetof(struct opengl_funcs, p_glWindowPos3ivMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3s", offsetof(struct opengl_funcs, p_glWindowPos3s), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3sARB", offsetof(struct opengl_funcs, p_glWindowPos3sARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3sMESA", offsetof(struct opengl_funcs, p_glWindowPos3sMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3sv", offsetof(struct opengl_funcs, p_glWindowPos3sv), 1, 4, { GL_EXTENSION_COUNT }}, - { "glWindowPos3svARB", offsetof(struct opengl_funcs, p_glWindowPos3svARB), 0, 0, { GL_ARB_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos3svMESA", offsetof(struct opengl_funcs, p_glWindowPos3svMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4dMESA", offsetof(struct opengl_funcs, p_glWindowPos4dMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4dvMESA", offsetof(struct opengl_funcs, p_glWindowPos4dvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4fMESA", offsetof(struct opengl_funcs, p_glWindowPos4fMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4fvMESA", offsetof(struct opengl_funcs, p_glWindowPos4fvMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4iMESA", offsetof(struct opengl_funcs, p_glWindowPos4iMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4ivMESA", offsetof(struct opengl_funcs, p_glWindowPos4ivMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4sMESA", offsetof(struct opengl_funcs, p_glWindowPos4sMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowPos4svMESA", offsetof(struct opengl_funcs, p_glWindowPos4svMESA), 0, 0, { GL_MESA_window_pos, GL_EXTENSION_COUNT }}, - { "glWindowRectanglesEXT", offsetof(struct opengl_funcs, p_glWindowRectanglesEXT), 0, 0, { GL_EXT_window_rectangles, GL_EXTENSION_COUNT }}, - { "glWriteMaskEXT", offsetof(struct opengl_funcs, p_glWriteMaskEXT), 0, 0, { GL_EXT_vertex_shader, GL_EXTENSION_COUNT }}, - { "wglAllocateMemoryNV", offsetof(struct opengl_funcs, p_wglAllocateMemoryNV), 0, 0, { WGL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, - { "wglBindTexImageARB", offsetof(struct opengl_funcs, p_wglBindTexImageARB), 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, - { "wglChoosePixelFormatARB", offsetof(struct opengl_funcs, p_wglChoosePixelFormatARB), 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, - { "wglCreateContextAttribsARB", offsetof(struct opengl_funcs, p_wglCreateContextAttribsARB), 0, 0, { WGL_ARB_create_context, GL_EXTENSION_COUNT }}, - { "wglCreatePbufferARB", offsetof(struct opengl_funcs, p_wglCreatePbufferARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, - { "wglDestroyPbufferARB", offsetof(struct opengl_funcs, p_wglDestroyPbufferARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, - { "wglFreeMemoryNV", offsetof(struct opengl_funcs, p_wglFreeMemoryNV), 0, 0, { WGL_NV_vertex_array_range, GL_EXTENSION_COUNT }}, - { "wglGetCurrentReadDCARB", offsetof(struct opengl_funcs, p_wglGetCurrentReadDCARB), 0, 0, { WGL_ARB_make_current_read, GL_EXTENSION_COUNT }}, - { "wglGetExtensionsStringARB", offsetof(struct opengl_funcs, p_wglGetExtensionsStringARB), 0, 0, { WGL_ARB_extensions_string, GL_EXTENSION_COUNT }}, - { "wglGetExtensionsStringEXT", offsetof(struct opengl_funcs, p_wglGetExtensionsStringEXT), 0, 0, { WGL_EXT_extensions_string, GL_EXTENSION_COUNT }}, - { "wglGetPbufferDCARB", offsetof(struct opengl_funcs, p_wglGetPbufferDCARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, - { "wglGetPixelFormatAttribfvARB", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribfvARB), 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, - { "wglGetPixelFormatAttribivARB", offsetof(struct opengl_funcs, p_wglGetPixelFormatAttribivARB), 0, 0, { WGL_ARB_pixel_format, GL_EXTENSION_COUNT }}, - { "wglGetSwapIntervalEXT", offsetof(struct opengl_funcs, p_wglGetSwapIntervalEXT), 0, 0, { WGL_EXT_swap_control, GL_EXTENSION_COUNT }}, - { "wglMakeContextCurrentARB", offsetof(struct opengl_funcs, p_wglMakeContextCurrentARB), 0, 0, { WGL_ARB_make_current_read, GL_EXTENSION_COUNT }}, - { "wglQueryCurrentRendererIntegerWINE", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererIntegerWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, - { "wglQueryCurrentRendererStringWINE", offsetof(struct opengl_funcs, p_wglQueryCurrentRendererStringWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, - { "wglQueryPbufferARB", offsetof(struct opengl_funcs, p_wglQueryPbufferARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, - { "wglQueryRendererIntegerWINE", offsetof(struct opengl_funcs, p_wglQueryRendererIntegerWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, - { "wglQueryRendererStringWINE", offsetof(struct opengl_funcs, p_wglQueryRendererStringWINE), 0, 0, { WGL_WINE_query_renderer, GL_EXTENSION_COUNT }}, - { "wglReleasePbufferDCARB", offsetof(struct opengl_funcs, p_wglReleasePbufferDCARB), 0, 0, { WGL_ARB_pbuffer, GL_EXTENSION_COUNT }}, - { "wglReleaseTexImageARB", offsetof(struct opengl_funcs, p_wglReleaseTexImageARB), 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, - { "wglSetPbufferAttribARB", offsetof(struct opengl_funcs, p_wglSetPbufferAttribARB), 0, 0, { WGL_ARB_render_texture, GL_EXTENSION_COUNT }}, - { "wglSetPixelFormatWINE", offsetof(struct opengl_funcs, p_wglSetPixelFormatWINE), 0, 0, { WGL_WINE_pixel_format_passthrough, GL_EXTENSION_COUNT }}, - { "wglSwapIntervalEXT", offsetof(struct opengl_funcs, p_wglSwapIntervalEXT), 0, 0, { WGL_EXT_swap_control, GL_EXTENSION_COUNT }}, -}; - -static int registry_entry_cmp( const void *a, const void *b ) -{ - const struct registry_entry *entry = b; - return strcmp( a, entry->name ); -} - -struct registry_entry *get_function_entry( const char *name ) -{ - return bsearch( name, extension_registry, ARRAYSIZE(extension_registry), sizeof(extension_registry[0]), registry_entry_cmp ); -} diff --git a/dlls/opengl32/unix_thunks.h b/dlls/opengl32/unix_thunks.h index a86626520f4..b2911b7e2a1 100644 --- a/dlls/opengl32/unix_thunks.h +++ b/dlls/opengl32/unix_thunks.h @@ -5,7 +5,6 @@ typedef ULONG PTR32; extern BOOL wrap_wglCopyContext( TEB *teb, HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask ); extern HGLRC wrap_wglCreateContext( TEB *teb, HDC hDc, HGLRC handle ); extern BOOL wrap_wglDeleteContext( TEB *teb, HGLRC oldContext ); -extern PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR lpszProc ); extern BOOL wrap_wglMakeCurrent( TEB *teb, HDC hDc, HGLRC newContext ); extern BOOL wrap_wglShareLists( TEB *teb, HGLRC hrcSrvShare, HGLRC hrcSrvSource ); extern BOOL wrap_wglSwapBuffers( TEB *teb, HDC hdc ); diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 3ee07fe2d8b..6ac3e5ffb10 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -728,26 +728,6 @@ static GLubyte *filter_extensions( struct context *ctx, const char *str, const s return (GLubyte *)ret; } -/* Check if any GL extension from the list is supported */ -static BOOL is_function_supported( struct context *ctx, const struct registry_entry *func ) -{ - struct opengl_client_context *client = opengl_client_context_from_client( ctx->base.client_context ); - const enum opengl_extension *ext; - - /* We use the GetProcAddress function from the display driver to retrieve function pointers - * for OpenGL and WGL extensions. In case of winex11.drv the OpenGL extension lookup is done - * using glXGetProcAddress. This function is quite unreliable in the sense that its specs don't - * require the function to return NULL when an extension isn't found. For this reason we check - * if the OpenGL extension required for the function we are looking up is supported. */ - - if (func->major && (client->major_version > func->major - || (client->major_version == func->major && client->minor_version >= func->minor))) - return TRUE; - - for (ext = func->extensions; *ext != GL_EXTENSION_COUNT; ext++) if (client->extensions[*ext]) return TRUE; - return FALSE; -} - static void set_gl_error( TEB *teb, GLenum error ) { const struct opengl_funcs *funcs = teb->glTable; @@ -871,38 +851,6 @@ const GLubyte *wrap_glGetString( TEB *teb, GLenum name ) return ret; } -PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR name ) -{ - const struct registry_entry *found; - struct context *ctx; - - /* Without an active context opengl32 doesn't know to what - * driver it has to dispatch wglGetProcAddress. - */ - if (!(ctx = get_current_context( teb, NULL, NULL ))) - { - WARN( "No active WGL context found\n" ); - return (void *)-1; - } - - if (!(found = get_function_entry( name ))) - { - WARN( "Function %s unknown\n", name ); - return (void *)-1; - } - - if (!is_function_supported( ctx, found )) - { - WARN( "Extensions required for %s not supported\n", name ); - return (void *)-1; - } - - /* Return the index into the extension registry instead of a useless - * function pointer, PE side will returns its own function pointers. - */ - return (void *)(UINT_PTR)(found - extension_registry); -} - BOOL wrap_wglCopyContext( TEB *teb, HGLRC client_src, HGLRC client_dst, UINT mask ) { struct context *src, *dst; diff --git a/dlls/opengl32/unixlib.h b/dlls/opengl32/unixlib.h index bf75c744e0a..226caf331d5 100644 --- a/dlls/opengl32/unixlib.h +++ b/dlls/opengl32/unixlib.h @@ -51,13 +51,6 @@ struct wglGetPixelFormat_params int ret; }; -struct wglGetProcAddress_params -{ - TEB *teb; - LPCSTR lpszProc; - PROC ret; -}; - struct wglMakeCurrent_params { TEB *teb; @@ -25881,7 +25874,6 @@ enum unix_funcs unix_wglCreateContext, unix_wglDeleteContext, unix_wglGetPixelFormat, - unix_wglGetProcAddress, unix_wglMakeCurrent, unix_wglSetPixelFormat, unix_wglShareLists, diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index 236d20a7dc9..51c8129d473 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -36,7 +36,6 @@ #include "wine/glu.h" #include "wine/debug.h" -#include "wine/opengl_driver.h" WINE_DEFAULT_DEBUG_CHANNEL(opengl); WINE_DECLARE_DEBUG_CHANNEL(fps); @@ -1354,17 +1353,17 @@ int WINAPI wglGetLayerPaletteEntries( HDC hdc, int plane, int start, int count, */ PROC WINAPI wglGetProcAddress( LPCSTR name ) { - struct wglGetProcAddress_params args = { .teb = NtCurrentTeb(), .lpszProc = name }; + const struct registry_entry *func; + const enum opengl_extension *ext; struct context *ctx; - const void *proc; - NTSTATUS status; - if (!name) return NULL; if (!(ctx = context_from_handle( NtCurrentTeb()->glCurrentRC ))) return NULL; - if ((status = UNIX_CALL( wglGetProcAddress, &args ))) - WARN( "wglGetProcAddress %s returned %#lx\n", debugstr_a(name), status ); - if (args.ret == (void *)-1) return NULL; + if (!(func = get_function_entry( name ))) + { + WARN( "Function %s unknown\n", name ); + return NULL; + } if (!strncmp( name, "wglGetExtensionsString", 22 )) { @@ -1373,9 +1372,17 @@ PROC WINAPI wglGetProcAddress( LPCSTR name ) LeaveCriticalSection( &wgl_cs ); } - proc = extension_procs[(UINT_PTR)args.ret]; - TRACE( "returning %s -> %p\n", name, proc ); - return proc; + if (func->major && (ctx->base.major_version > func->major + || (ctx->base.major_version == func->major && ctx->base.minor_version >= func->minor))) + return func->func; + + for (ext = func->extensions; *ext != GL_EXTENSION_COUNT; ext++) + { + if (ctx->base.extensions[*ext]) return func->func; + } + + WARN( "Extensions required for %s not supported\n", name ); + return NULL; } /*********************************************************************** -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10349
Again I'd have preferred for you guys to reach an agreement, but I assume the exposed extensions issue is addressed now, so for the sake of moving forward I'm planning to merge this. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10349#note_136115
Fwiw I'm not against it, and I would like to move forward as well. Then now that I have been forced to spend more time looking over GLES, I can see that there's various things that would need to be done differently. I had opened https://gitlab.winehq.org/wine/wine/-/merge_requests/10582 for that purpose, it's been sitting around for a week now, and I wanted to get it in first, and with additional changes before I can start picking changes from this one. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10349#note_136116
On Wed Apr 15 14:35:27 2026 +0000, Rémi Bernon wrote:
Fwiw I'm not against it, and I would like to move forward as well. Then now that I have been forced to spend more time looking over GLES, I can see that there's various things that would need to be done differently. I had opened https://gitlab.winehq.org/wine/wine/-/merge_requests/10582 for that purpose, it's been sitting around for a week now, and I wanted to get it in first, and with additional changes before I can start picking changes from this one. I find the claims that you are somehow forced to work on GLES contexts unfounded. While I mostly mentioned GLES in !9982, there were other cases as well, and it is clear to me that you did not fully understand the impact of the proposed changes. Your initial version would have hidden a large number of extensions. Most of that was already addressed in !9987, although not without further issues that were resolved during the review process, with the usual amount of your pushback. Regardless, you kept doubling down on the few remaining extensions.
Throughout this, I have only been suggesting that we keep the status quo and make sure we do not hide extensions without a good reason. Nothing more, nothing less. This is not controversial, just standard practice in Wine development. All it took was just a few lines of code that I wrote anyway. The continued obsession on filtering harmless extensions or requiring full GLES context support is not me forcing anything on you. It is also a bit ironic to complain about an MR being held for a week in an MR that you have been holding for a month. !10472 could be implemented on top of this MR. That would be both simpler and would avoid a regression from !10656 by using a cleaner design instead of the current ugly workaround. More generally, I had this drafted since last year and likely would have upstreamed it much earlier if not for all the drama. So what exactly are the things that "need to be done differently" for your GLES work? I would expect it to be straightforward to extend opengl_extension with whatever is needed. Drivers should already provide a different set of extensions when a GLES context is used. Handling of core GLES functions may need some changes, but that is true regardless of this MR. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10349#note_136291
participants (5)
-
Alexandre Julliard (@julliard) -
Jacek Caban -
Jacek Caban (@jacek) -
Rémi Bernon -
Rémi Bernon (@rbernon)