[PATCH 0/14] MR10349: opengl32: Implement wglGetProcAddress on the client side.
And rework extensions parser. -- 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 c8f6c5f22f2..791dabf91c4 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 00dfd96a551..9fdb63954d6 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; @@ -1274,11 +1268,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 791dabf91c4..e0a1ce85962 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, @@ -1497,6 +1497,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 75a8baf0e55..164564c951c 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 9fdb63954d6..e21a8452908 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..acbd13ba856 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 e6d2849f5ce..54165021439 100644 --- a/include/wine/wgl.h +++ b/include/wine/wgl.h @@ -9892,6 +9892,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/make_opengl | 13 ++- dlls/opengl32/thunks.c | 45 +++++++++++ dlls/opengl32/unix_thunks.c | 157 +++++++++++++++++++++++++++++++++++- dlls/opengl32/unixlib.h | 50 ++++++++++++ include/wine/wgl.h | 37 +++++++++ 5 files changed, 298 insertions(+), 4 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index e0a1ce85962..a90bd50c560 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -910,7 +910,16 @@ chdir(dirname($0)); # - reference to an array of XML nodes giving the list of arguments (an empty array # for a 'void' function). # -my %gl_extensions; +# Initialize gl_extensions with known token-only extensions missing from the spec. +my %gl_extensions = + ( + "GL_APPLE_packed_pixels" => 1, + "GL_ATI_texture_compression_3dc" => 1, + "GL_EXT_demote_to_helper_invocation" => 1, + "GL_EXT_texture_edge_clamp" => 1, + "GL_EXT_texture_rectangle" => 1, + "GL_MESA_texture_signed_rgba" => 1, + ); my %norm_functions; my %ext_functions; my %wgl_extensions; @@ -952,7 +961,6 @@ my %unsupported_extgroups = "EGL_QNX_" => 1, "EGL_TIZEN_" => 1, "GL_ANDROID_" => 1, - "GL_ANGLE_" => 1, "GL_ARM_" => 1, "GL_DMP_" => 1, "GL_FJ_" => 1, @@ -965,6 +973,7 @@ my %unsupported_extgroups = ); my %unsupported_extensions = ( + "GL_ANGLE_framebuffer_blit" => 1, "GL_APPLE_copy_texture_levels" => 1, "GL_APPLE_framebuffer_multisample" => 1, "GL_APPLE_sync" => 1, diff --git a/dlls/opengl32/thunks.c b/dlls/opengl32/thunks.c index 590d07a9087..73bd1da3496 100644 --- a/dlls/opengl32/thunks.c +++ b/dlls/opengl32/thunks.c @@ -6133,6 +6133,14 @@ static void WINAPI glDrawArraysInstanced( GLenum mode, GLint first, GLsizei coun if ((status = UNIX_CALL( glDrawArraysInstanced, &args ))) WARN( "glDrawArraysInstanced returned %#lx\n", status ); } +static void WINAPI glDrawArraysInstancedANGLE( GLenum mode, GLint first, GLsizei count, GLsizei primcount ) +{ + struct glDrawArraysInstancedANGLE_params args = { .teb = NtCurrentTeb(), .mode = mode, .first = first, .count = count, .primcount = primcount }; + NTSTATUS status; + TRACE( "mode %d, first %d, count %d, primcount %d\n", mode, first, count, primcount ); + if ((status = UNIX_CALL( glDrawArraysInstancedANGLE, &args ))) WARN( "glDrawArraysInstancedANGLE returned %#lx\n", status ); +} + static void WINAPI glDrawArraysInstancedARB( GLenum mode, GLint first, GLsizei count, GLsizei primcount ) { struct glDrawArraysInstancedARB_params args = { .teb = NtCurrentTeb(), .mode = mode, .first = first, .count = count, .primcount = primcount }; @@ -6261,6 +6269,14 @@ static void WINAPI glDrawElementsInstanced( GLenum mode, GLsizei count, GLenum t if ((status = UNIX_CALL( glDrawElementsInstanced, &args ))) WARN( "glDrawElementsInstanced returned %#lx\n", status ); } +static void WINAPI glDrawElementsInstancedANGLE( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount ) +{ + struct glDrawElementsInstancedANGLE_params args = { .teb = NtCurrentTeb(), .mode = mode, .count = count, .type = type, .indices = indices, .primcount = primcount }; + NTSTATUS status; + TRACE( "mode %d, count %d, type %d, indices %p, primcount %d\n", mode, count, type, indices, primcount ); + if ((status = UNIX_CALL( glDrawElementsInstancedANGLE, &args ))) WARN( "glDrawElementsInstancedANGLE returned %#lx\n", status ); +} + static void WINAPI glDrawElementsInstancedARB( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount ) { struct glDrawElementsInstancedARB_params args = { .teb = NtCurrentTeb(), .mode = mode, .count = count, .type = type, .indices = indices, .primcount = primcount }; @@ -10366,6 +10382,14 @@ static void WINAPI glGetTransformFeedbackiv( GLuint xfb, GLenum pname, GLint *pa if ((status = UNIX_CALL( glGetTransformFeedbackiv, &args ))) WARN( "glGetTransformFeedbackiv returned %#lx\n", status ); } +static void WINAPI glGetTranslatedShaderSourceANGLE( GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source ) +{ + struct glGetTranslatedShaderSourceANGLE_params args = { .teb = NtCurrentTeb(), .shader = shader, .bufSize = bufSize, .length = length, .source = source }; + NTSTATUS status; + TRACE( "shader %d, bufSize %d, length %p, source %p\n", shader, bufSize, length, source ); + if ((status = UNIX_CALL( glGetTranslatedShaderSourceANGLE, &args ))) WARN( "glGetTranslatedShaderSourceANGLE returned %#lx\n", status ); +} + static GLuint WINAPI glGetUniformBlockIndex( GLuint program, const GLchar *uniformBlockName ) { struct glGetUniformBlockIndex_params args = { .teb = NtCurrentTeb(), .program = program, .uniformBlockName = uniformBlockName }; @@ -17408,6 +17432,14 @@ static void WINAPI glRenderbufferStorageMultisample( GLenum target, GLsizei samp if ((status = UNIX_CALL( glRenderbufferStorageMultisample, &args ))) WARN( "glRenderbufferStorageMultisample returned %#lx\n", status ); } +static void WINAPI glRenderbufferStorageMultisampleANGLE( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) +{ + struct glRenderbufferStorageMultisampleANGLE_params args = { .teb = NtCurrentTeb(), .target = target, .samples = samples, .internalformat = internalformat, .width = width, .height = height }; + NTSTATUS status; + TRACE( "target %d, samples %d, internalformat %d, width %d, height %d\n", target, samples, internalformat, width, height ); + if ((status = UNIX_CALL( glRenderbufferStorageMultisampleANGLE, &args ))) WARN( "glRenderbufferStorageMultisampleANGLE returned %#lx\n", status ); +} + static void WINAPI glRenderbufferStorageMultisampleAdvancedAMD( GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height ) { struct glRenderbufferStorageMultisampleAdvancedAMD_params args = { .teb = NtCurrentTeb(), .target = target, .samples = samples, .storageSamples = storageSamples, .internalformat = internalformat, .width = width, .height = height }; @@ -22691,6 +22723,14 @@ static void WINAPI glVertexAttribDivisor( GLuint index, GLuint divisor ) if ((status = UNIX_CALL( glVertexAttribDivisor, &args ))) WARN( "glVertexAttribDivisor returned %#lx\n", status ); } +static void WINAPI glVertexAttribDivisorANGLE( GLuint index, GLuint divisor ) +{ + struct glVertexAttribDivisorANGLE_params args = { .teb = NtCurrentTeb(), .index = index, .divisor = divisor }; + NTSTATUS status; + TRACE( "index %d, divisor %d\n", index, divisor ); + if ((status = UNIX_CALL( glVertexAttribDivisorANGLE, &args ))) WARN( "glVertexAttribDivisorANGLE returned %#lx\n", status ); +} + static void WINAPI glVertexAttribDivisorARB( GLuint index, GLuint divisor ) { struct glVertexAttribDivisorARB_params args = { .teb = NtCurrentTeb(), .index = index, .divisor = divisor }; @@ -25231,6 +25271,7 @@ const void *extension_procs[] = glDrawArraysEXT, glDrawArraysIndirect, glDrawArraysInstanced, + glDrawArraysInstancedANGLE, glDrawArraysInstancedARB, glDrawArraysInstancedBaseInstance, glDrawArraysInstancedEXT, @@ -25247,6 +25288,7 @@ const void *extension_procs[] = glDrawElementsBaseVertex, glDrawElementsIndirect, glDrawElementsInstanced, + glDrawElementsInstancedANGLE, glDrawElementsInstancedARB, glDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseVertex, @@ -25759,6 +25801,7 @@ const void *extension_procs[] = glGetTransformFeedbacki64_v, glGetTransformFeedbacki_v, glGetTransformFeedbackiv, + glGetTranslatedShaderSourceANGLE, glGetUniformBlockIndex, glGetUniformBufferSizeEXT, glGetUniformIndices, @@ -26631,6 +26674,7 @@ const void *extension_procs[] = glRenderbufferStorage, glRenderbufferStorageEXT, glRenderbufferStorageMultisample, + glRenderbufferStorageMultisampleANGLE, glRenderbufferStorageMultisampleAdvancedAMD, glRenderbufferStorageMultisampleCoverageNV, glRenderbufferStorageMultisampleEXT, @@ -27290,6 +27334,7 @@ const void *extension_procs[] = glVertexAttribArrayObjectATI, glVertexAttribBinding, glVertexAttribDivisor, + glVertexAttribDivisorANGLE, glVertexAttribDivisorARB, glVertexAttribFormat, glVertexAttribFormatNV, diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index 164564c951c..4ca258055fb 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -7709,6 +7709,16 @@ static NTSTATUS ext_glDrawArraysInstanced( void *args ) return STATUS_SUCCESS; } +static NTSTATUS ext_glDrawArraysInstancedANGLE( void *args ) +{ + struct glDrawArraysInstancedANGLE_params *params = args; + const struct opengl_funcs *funcs = params->teb->glTable; + if (!funcs->p_glDrawArraysInstancedANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glDrawArraysInstancedANGLE( params->mode, params->first, params->count, params->primcount ); + set_context_attribute( params->teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS ext_glDrawArraysInstancedARB( void *args ) { struct glDrawArraysInstancedARB_params *params = args; @@ -7869,6 +7879,16 @@ static NTSTATUS ext_glDrawElementsInstanced( void *args ) return STATUS_SUCCESS; } +static NTSTATUS ext_glDrawElementsInstancedANGLE( void *args ) +{ + struct glDrawElementsInstancedANGLE_params *params = args; + const struct opengl_funcs *funcs = params->teb->glTable; + if (!funcs->p_glDrawElementsInstancedANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glDrawElementsInstancedANGLE( params->mode, params->count, params->type, params->indices, params->primcount ); + set_context_attribute( params->teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS ext_glDrawElementsInstancedARB( void *args ) { struct glDrawElementsInstancedARB_params *params = args; @@ -12706,6 +12726,15 @@ static NTSTATUS ext_glGetTransformFeedbackiv( void *args ) return STATUS_SUCCESS; } +static NTSTATUS ext_glGetTranslatedShaderSourceANGLE( void *args ) +{ + struct glGetTranslatedShaderSourceANGLE_params *params = args; + const struct opengl_funcs *funcs = params->teb->glTable; + if (!funcs->p_glGetTranslatedShaderSourceANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glGetTranslatedShaderSourceANGLE( params->shader, params->bufSize, params->length, params->source ); + return STATUS_SUCCESS; +} + static NTSTATUS ext_glGetUniformBlockIndex( void *args ) { struct glGetUniformBlockIndex_params *params = args; @@ -21294,6 +21323,16 @@ static NTSTATUS ext_glRenderbufferStorageMultisample( void *args ) return STATUS_SUCCESS; } +static NTSTATUS ext_glRenderbufferStorageMultisampleANGLE( void *args ) +{ + struct glRenderbufferStorageMultisampleANGLE_params *params = args; + const struct opengl_funcs *funcs = params->teb->glTable; + if (!funcs->p_glRenderbufferStorageMultisampleANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glRenderbufferStorageMultisampleANGLE( params->target, params->samples, params->internalformat, params->width, params->height ); + set_context_attribute( params->teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS ext_glRenderbufferStorageMultisampleAdvancedAMD( void *args ) { struct glRenderbufferStorageMultisampleAdvancedAMD_params *params = args; @@ -27884,6 +27923,16 @@ static NTSTATUS ext_glVertexAttribDivisor( void *args ) return STATUS_SUCCESS; } +static NTSTATUS ext_glVertexAttribDivisorANGLE( void *args ) +{ + struct glVertexAttribDivisorANGLE_params *params = args; + const struct opengl_funcs *funcs = params->teb->glTable; + if (!funcs->p_glVertexAttribDivisorANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glVertexAttribDivisorANGLE( params->index, params->divisor ); + set_context_attribute( params->teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS ext_glVertexAttribDivisorARB( void *args ) { struct glVertexAttribDivisorARB_params *params = args; @@ -31319,6 +31368,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = ext_glDrawArraysEXT, ext_glDrawArraysIndirect, ext_glDrawArraysInstanced, + ext_glDrawArraysInstancedANGLE, ext_glDrawArraysInstancedARB, ext_glDrawArraysInstancedBaseInstance, ext_glDrawArraysInstancedEXT, @@ -31335,6 +31385,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = ext_glDrawElementsBaseVertex, ext_glDrawElementsIndirect, ext_glDrawElementsInstanced, + ext_glDrawElementsInstancedANGLE, ext_glDrawElementsInstancedARB, ext_glDrawElementsInstancedBaseInstance, ext_glDrawElementsInstancedBaseVertex, @@ -31847,6 +31898,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = ext_glGetTransformFeedbacki64_v, ext_glGetTransformFeedbacki_v, ext_glGetTransformFeedbackiv, + ext_glGetTranslatedShaderSourceANGLE, ext_glGetUniformBlockIndex, ext_glGetUniformBufferSizeEXT, ext_glGetUniformIndices, @@ -32719,6 +32771,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = ext_glRenderbufferStorage, ext_glRenderbufferStorageEXT, ext_glRenderbufferStorageMultisample, + ext_glRenderbufferStorageMultisampleANGLE, ext_glRenderbufferStorageMultisampleAdvancedAMD, ext_glRenderbufferStorageMultisampleCoverageNV, ext_glRenderbufferStorageMultisampleEXT, @@ -33378,6 +33431,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = ext_glVertexAttribArrayObjectATI, ext_glVertexAttribBinding, ext_glVertexAttribDivisor, + ext_glVertexAttribDivisorANGLE, ext_glVertexAttribDivisorARB, ext_glVertexAttribFormat, ext_glVertexAttribFormatNV, @@ -46940,6 +46994,24 @@ static NTSTATUS wow64_ext_glDrawArraysInstanced( void *args ) return STATUS_SUCCESS; } +static NTSTATUS wow64_ext_glDrawArraysInstancedANGLE( void *args ) +{ + struct + { + PTR32 teb; + GLenum mode; + GLint first; + GLsizei count; + GLsizei primcount; + } *params = args; + TEB *teb = get_teb64( params->teb ); + const struct opengl_funcs *funcs = teb->glTable; + if (!funcs->p_glDrawArraysInstancedANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glDrawArraysInstancedANGLE( params->mode, params->first, params->count, params->primcount ); + set_context_attribute( teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS wow64_ext_glDrawArraysInstancedARB( void *args ) { struct @@ -47234,6 +47306,25 @@ static NTSTATUS wow64_ext_glDrawElementsInstanced( void *args ) return STATUS_SUCCESS; } +static NTSTATUS wow64_ext_glDrawElementsInstancedANGLE( void *args ) +{ + struct + { + PTR32 teb; + GLenum mode; + GLsizei count; + GLenum type; + PTR32 indices; + GLsizei primcount; + } *params = args; + TEB *teb = get_teb64( params->teb ); + const struct opengl_funcs *funcs = teb->glTable; + if (!funcs->p_glDrawElementsInstancedANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glDrawElementsInstancedANGLE( params->mode, params->count, params->type, ULongToPtr(params->indices), params->primcount ); + set_context_attribute( teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS wow64_ext_glDrawElementsInstancedARB( void *args ) { struct @@ -55802,6 +55893,23 @@ static NTSTATUS wow64_ext_glGetTransformFeedbackiv( void *args ) return STATUS_SUCCESS; } +static NTSTATUS wow64_ext_glGetTranslatedShaderSourceANGLE( void *args ) +{ + struct + { + PTR32 teb; + GLuint shader; + GLsizei bufSize; + PTR32 length; + PTR32 source; + } *params = args; + TEB *teb = get_teb64( params->teb ); + const struct opengl_funcs *funcs = teb->glTable; + if (!funcs->p_glGetTranslatedShaderSourceANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glGetTranslatedShaderSourceANGLE( params->shader, params->bufSize, ULongToPtr(params->length), ULongToPtr(params->source) ); + return STATUS_SUCCESS; +} + static NTSTATUS wow64_ext_glGetUniformBlockIndex( void *args ) { struct @@ -70982,6 +71090,25 @@ static NTSTATUS wow64_ext_glRenderbufferStorageMultisample( void *args ) return STATUS_SUCCESS; } +static NTSTATUS wow64_ext_glRenderbufferStorageMultisampleANGLE( void *args ) +{ + struct + { + PTR32 teb; + GLenum target; + GLsizei samples; + GLenum internalformat; + GLsizei width; + GLsizei height; + } *params = args; + TEB *teb = get_teb64( params->teb ); + const struct opengl_funcs *funcs = teb->glTable; + if (!funcs->p_glRenderbufferStorageMultisampleANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glRenderbufferStorageMultisampleANGLE( params->target, params->samples, params->internalformat, params->width, params->height ); + set_context_attribute( teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS wow64_ext_glRenderbufferStorageMultisampleAdvancedAMD( void *args ) { struct @@ -82490,6 +82617,22 @@ static NTSTATUS wow64_ext_glVertexAttribDivisor( void *args ) return STATUS_SUCCESS; } +static NTSTATUS wow64_ext_glVertexAttribDivisorANGLE( void *args ) +{ + struct + { + PTR32 teb; + GLuint index; + GLuint divisor; + } *params = args; + TEB *teb = get_teb64( params->teb ); + const struct opengl_funcs *funcs = teb->glTable; + if (!funcs->p_glVertexAttribDivisorANGLE) return STATUS_NOT_IMPLEMENTED; + funcs->p_glVertexAttribDivisorANGLE( params->index, params->divisor ); + set_context_attribute( teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS wow64_ext_glVertexAttribDivisorARB( void *args ) { struct @@ -87719,6 +87862,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_ext_glDrawArraysEXT, wow64_ext_glDrawArraysIndirect, wow64_ext_glDrawArraysInstanced, + wow64_ext_glDrawArraysInstancedANGLE, wow64_ext_glDrawArraysInstancedARB, wow64_ext_glDrawArraysInstancedBaseInstance, wow64_ext_glDrawArraysInstancedEXT, @@ -87735,6 +87879,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_ext_glDrawElementsBaseVertex, wow64_ext_glDrawElementsIndirect, wow64_ext_glDrawElementsInstanced, + wow64_ext_glDrawElementsInstancedANGLE, wow64_ext_glDrawElementsInstancedARB, wow64_ext_glDrawElementsInstancedBaseInstance, wow64_ext_glDrawElementsInstancedBaseVertex, @@ -88247,6 +88392,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_ext_glGetTransformFeedbacki64_v, wow64_ext_glGetTransformFeedbacki_v, wow64_ext_glGetTransformFeedbackiv, + wow64_ext_glGetTranslatedShaderSourceANGLE, wow64_ext_glGetUniformBlockIndex, wow64_ext_glGetUniformBufferSizeEXT, wow64_ext_glGetUniformIndices, @@ -89119,6 +89265,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_ext_glRenderbufferStorage, wow64_ext_glRenderbufferStorageEXT, wow64_ext_glRenderbufferStorageMultisample, + wow64_ext_glRenderbufferStorageMultisampleANGLE, wow64_ext_glRenderbufferStorageMultisampleAdvancedAMD, wow64_ext_glRenderbufferStorageMultisampleCoverageNV, wow64_ext_glRenderbufferStorageMultisampleEXT, @@ -89778,6 +89925,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_ext_glVertexAttribArrayObjectATI, wow64_ext_glVertexAttribBinding, wow64_ext_glVertexAttribDivisor, + wow64_ext_glVertexAttribDivisorANGLE, wow64_ext_glVertexAttribDivisorARB, wow64_ext_glVertexAttribFormat, wow64_ext_glVertexAttribFormatNV, @@ -91800,8 +91948,8 @@ struct opengl_funcs null_opengl_funcs = .p_glViewport = null_glViewport, }; -const int extension_registry_size = 2758; -const struct registry_entry extension_registry[2758] = +const int extension_registry_size = 2763; +const struct registry_entry extension_registry[2763] = { { "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) }, @@ -92231,6 +92379,7 @@ const struct registry_entry extension_registry[2758] = { "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) }, + { "glDrawArraysInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedANGLE) }, { "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) }, @@ -92247,6 +92396,7 @@ const struct registry_entry extension_registry[2758] = { "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) }, + { "glDrawElementsInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedANGLE) }, { "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) }, @@ -92759,6 +92909,7 @@ const struct registry_entry extension_registry[2758] = { "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) }, + { "glGetTranslatedShaderSourceANGLE", "GL_ANGLE_translated_shader_source\0", offsetof(struct opengl_funcs, p_glGetTranslatedShaderSourceANGLE) }, { "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) }, @@ -93631,6 +93782,7 @@ const struct registry_entry extension_registry[2758] = { "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) }, + { "glRenderbufferStorageMultisampleANGLE", "GL_ANGLE_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleANGLE) }, { "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) }, @@ -94290,6 +94442,7 @@ const struct registry_entry extension_registry[2758] = { "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) }, + { "glVertexAttribDivisorANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisorANGLE) }, { "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) }, diff --git a/dlls/opengl32/unixlib.h b/dlls/opengl32/unixlib.h index bf75c744e0a..ea014928911 100644 --- a/dlls/opengl32/unixlib.h +++ b/dlls/opengl32/unixlib.h @@ -6353,6 +6353,15 @@ struct glDrawArraysInstanced_params GLsizei instancecount; }; +struct glDrawArraysInstancedANGLE_params +{ + TEB *teb; + GLenum mode; + GLint first; + GLsizei count; + GLsizei primcount; +}; + struct glDrawArraysInstancedARB_params { TEB *teb; @@ -6497,6 +6506,16 @@ struct glDrawElementsInstanced_params GLsizei instancecount; }; +struct glDrawElementsInstancedANGLE_params +{ + TEB *teb; + GLenum mode; + GLsizei count; + GLenum type; + const void *indices; + GLsizei primcount; +}; + struct glDrawElementsInstancedARB_params { TEB *teb; @@ -10754,6 +10773,15 @@ struct glGetTransformFeedbackiv_params GLint *param; }; +struct glGetTranslatedShaderSourceANGLE_params +{ + TEB *teb; + GLuint shader; + GLsizei bufSize; + GLsizei *length; + GLchar *source; +}; + struct glGetUniformBlockIndex_params { TEB *teb; @@ -18199,6 +18227,16 @@ struct glRenderbufferStorageMultisample_params GLsizei height; }; +struct glRenderbufferStorageMultisampleANGLE_params +{ + TEB *teb; + GLenum target; + GLsizei samples; + GLenum internalformat; + GLsizei width; + GLsizei height; +}; + struct glRenderbufferStorageMultisampleAdvancedAMD_params { TEB *teb; @@ -23777,6 +23815,13 @@ struct glVertexAttribDivisor_params GLuint divisor; }; +struct glVertexAttribDivisorANGLE_params +{ + TEB *teb; + GLuint index; + GLuint divisor; +}; + struct glVertexAttribDivisorARB_params { TEB *teb; @@ -26650,6 +26695,7 @@ enum unix_funcs unix_glDrawArraysEXT, unix_glDrawArraysIndirect, unix_glDrawArraysInstanced, + unix_glDrawArraysInstancedANGLE, unix_glDrawArraysInstancedARB, unix_glDrawArraysInstancedBaseInstance, unix_glDrawArraysInstancedEXT, @@ -26666,6 +26712,7 @@ enum unix_funcs unix_glDrawElementsBaseVertex, unix_glDrawElementsIndirect, unix_glDrawElementsInstanced, + unix_glDrawElementsInstancedANGLE, unix_glDrawElementsInstancedARB, unix_glDrawElementsInstancedBaseInstance, unix_glDrawElementsInstancedBaseVertex, @@ -27178,6 +27225,7 @@ enum unix_funcs unix_glGetTransformFeedbacki64_v, unix_glGetTransformFeedbacki_v, unix_glGetTransformFeedbackiv, + unix_glGetTranslatedShaderSourceANGLE, unix_glGetUniformBlockIndex, unix_glGetUniformBufferSizeEXT, unix_glGetUniformIndices, @@ -28050,6 +28098,7 @@ enum unix_funcs unix_glRenderbufferStorage, unix_glRenderbufferStorageEXT, unix_glRenderbufferStorageMultisample, + unix_glRenderbufferStorageMultisampleANGLE, unix_glRenderbufferStorageMultisampleAdvancedAMD, unix_glRenderbufferStorageMultisampleCoverageNV, unix_glRenderbufferStorageMultisampleEXT, @@ -28709,6 +28758,7 @@ enum unix_funcs unix_glVertexAttribArrayObjectATI, unix_glVertexAttribBinding, unix_glVertexAttribDivisor, + unix_glVertexAttribDivisorANGLE, unix_glVertexAttribDivisorARB, unix_glVertexAttribFormat, unix_glVertexAttribFormatNV, diff --git a/include/wine/wgl.h b/include/wine/wgl.h index 54165021439..93c92a6b029 100644 --- a/include/wine/wgl.h +++ b/include/wine/wgl.h @@ -1325,7 +1325,9 @@ typedef unsigned int GLhandleARB; #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 #define GL_COMPRESSED_RGB_ARB 0x84ED #define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E @@ -2223,6 +2225,7 @@ typedef unsigned int GLhandleARB; #define GL_FRAGMENT_TEXTURE 0x829F #define GL_FRAMEBUFFER 0x8D40 #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 @@ -2279,6 +2282,7 @@ typedef unsigned int GLhandleARB; #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC @@ -3271,6 +3275,7 @@ typedef unsigned int GLhandleARB; #define GL_MAX_RENDERBUFFER_SIZE 0x84E8 #define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 #define GL_MAX_SAMPLES 0x8D57 +#define GL_MAX_SAMPLES_ANGLE 0x8D57 #define GL_MAX_SAMPLES_EXT 0x8D57 #define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 #define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 @@ -3802,6 +3807,7 @@ typedef unsigned int GLhandleARB; #define GL_PACK_LSB_FIRST 0x0D01 #define GL_PACK_RESAMPLE_OML 0x8984 #define GL_PACK_RESAMPLE_SGIX 0x842E +#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 #define GL_PACK_ROW_BYTES_APPLE 0x8A15 #define GL_PACK_ROW_LENGTH 0x0D02 #define GL_PACK_ROW_LENGTH_NV 0x0D02 @@ -4121,6 +4127,7 @@ typedef unsigned int GLhandleARB; #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 #define GL_PROGRAM_ATTRIBS_ARB 0x88AC #define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 +#define GL_PROGRAM_BINARY_ANGLE 0x93A6 #define GL_PROGRAM_BINARY_FORMATS 0x87FF #define GL_PROGRAM_BINARY_FORMAT_MESA 0x875F #define GL_PROGRAM_BINARY_LENGTH 0x8741 @@ -4431,6 +4438,7 @@ typedef unsigned int GLhandleARB; #define GL_RENDERBUFFER_RED_SIZE 0x8D50 #define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 #define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 @@ -5489,6 +5497,7 @@ typedef unsigned int GLhandleARB; #define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F #define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 #define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 +#define GL_TEXTURE_USAGE_ANGLE 0x93A2 #define GL_TEXTURE_VIEW 0x82B5 #define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD #define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB @@ -5561,6 +5570,7 @@ typedef unsigned int GLhandleARB; #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 #define GL_TRANSFORM_HINT_APPLE 0x85B1 +#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 #define GL_TRANSLATE_2D_NV 0x9090 #define GL_TRANSLATE_3D_NV 0x9091 #define GL_TRANSLATE_X_NV 0x908E @@ -5867,6 +5877,7 @@ typedef unsigned int GLhandleARB; #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 @@ -7520,6 +7531,7 @@ typedef void (GLAPIENTRY *PFN_glDispatchComputeIndirect)( GLintptr indirec typedef void (GLAPIENTRY *PFN_glDrawArraysEXT)( GLenum mode, GLint first, GLsizei count ); typedef void (GLAPIENTRY *PFN_glDrawArraysIndirect)( GLenum mode, const void *indirect ); typedef void (GLAPIENTRY *PFN_glDrawArraysInstanced)( GLenum mode, GLint first, GLsizei count, GLsizei instancecount ); +typedef void (GLAPIENTRY *PFN_glDrawArraysInstancedANGLE)( GLenum mode, GLint first, GLsizei count, GLsizei primcount ); typedef void (GLAPIENTRY *PFN_glDrawArraysInstancedARB)( GLenum mode, GLint first, GLsizei count, GLsizei primcount ); typedef void (GLAPIENTRY *PFN_glDrawArraysInstancedBaseInstance)( GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance ); typedef void (GLAPIENTRY *PFN_glDrawArraysInstancedEXT)( GLenum mode, GLint start, GLsizei count, GLsizei primcount ); @@ -7536,6 +7548,7 @@ typedef void (GLAPIENTRY *PFN_glDrawElementArrayATI)( GLenum mode, GLsizei typedef void (GLAPIENTRY *PFN_glDrawElementsBaseVertex)( GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex ); typedef void (GLAPIENTRY *PFN_glDrawElementsIndirect)( GLenum mode, GLenum type, const void *indirect ); typedef void (GLAPIENTRY *PFN_glDrawElementsInstanced)( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount ); +typedef void (GLAPIENTRY *PFN_glDrawElementsInstancedANGLE)( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount ); typedef void (GLAPIENTRY *PFN_glDrawElementsInstancedARB)( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount ); typedef void (GLAPIENTRY *PFN_glDrawElementsInstancedBaseInstance)( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance ); typedef void (GLAPIENTRY *PFN_glDrawElementsInstancedBaseVertex)( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex ); @@ -8048,6 +8061,7 @@ typedef void (GLAPIENTRY *PFN_glGetTransformFeedbackVaryingNV)( GLuint pro typedef void (GLAPIENTRY *PFN_glGetTransformFeedbacki64_v)( GLuint xfb, GLenum pname, GLuint index, GLint64 *param ); typedef void (GLAPIENTRY *PFN_glGetTransformFeedbacki_v)( GLuint xfb, GLenum pname, GLuint index, GLint *param ); typedef void (GLAPIENTRY *PFN_glGetTransformFeedbackiv)( GLuint xfb, GLenum pname, GLint *param ); +typedef void (GLAPIENTRY *PFN_glGetTranslatedShaderSourceANGLE)( GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source ); typedef GLuint (GLAPIENTRY *PFN_glGetUniformBlockIndex)( GLuint program, const GLchar *uniformBlockName ); typedef GLint (GLAPIENTRY *PFN_glGetUniformBufferSizeEXT)( GLuint program, GLint location ); typedef void (GLAPIENTRY *PFN_glGetUniformIndices)( GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices ); @@ -8922,6 +8936,7 @@ typedef void (GLAPIENTRY *PFN_glRenderGpuMaskNV)( GLbitfield mask ); typedef void (GLAPIENTRY *PFN_glRenderbufferStorage)( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ); typedef void (GLAPIENTRY *PFN_glRenderbufferStorageEXT)( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ); typedef void (GLAPIENTRY *PFN_glRenderbufferStorageMultisample)( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ); +typedef void (GLAPIENTRY *PFN_glRenderbufferStorageMultisampleANGLE)( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ); typedef void (GLAPIENTRY *PFN_glRenderbufferStorageMultisampleAdvancedAMD)( GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height ); typedef void (GLAPIENTRY *PFN_glRenderbufferStorageMultisampleCoverageNV)( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height ); typedef void (GLAPIENTRY *PFN_glRenderbufferStorageMultisampleEXT)( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ); @@ -9581,6 +9596,7 @@ typedef void (GLAPIENTRY *PFN_glVertexAttrib4usvARB)( GLuint index, const typedef void (GLAPIENTRY *PFN_glVertexAttribArrayObjectATI)( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset ); typedef void (GLAPIENTRY *PFN_glVertexAttribBinding)( GLuint attribindex, GLuint bindingindex ); typedef void (GLAPIENTRY *PFN_glVertexAttribDivisor)( GLuint index, GLuint divisor ); +typedef void (GLAPIENTRY *PFN_glVertexAttribDivisorANGLE)( GLuint index, GLuint divisor ); typedef void (GLAPIENTRY *PFN_glVertexAttribDivisorARB)( GLuint index, GLuint divisor ); typedef void (GLAPIENTRY *PFN_glVertexAttribFormat)( GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset ); typedef void (GLAPIENTRY *PFN_glVertexAttribFormatNV)( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride ); @@ -10279,6 +10295,16 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_AMD_vertex_shader_layer) \ USE_GL_EXT(GL_AMD_vertex_shader_tessellator) \ USE_GL_EXT(GL_AMD_vertex_shader_viewport_index) \ + USE_GL_EXT(GL_ANGLE_depth_texture) \ + 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_aux_depth_stencil) \ USE_GL_EXT(GL_APPLE_client_storage) \ USE_GL_EXT(GL_APPLE_clip_distance) \ @@ -10288,6 +10314,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_APPLE_float_pixels) \ USE_GL_EXT(GL_APPLE_flush_buffer_range) \ USE_GL_EXT(GL_APPLE_object_purgeable) \ + USE_GL_EXT(GL_APPLE_packed_pixels) \ USE_GL_EXT(GL_APPLE_rgb_422) \ USE_GL_EXT(GL_APPLE_row_bytes) \ USE_GL_EXT(GL_APPLE_specular_vector) \ @@ -10485,6 +10512,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_ATI_pn_triangles) \ USE_GL_EXT(GL_ATI_separate_stencil) \ USE_GL_EXT(GL_ATI_text_fragment_shader) \ + USE_GL_EXT(GL_ATI_texture_compression_3dc) \ USE_GL_EXT(GL_ATI_texture_env_combine3) \ USE_GL_EXT(GL_ATI_texture_float) \ USE_GL_EXT(GL_ATI_texture_mirror_once) \ @@ -10523,6 +10551,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_EXT_cull_vertex) \ USE_GL_EXT(GL_EXT_debug_label) \ USE_GL_EXT(GL_EXT_debug_marker) \ + USE_GL_EXT(GL_EXT_demote_to_helper_invocation) \ USE_GL_EXT(GL_EXT_depth_bounds_test) \ USE_GL_EXT(GL_EXT_depth_clamp) \ USE_GL_EXT(GL_EXT_direct_state_access) \ @@ -10633,6 +10662,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_EXT_texture_compression_s3tc_srgb) \ USE_GL_EXT(GL_EXT_texture_cube_map) \ USE_GL_EXT(GL_EXT_texture_cube_map_array) \ + USE_GL_EXT(GL_EXT_texture_edge_clamp) \ USE_GL_EXT(GL_EXT_texture_env) \ USE_GL_EXT(GL_EXT_texture_env_add) \ USE_GL_EXT(GL_EXT_texture_env_combine) \ @@ -10650,6 +10680,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_EXT_texture_object) \ USE_GL_EXT(GL_EXT_texture_perturb_normal) \ USE_GL_EXT(GL_EXT_texture_query_lod) \ + USE_GL_EXT(GL_EXT_texture_rectangle) \ USE_GL_EXT(GL_EXT_texture_rg) \ USE_GL_EXT(GL_EXT_texture_sRGB) \ USE_GL_EXT(GL_EXT_texture_sRGB_R8) \ @@ -10726,6 +10757,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_MESA_resize_buffers) \ USE_GL_EXT(GL_MESA_shader_integer_functions) \ USE_GL_EXT(GL_MESA_texture_const_bandwidth) \ + USE_GL_EXT(GL_MESA_texture_signed_rgba) \ USE_GL_EXT(GL_MESA_tile_raster_order) \ USE_GL_EXT(GL_MESA_window_pos) \ USE_GL_EXT(GL_MESA_ycbcr_texture) \ @@ -11787,6 +11819,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(glDrawArraysEXT) \ USE_GL_FUNC(glDrawArraysIndirect) \ USE_GL_FUNC(glDrawArraysInstanced) \ + USE_GL_FUNC(glDrawArraysInstancedANGLE) \ USE_GL_FUNC(glDrawArraysInstancedARB) \ USE_GL_FUNC(glDrawArraysInstancedBaseInstance) \ USE_GL_FUNC(glDrawArraysInstancedEXT) \ @@ -11803,6 +11836,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(glDrawElementsBaseVertex) \ USE_GL_FUNC(glDrawElementsIndirect) \ USE_GL_FUNC(glDrawElementsInstanced) \ + USE_GL_FUNC(glDrawElementsInstancedANGLE) \ USE_GL_FUNC(glDrawElementsInstancedARB) \ USE_GL_FUNC(glDrawElementsInstancedBaseInstance) \ USE_GL_FUNC(glDrawElementsInstancedBaseVertex) \ @@ -12315,6 +12349,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(glGetTransformFeedbacki64_v) \ USE_GL_FUNC(glGetTransformFeedbacki_v) \ USE_GL_FUNC(glGetTransformFeedbackiv) \ + USE_GL_FUNC(glGetTranslatedShaderSourceANGLE) \ USE_GL_FUNC(glGetUniformBlockIndex) \ USE_GL_FUNC(glGetUniformBufferSizeEXT) \ USE_GL_FUNC(glGetUniformIndices) \ @@ -13189,6 +13224,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(glRenderbufferStorage) \ USE_GL_FUNC(glRenderbufferStorageEXT) \ USE_GL_FUNC(glRenderbufferStorageMultisample) \ + USE_GL_FUNC(glRenderbufferStorageMultisampleANGLE) \ USE_GL_FUNC(glRenderbufferStorageMultisampleAdvancedAMD) \ USE_GL_FUNC(glRenderbufferStorageMultisampleCoverageNV) \ USE_GL_FUNC(glRenderbufferStorageMultisampleEXT) \ @@ -13848,6 +13884,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(glVertexAttribArrayObjectATI) \ USE_GL_FUNC(glVertexAttribBinding) \ USE_GL_FUNC(glVertexAttribDivisor) \ + USE_GL_FUNC(glVertexAttribDivisorANGLE) \ USE_GL_FUNC(glVertexAttribDivisorARB) \ USE_GL_FUNC(glVertexAttribFormat) \ USE_GL_FUNC(glVertexAttribFormatNV) \ -- 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 e21a8452908..a1567f10338 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; } @@ -1265,7 +1263,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" ))) @@ -1287,7 +1285,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 acbd13ba856..7222a127424 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> And move it to client context. Based on patch by Rémi Bernon. --- dlls/opengl32/make_opengl | 10 +-- dlls/opengl32/unix_wgl.c | 161 ++++++++++++++++++++--------------- include/wine/opengl_driver.h | 1 + include/wine/wgl.h | 8 +- 4 files changed, 96 insertions(+), 84 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index a90bd50c560..9b1b4a588d5 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1540,17 +1540,9 @@ 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"; diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index a1567f10338..4206456ec8a 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,45 @@ 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 ))) + { + WARN( "Extension %s unknown\n", debugstr_an(ext, len) ); + return GL_EXTENSION_COUNT; + } + return found - all_extensions; +} + +static enum opengl_extension map_host_extension( enum opengl_extension ext ) +{ + switch (ext) + { + case GL_EXT_memory_object_fd: return GL_EXT_memory_object_win32; + case GL_EXT_semaphore_fd: return GL_EXT_semaphore_win32; + default: return ext; + } +} + /* check if the extension is present in the list */ static BOOL has_extension( const char *list, const char *ext, size_t len ) { @@ -666,19 +704,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 +721,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] = map_host_extension( 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 +962,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 +1034,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 +1048,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 +1227,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 +1247,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,60 +1258,38 @@ 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[map_host_extension( 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 = ""; if (!enabled && !(enabled = query_opengl_option( "EnabledExtensions" ))) enabled = ""; 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)) { @@ -1275,20 +1298,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 ) @@ -1328,7 +1350,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 ) diff --git a/include/wine/wgl.h b/include/wine/wgl.h index 93c92a6b029..e7f63ad9708 100644 --- a/include/wine/wgl.h +++ b/include/wine/wgl.h @@ -10248,7 +10248,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) \ @@ -10584,6 +10584,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_EXT_index_texture) \ USE_GL_EXT(GL_EXT_light_texture) \ USE_GL_EXT(GL_EXT_memory_object) \ + USE_GL_EXT(GL_EXT_memory_object_fd) \ USE_GL_EXT(GL_EXT_memory_object_win32) \ USE_GL_EXT(GL_EXT_mesh_shader) \ USE_GL_EXT(GL_EXT_misc_attribute) \ @@ -10618,6 +10619,7 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_EXT(GL_EXT_scene_marker) \ USE_GL_EXT(GL_EXT_secondary_color) \ USE_GL_EXT(GL_EXT_semaphore) \ + USE_GL_EXT(GL_EXT_semaphore_fd) \ USE_GL_EXT(GL_EXT_semaphore_win32) \ USE_GL_EXT(GL_EXT_separate_depth_stencil) \ USE_GL_EXT(GL_EXT_separate_shader_objects) \ @@ -11048,10 +11050,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_EXT_memory_object_fd) \ - USE_GL_EXT(GL_EXT_semaphore_fd) - #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> --- 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 | 14 +++++++++++++- 5 files changed, 15 insertions(+), 27 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 9b1b4a588d5..f6babb688d1 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 4ca258055fb..5f1c176e998 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -12335,7 +12335,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; } @@ -55167,7 +55167,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 4206456ec8a..51c757e8b63 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -948,28 +948,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 7222a127424..236d20a7dc9 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -58,7 +58,7 @@ static CRITICAL_SECTION_DEBUG wgl_cs_debug = { static CRITICAL_SECTION wgl_cs = { &wgl_cs_debug, -1, 0, 0, 0, 0 }; static char *wgl_extensions; -#define USE_GL_EXT(x) #x +#define USE_GL_EXT(x) #x, static const char *extension_names[] = { ALL_GL_EXTS ALL_WGL_EXTS }; #undef USE_GL_EXT @@ -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 | 60 +++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 51c757e8b63..b489fec8edf 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 ) { @@ -515,18 +516,6 @@ static enum opengl_extension map_host_extension( enum opengl_extension ext ) } } -/* 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", @@ -1200,6 +1189,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 ) { @@ -1208,7 +1223,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; @@ -1250,20 +1265,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 = ""; - if (!enabled && !(enabled = query_opengl_option( "EnabledExtensions" ))) enabled = ""; - 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 b489fec8edf..c14eb7c548c 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -516,13 +516,6 @@ static enum opengl_extension map_host_extension( enum opengl_extension ext ) } } -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; @@ -701,15 +694,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; @@ -727,49 +711,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
This merge request was approved by Jacek Caban. -- 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 | 5526 +++++++++++++++++----------------- dlls/opengl32/unix_wgl.c | 27 +- 4 files changed, 2785 insertions(+), 2784 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index f6babb688d1..9012f6c270e 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1940,16 +1940,28 @@ 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; + } 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 5f1c176e998..a339aa0f1ed 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -91951,2767 +91951,2767 @@ struct opengl_funcs null_opengl_funcs = const int extension_registry_size = 2763; const struct registry_entry extension_registry[2763] = { - { "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) }, - { "glDrawArraysInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedANGLE) }, - { "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) }, - { "glDrawElementsInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedANGLE) }, - { "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) }, - { "glGetTranslatedShaderSourceANGLE", "GL_ANGLE_translated_shader_source\0", offsetof(struct opengl_funcs, p_glGetTranslatedShaderSourceANGLE) }, - { "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) }, - { "glRenderbufferStorageMultisampleANGLE", "GL_ANGLE_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleANGLE) }, - { "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) }, - { "glVertexAttribDivisorANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisorANGLE) }, - { "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 }, + { "glDrawArraysInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedANGLE), 0, 0 }, + { "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 }, + { "glDrawElementsInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedANGLE), 0, 0 }, + { "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 }, + { "glGetTranslatedShaderSourceANGLE", "GL_ANGLE_translated_shader_source\0", offsetof(struct opengl_funcs, p_glGetTranslatedShaderSourceANGLE), 0, 0 }, + { "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 }, + { "glRenderbufferStorageMultisampleANGLE", "GL_ANGLE_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleANGLE), 0, 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 }, + { "glVertexAttribDivisorANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisorANGLE), 0, 0 }, + { "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 c14eb7c548c..668d06d8ba2 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -742,9 +742,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 @@ -753,30 +754,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; } @@ -939,7 +926,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 | 5526 +++++++++++++++++----------------- dlls/opengl32/unix_wgl.c | 23 +- 4 files changed, 2769 insertions(+), 2785 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 9012f6c270e..d21c19cfa58 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1961,7 +1961,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 a339aa0f1ed..64c238afce6 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -91951,2767 +91951,2767 @@ struct opengl_funcs null_opengl_funcs = const int extension_registry_size = 2763; const struct registry_entry extension_registry[2763] = { - { "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 }, - { "glDrawArraysInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawArraysInstancedANGLE), 0, 0 }, - { "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 }, - { "glDrawElementsInstancedANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glDrawElementsInstancedANGLE), 0, 0 }, - { "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 }, - { "glGetTranslatedShaderSourceANGLE", "GL_ANGLE_translated_shader_source\0", offsetof(struct opengl_funcs, p_glGetTranslatedShaderSourceANGLE), 0, 0 }, - { "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 }, - { "glRenderbufferStorageMultisampleANGLE", "GL_ANGLE_framebuffer_multisample\0", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleANGLE), 0, 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 }, - { "glVertexAttribDivisorANGLE", "GL_ANGLE_instanced_arrays\0", offsetof(struct opengl_funcs, p_glVertexAttribDivisorANGLE), 0, 0 }, - { "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 }}, + { "glDrawArraysInstancedANGLE", offsetof(struct opengl_funcs, p_glDrawArraysInstancedANGLE), 0, 0, { GL_ANGLE_instanced_arrays, 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 }}, + { "glDrawElementsInstancedANGLE", offsetof(struct opengl_funcs, p_glDrawElementsInstancedANGLE), 0, 0, { GL_ANGLE_instanced_arrays, 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 }}, + { "glGetTranslatedShaderSourceANGLE", offsetof(struct opengl_funcs, p_glGetTranslatedShaderSourceANGLE), 0, 0, { GL_ANGLE_translated_shader_source, 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 }}, + { "glRenderbufferStorageMultisampleANGLE", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleANGLE), 0, 0, { GL_ANGLE_framebuffer_multisample, 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 }}, + { "glVertexAttribDivisorANGLE", offsetof(struct opengl_funcs, p_glVertexAttribDivisorANGLE), 0, 0, { GL_ANGLE_instanced_arrays, 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 668d06d8ba2..b5862d61c00 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -686,14 +686,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; @@ -745,8 +737,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 @@ -758,15 +749,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; } @@ -928,7 +911,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 d21c19cfa58..a0f54d66eac 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -1927,14 +1927,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) { @@ -1965,5 +1958,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 64c238afce6..7f73cbb442d 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -91947,9 +91947,7 @@ struct opengl_funcs null_opengl_funcs = .p_glVertexPointer = null_glVertexPointer, .p_glViewport = null_glViewport, }; - -const int extension_registry_size = 2763; -const struct registry_entry extension_registry[2763] = +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 }}, @@ -94715,3 +94713,14 @@ const struct registry_entry extension_registry[2763] = { "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 b5862d61c00..54a8d82cfca 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -876,15 +876,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; @@ -898,7 +892,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 54a8d82cfca..a638b29bb91 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -898,17 +898,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 a638b29bb91..7cc6b6a8968 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -879,8 +879,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 @@ -904,20 +902,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. */ @@ -995,15 +979,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++) { @@ -1176,13 +1151,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++) { @@ -2075,37 +2043,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 | 94 +- dlls/opengl32/private.h | 12 +- dlls/opengl32/thunks.c | 2778 +++++++++++++++++++++++++++++++++ dlls/opengl32/unix_private.h | 12 - dlls/opengl32/unix_thunks.c | 2805 ---------------------------------- 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, 2852 insertions(+), 2939 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index a0f54d66eac..0ce9c5bb07c 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, @@ -1681,7 +1680,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"; @@ -1731,6 +1731,49 @@ 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; + } + 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; @@ -1925,49 +1968,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; - } - 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 73bd1da3496..bdd1c09c78c 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" @@ -27607,3 +27608,2780 @@ 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 }}, + { "glDrawArraysInstancedANGLE", glDrawArraysInstancedANGLE, 0, 0, { GL_ANGLE_instanced_arrays, 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 }}, + { "glDrawElementsInstancedANGLE", glDrawElementsInstancedANGLE, 0, 0, { GL_ANGLE_instanced_arrays, 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 }}, + { "glGetTranslatedShaderSourceANGLE", glGetTranslatedShaderSourceANGLE, 0, 0, { GL_ANGLE_translated_shader_source, 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 }}, + { "glRenderbufferStorageMultisampleANGLE", glRenderbufferStorageMultisampleANGLE, 0, 0, { GL_ANGLE_framebuffer_multisample, 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 }}, + { "glVertexAttribDivisorANGLE", glVertexAttribDivisorANGLE, 0, 0, { GL_ANGLE_instanced_arrays, 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 7f73cbb442d..f67021148d5 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; @@ -30599,7 +30592,6 @@ const unixlib_entry_t __wine_unix_call_funcs[] = wgl_wglCreateContext, wgl_wglDeleteContext, wgl_wglGetPixelFormat, - wgl_wglGetProcAddress, wgl_wglMakeCurrent, wgl_wglSetPixelFormat, wgl_wglShareLists, @@ -33771,19 +33763,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 @@ -87093,7 +87072,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, @@ -90221,11 +90199,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" ); @@ -91605,7 +91578,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, @@ -91947,2780 +91919,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 }}, - { "glDrawArraysInstancedANGLE", offsetof(struct opengl_funcs, p_glDrawArraysInstancedANGLE), 0, 0, { GL_ANGLE_instanced_arrays, 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 }}, - { "glDrawElementsInstancedANGLE", offsetof(struct opengl_funcs, p_glDrawElementsInstancedANGLE), 0, 0, { GL_ANGLE_instanced_arrays, 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 }}, - { "glGetTranslatedShaderSourceANGLE", offsetof(struct opengl_funcs, p_glGetTranslatedShaderSourceANGLE), 0, 0, { GL_ANGLE_translated_shader_source, 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 }}, - { "glRenderbufferStorageMultisampleANGLE", offsetof(struct opengl_funcs, p_glRenderbufferStorageMultisampleANGLE), 0, 0, { GL_ANGLE_framebuffer_multisample, 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 }}, - { "glVertexAttribDivisorANGLE", offsetof(struct opengl_funcs, p_glVertexAttribDivisorANGLE), 0, 0, { GL_ANGLE_instanced_arrays, 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 7cc6b6a8968..e8be95f920f 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -733,26 +733,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; @@ -876,38 +856,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 ea014928911..5bf0c7fee7d 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; @@ -25926,7 +25919,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
participants (3)
-
Jacek Caban -
Jacek Caban (@jacek) -
Rémi Bernon